0
ADの特定のOU内の1つ以上のグループのメンバである無効なユーザーを検索するスクリプトを作成しようとしています。その後、すべての無効なユーザーのグループが削除されます。しかし、私は名前のリストを除いて、ユーザーのリストを生成したい。特定の無効なユーザーのグループを削除したくないと言います。無効になっているユーザーからグループのメンバシップを削除する
$SearchBase = "OU=Disabled Users,DC=contoso,DC=com"
$Users = Get-ADUser -filter * -SearchBase $SearchBase -Properties MemberOf
$ExcludeUsers [email protected]("SM_82786dfdc96642ed9","SM_516a93b689334db1a")
$Users = $Users | where-Object { $ExcludeUsers -notcontains $_.samaccountname }
ForEach($User in $Users){
$User.MemberOf | Remove-ADGroupMember -Member $User -Confirm:$false
}
エラー:
Remove-ADGroupMember : Cannot validate argument on parameter 'Identity'. The argument is null. Provide a valid value for the argument, and then try running the command again.
At line:3 char:22
+ $User.MemberOf | Remove-ADGroupMember -Member $User -Confirm:$false
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Remove-ADGroupMember], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.RemoveADGroupMember
私はそれを試しましたが運は何も起こりません。 – Arbelac
何も起こりませんか?だからもうエラーはない? 'Remove-ADGroupMember'は結果を出力しません...(' Get-ADUser'またはADコンソールを使って '$ user.memberof'に古い値が残っています) –
ユーザーを確認しました。私はまだユーザーのグループメンバーを見ることができます – Arbelac