0
腳本應刪除其所有Groupmemberchips(包括forestdomain和其他子域中的成員身份)的ADUser,將其停用並將其移入另一個OU。powershell刪除其他子域的aduser組成員芯片
環境:
forest-domain: forest.com
child-domains: child1.forest.com
child2.forest.com
child3.forest.com
腳本在運行child1.forest.com
這是腳本至今:
$username="testuser"
$groups=Get-ADPrincipalGroupMembership -Identity $username | where {$_.name -notlike "Domain Users"}
$getuser=Get-ADUser -Identity $username | select DistinguishedName
$userpath=$getuser.DistinguishedName
foreach ($group in $groups) {
Remove-ADGroupMember -Identity $group -member $username -Confirm:$false
}
Disable-ADAccount -Identity $username
Move-ADObject "$userpath" -TargetPath "OU=Deaktivierte Benutzer,DC=child1,DC=forest,DC=com"
實際上它全成會刪除child1的所有組memberchips .forest.com但不是forest.com或child2.forest.com
This c Ode正在正常工作:
$User=Get-ADUser "testuser" -server "child1.forest.com"
$Group=Get-ADGroup "SomeGroup" -server "forest.com"
Remove-ADGroupMember $Group -Members $user -server "forest.com" -Confirm:$false
我試圖合併這些腳本片段,但尚未成功。 我有一個想法...讀取OU的域,並將其傳遞到循環,但我沒有得到它的工作,以我可以使用它的方式讀取OU。
有人可以幫忙嗎?
使用'GET-ADGroup'在'刪除,ADGroupMember'環和驗證你能夠拿起自己的遠程組。這部分應該工作。不要使用'$ username'作爲成員標識符,它在整個森林中不是唯一的,而是使用'$ userpath'。 –
你好克里斯,非常感謝你的回覆!這就是我想要做的。我如何查詢AD組的服務器名稱?這部分我不明白。 –
你不一定需要。如果一切都在同一個森林中,您可以在一定程度上依靠一個域控制器將您引向另一個域控制器。如果Get-ADGroup適用於遠程域中的組,則還應該能夠使用Remove-ADGroupMember。 –