我正在尝试从一个特定的ou中删除所有主要组成员身份,以所有计算机帐户的名称开头。
我尝试使用AD提供程序浏览到OU,输入gci
并获取ou中所有计算机的列表,找到有效的ADPrincipalGroupMembership
。此外,使用get-adcomputer -searchbase <ou> -filter *
也可以。但我不能删除每台机器所属的每个组。
当我尝试使用remove-ADPrincipalGroupMembership
进行展开时,我要删除的群组的输入为system.string
,remove-ADPrincipalGroupMembership
将不接受。到目前为止我有这样的事情/
Get-ADComputer -SearchBase 'OU=blahblah' -Filter * |
Remove-ADPrincipalGroupMembership -MemberOf (Get-ADGroup -Filter 'name -like "17"')
我已经阅读了帮助和示例,但我找不到如何做到这一点。我不想放弃并只使用gui:)
谢谢
答案 0 :(得分:0)
你可以尝试这个...我无法测试它以确认它有效,但我认为应该。
$Comps = Get-ADComputer -SearchBase 'OU=blahblah' -Filter * -Prop MemberOf
Foreach ($Comp in $Comps)
{
$Groups = $Comp.MemberOf | ? {$_ -like "CN=17*"}
if ($Groups)
{
Remove-ADPrincipalGroupMembership -Identity $Comp -MemberOf $Groups -Whatif #-Confirm $False
}
}
假设它与-whatif语句一起使用,默认情况下我相信如果你确定每次移除可能会很麻烦,那么命令会提示你,这样你就可以取消注释-confirm $false
以避免这种情况。< / p>
此外,它假设每个组的可分辨名称将是
的行 CN=17groupA,OU=Computer Groups,OU=Computer,DC=TEST,DC=NET