前言
突然想到了寫這個而已,雖然我ps不熟,但日常還是會遇到一些需求,使用ps可以省很多事,此文持續更新,來記錄我日常操作AD的一些Ps命令
正文
所有AD操作記得加載AD模塊-Import-Module ActiveDirectory
1. 使用ps導出指定組的成員信息
Get-ADGroup -Filter {name -eq “groupname”} | Get-ADGroupMember | Get-ADUser -Properties * -ErrorAction SilentlyContinue | select Name,SamAccountName,Canonicalname,Company,mail | Export-Csv filename -NoTypeInformation -Encoding UTF8
說明:
a. 會導出到當前目錄,也可以在Export-Csv後跟 -Path指定路徑。
b. 可以對結果進行Sort-Object排序
2. 查詢指定OU的位置信息(OU太多,人員異動的時候老是記不住目標位置)
Get-ADOrganizationalUnit -Filter {name -eq "OUname"}
3. 清除/添加 OU/User/計算機對象的防意外刪除(場景爲想處理一些對象的時候沒權限,需要去掉這個屬性)
Set-ADObject -ProtectedFromAccidentalDeletion $false/true
4. 設置所有用戶(指定OU的所有用戶/csv列表用戶)密碼永不過期(或取消永不過期)
Set-ADUser -PasswordNeverExpires $false/false
5. 查詢所有超過90天未登錄的用戶(新環境,無數據,後面用-gt來查詢90天內登錄過用戶,可以使用 | select來選擇自己需要的數據,LastlogonTimeStamp時間最大可能有14天的偏差)
$lastlogon = (Get-Date).addDays(-90).ToFileTime()
Get-ADUser -Filter {lastlogontimestamp -lt $lastlogon} -SearchBase "OU=test01,DC=dztest,dc=com"
6. 查詢所有超過90天未登錄的計算機對象(新環境,無數據,方式與查看用戶相同,只是時間表達方式不一樣,後面用-gt來查詢90天內登錄過的計算機對象)
總結
先更新到這裏了,這些都是我日常使用的,主要是用來做批量的處理,而且這些參數可以更加精確,後續有時間再詳細討論了