需求:

用户因HR自动化项目上线,每日会批量更新域用户属性;为防止开发人员出问题后无法及时回滚用户属性相关信息,按照需求在HR计划任务同步前1小时对域用户属性按日期命名做导出操作。

步骤:

1.与研发沟通同步属性字段,确认后台对应域用户属性字段;

2.编写测试域导出用户属性脚本内容;

3.设置计划任务;

脚本内容:

$Ubakdate = "{0:yyyyMMdd}" -f (Get-Date)
$Filename = $Ubakdate + "-Usersattbak.csv"
Get-ADUser -Filter * -Properties * -SearchBase "OU=Staff,DC=azureyun,DC=com" |Select-Object name,SamAccountName,Givenname,surname,Displayname,title,mobile,Created,Department,DistinguishedName,description,manager,
physicalDeliveryOfficeName,streetAddress,EmailAddress,homeMDB,mail,mailNickname,MemberOf,PrimaryGroup,proxyAddresses,UserPrincipalName,whenCreated,whenChanged,
employeeNumber,postalCode,company |Export-Csv D:\UserBak\$Filename  -Encoding UTF8 -NoTypeInformation

注解:

按当前导出时间设置文件名称:

方法一:
$Ubakdate = "{0:yyyyMMdd}" -f (Get-Date)$Filename = $Ubakdate + "-Usersattbak.csv"
方法二:
$Ubakdate = "{0:yyyyMMdd}" -f (Get-Date)$Filename = $Ubakdate + '-' + "Usersattbak.csv"

设置计划任务:

1.创建任务计划程序:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

2.设置触发器,每天21:00执行一次:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

3.设置触发操作:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

4.点击确定,在弹窗中输入对应账户密码:

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

5.完成计划任务设置。

640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1



补充:PowerShell日期格式化选项注解:

符号类型调用示例输出
d短日期格式“{0:d}” –f $value2019/9/3
D长日期格式“{0:D}” –f $value2019年9月3日
t短时间格式“{0:t}” –f $value“{0:t}”  –f $value
T长时间格式“{0:T}” –f $value18:18:50
f完整日期和时间(短)“{0:f}” –f $value2019年9月3日  18:18
F完整日期和时间(长)“{0:F}” –f $value2019年9月3日  18:18:50
g标准时间 (短)“{0:g}” –f $value2019/9/3  18:18
G标准时间长 (长)“{0:G}” –f $value2019/9/3  18:18
M月日格式“{0:M}” –f $value9月3日
rRFC1123 日期格式“{0:r}” –f $valueTue, 03  September 2019 18:18:50 GMT
s排序日期格式“{0:s}” –f $value2019-09-03T18:18:50
u通用日期格式“{0:u}” –f $value2019-09-03  18:18:50Z
U通用排序日期 GMT格式“{0:U}” –f $value2019年9月3日  15:18:50
Y年/月格式模式“{0:Y}” –f $value2019年9月

自定义日期格式

dd一个月中天“{0:dd}” -f $value1
ddd星期的缩写“{0:ddd}” -f $value周六
dddd完整星期“{0:dddd}” -f $value星期六
gg纪年法“{0:gg}” -f $value公元
hh小时0-12“{0:hh}” -f $value11
HH小时0-23“{0:HH}” -f $value23
mm分钟“{0:mm}” -f $value18
MM月份“{0:MM}” -f $value6
MMM月份缩写“{0:MMM}” -f $value六月
MMMM完整月份“{0:MMMM}” -f $value六月
ss“{0:ss}” -f $value55
tt上午或者下午“{0:tt}” -f $value下午
yy两位数字的年份“{0:yy}” -f $value13
yyyy四位数字的年份“{0:yyyy}” -f $value2019
zz不包含分钟的时区“{0:zz}” -f $value8
zzz包含分钟的时区“{0:zzz}”  -f $value+08:00


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1