簡體   English   中英

從被禁用的用戶中刪除組成員身份

[英]Remove group memberships from users who are disabled

我正在嘗試編寫腳本來查找在AD中特定OU中一個或多個組的成員的禁用用戶。 然后它將刪除所有禁用用戶的所有組。 但是我想生成一個用戶列表,除了名稱列表。 可以說我不想刪除某些特定的禁用用戶的組。

$SearchBase = "OU=Disabled Users,DC=contoso,DC=com"
$Users = Get-ADUser -filter * -SearchBase $SearchBase -Properties MemberOf
$ExcludeUsers =@("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

似乎您找到了一個沒有任何組的用戶(“域用戶”不是memberof一部分)。 使用諸如Where-Object類的東西來過濾空對象。 例如:

$User.MemberOf | Where-Object { $_ } | Remove-ADGroupMember -Member $User -Confirm:$false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM