powershell類似於linux的shell,可做自動化的工作,有了powershell可以不再手動在圖形化介面(GUI)做一連串的修改,透過powershell script即可輕鬆完成
對於是powershell的新手而言,若碰過linux的bash shell會覺得容易上手,因為就是shell script的概念而已
喔對了,powershell不分大小寫喔~~~~
首先,針對想要更新的AD帳號整理成一份csv檔,格式大約如下:
name,sam,department,phone,office
豔陽天,sunny,系統管理科,1234,MIS
多雲天,cloudy,程式設計科,5578,MIS
Target: 更新department,phone,office資訊
Import-Module ActiveDirectory
$data = Import-Csv -Path C:\test\test.csv
#更新AD屬性
foreach ($user in $data){
Get-ADUser -Filter "SamAccountName -eq '$($user.name)'" | Set-ADUser -Replace @{
department = $($user.department);
telephonenumber = $($user.phone);
physicalDeliveryOfficeName = $($user.office);
}
}
取得當下時間,使用get-date
Get-Date -Format o | Out-File C:\test\updateAD.txt -Append
#After Resetting AD,產出txt檔
foreach ($user in $data){
$user = Get-ADUser -Filter "SamAccountName -eq '$($user.name)'" -Properties * | select name,samAccountname,department,physicaldeliveryofficename,telephonenumber
Write-Output $user|Out-File C:\test\updateAD.txt -Append
}
以下是txt檔的內容
2017-08-11T14:23:10.4828042+08:00
name : 艷陽天
samAccountname : sunny
department : 系統管理科
physicaldeliveryofficename : MIS
telephonenumber : 1234
name : 多雲天
samAccountname : cloudy
department : 程式設計科
physicaldeliveryofficename : MIS
telephonenumber : 5678
打完收工^^