0

スクリプトは、すべての 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を読み取ってもうまくいきません。

誰か助けてくれませんか?

4

1 に答える 1