スクリプトは、すべての Groupmemberchips (フォレスト ドメインおよび他の子ドメインのメンバーシップを含む) の ADUser を削除し、非アクティブ化して、別の OU に移動する必要があります。
環境:
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.forest.com のすべてのグループ メンバーチップが正常に削除されますが、forest.com または child2.forest.com は削除されません。
このコードは正しく機能しています:
$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を読み取ってもうまくいきません。
誰か助けてくれませんか?