需求:web
用戶因HR自動化項目上線,每日會批量更新域用戶屬性;爲防止開發人員出問題後沒法及時回滾用戶屬性相關信息,按照需求在HR計劃任務同步前1小時對域用戶屬性按日期命名作導出操做。app
步驟:ide
1.與研發溝通同步屬性字段,確認後臺對應域用戶屬性字段;post
2.編寫測試域導出用戶屬性腳本內容;測試
3.設置計劃任務;ui
腳本內容:spa
$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
註解:code
按當前導出時間設置文件名稱:orm
方法一:
$Ubakdate = "{0:yyyyMMdd}" -f (Get-Date)$Filename = $Ubakdate + "-Usersattbak.csv"
方法二:
$Ubakdate = "{0:yyyyMMdd}" -f (Get-Date)$Filename = $Ubakdate + '-' + "Usersattbak.csv"
設置計劃任務:
排序
1.建立任務計劃程序:
2.設置觸發器,天天21:00執行一次:
3.設置觸發操做:
4.點擊肯定,在彈窗中輸入對應帳戶密碼:
5.完成計劃任務設置。
補充:PowerShell日期格式化選項註解:
符號 | 類型 | 調用示例 | 輸出 |
d | 短日期格式 | 「{0:d}」 –f $value | 2019/9/3 |
D | 長日期格式 | 「{0:D}」 –f $value | 2019年9月3日 |
t | 短期格式 | 「{0:t}」 –f $value | 「{0:t}」 –f $value |
T | 長時間格式 | 「{0:T}」 –f $value | 18:18:50 |
f | 完整日期和時間(短) | 「{0:f}」 –f $value | 2019年9月3日 18:18 |
F | 完整日期和時間(長) | 「{0:F}」 –f $value | 2019年9月3日 18:18:50 |
g | 標準時間 (短) | 「{0:g}」 –f $value | 2019/9/3 18:18 |
G | 標準時間長 (長) | 「{0:G}」 –f $value | 2019/9/3 18:18 |
M | 月日格式 | 「{0:M}」 –f $value | 9月3日 |
r | RFC1123 日期格式 | 「{0:r}」 –f $value | Tue, 03 September 2019 18:18:50 GMT |
s | 排序日期格式 | 「{0:s}」 –f $value | 2019-09-03T18:18:50 |
u | 通用日期格式 | 「{0:u}」 –f $value | 2019-09-03 18:18:50Z |
U | 通用排序日期 GMT格式 | 「{0:U}」 –f $value | 2019年9月3日 15:18:50 |
Y | 年/月格式模式 | 「{0:Y}」 –f $value | 2019年9月 |
自定義日期格式 | |||
dd | 一個月中天 | 「{0:dd}」 -f $value | 1 |
ddd | 星期的縮寫 | 「{0:ddd}」 -f $value | 週六 |
dddd | 完整星期 | 「{0:dddd}」 -f $value | 星期六 |
gg | 紀年法 | 「{0:gg}」 -f $value | 公元 |
hh | 小時0-12 | 「{0:hh}」 -f $value | 11 |
HH | 小時0-23 | 「{0:HH}」 -f $value | 23 |
mm | 分鐘 | 「{0:mm}」 -f $value | 18 |
MM | 月份 | 「{0:MM}」 -f $value | 6 |
MMM | 月份縮寫 | 「{0:MMM}」 -f $value | 六月 |
MMMM | 完整月份 | 「{0:MMMM}」 -f $value | 六月 |
ss | 秒 | 「{0:ss}」 -f $value | 55 |
tt | 上午或者下午 | 「{0:tt}」 -f $value | 下午 |
yy | 兩位數字的年份 | 「{0:yy}」 -f $value | 13 |
yyyy | 四位數字的年份 | 「{0:yyyy}」 -f $value | 2019 |
zz | 不包含分鐘的時區 | 「{0:zz}」 -f $value | 8 |
zzz | 包含分鐘的時區 | 「{0:zzz}」 -f $value | +08:00 |