ActiveDirectory之日常常用PS命令

前言

突然想到了寫這個而已,雖然我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

wKiom1Y8CKWxjVo4AAFQXuAwSZM380.jpg

說明:

a. 會導出到當前目錄,也可以在Export-Csv後跟 -Path指定路徑。

b. 可以對結果進行Sort-Object排序

2. 查詢指定OU的位置信息(OU太多,人員異動的時候老是記不住目標位置)

Get-ADOrganizationalUnit -Filter {name -eq "OUname"}

wKiom1Y8DPHjiRRDAAGz10JNuUc140.jpg

3. 清除/添加 OU/User/計算機對象的防意外刪除(場景爲想處理一些對象的時候沒權限,需要去掉這個屬性)

Set-ADObject -ProtectedFromAccidentalDeletion $false/true

wKiom1Y8DlqCb8aaAAKmf5EvB2I086.jpg

4. 設置所有用戶(指定OU的所有用戶/csv列表用戶)密碼永不過期(或取消永不過期)

Set-ADUser -PasswordNeverExpires $false/false

wKiom1Y8DziByO5fAAFuOG2-avY356.jpg

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"

wKioL1Y8EcOgmE79AALSKYV1k1Y321.jpg

6. 查詢所有超過90天未登錄的計算機對象(新環境,無數據,方式與查看用戶相同,只是時間表達方式不一樣,後面用-gt來查詢90天內登錄過的計算機對象)

wKioL1Y8EtTTM_x_AAI9SleZq9Y170.jpg

 

總結

先更新到這裏了,這些都是我日常使用的,主要是用來做批量的處理,而且這些參數可以更加精確,後續有時間再詳細討論了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章