在 Active Directory 中,如何有效地从 GroupA 中删除属于 GroupB 的所有用户?基本上,我想从 A 中减去 B。
現在有:
AAA BBB
--- ---
Alice Alice
Charlene Bruce
Chuck Chuck
期望:
AAA BBB
--- ---
Alice
Charlene Bruce
Chuck
我目前有 csv 格式的用户列表,但如果需要的话,可以快速重新组织为其他内容:
logon, group
alice, AAA
alice, BBB
bruce, BBB
...
我不是 AD 管理员,只是对这些组具有写权限的用户。
答案1
Powershell Active Directory Web 服务。默认情况下,所有域控制器 2008 R2 或更高版本均随附。
# This foreach loop enumerates through all members of the AAA group.
Foreach ($Usr In Get-ADGroupMember -Identity 'CN=AAA,CN=Users,DC=Contoso,DC=com')
{
# If the 'MemberOf' array of $Usr's group memberships contains 'BBB', then...
If ((Get-ADUser $Usr.SamAccountName -Properties MemberOf).MemberOf -Contains 'CN=BBB,CN=Users,DC=contoso,DC=com')
{
# Remove that user from 'AAA'.
Remove-ADGroupMember -Identity 'AAA' -Members $Usr.SamAccountName
}
}
这将删除组“AAA”中所有同时属于组“BBB”的成员。无需 CSV。
如果您使用的 Powershell 3 版本以下,请Import-Module ActiveDirectory
在开始使用 AD cmdlet 之前使用。