Powershell 如果用户是组B的成员,则将其从组A中删除

Powershell 如果用户是组B的成员,则将其从组A中删除,powershell,active-directory,Powershell,Active Directory,我有两个小组;组A和组B。如果用户是组B的一部分,则我希望将其从组A中删除。这是因为组是互斥的 我发现一些脚本可以将用户从一个组中删除,但前提是该用户不是另一个组的一部分 有人能帮忙吗?试试这个: $user = "TestUser" $groupA = Get-ADGroupMember -Identity "Group A" -Recursive | Select -ExpandProperty Name $groupB = Get-ADGroupMember -Identity "Gro

我有两个小组;组A和组B。如果用户是组B的一部分,则我希望将其从组A中删除。这是因为组是互斥的

我发现一些脚本可以将用户从一个组中删除,但前提是该用户不是另一个组的一部分

有人能帮忙吗?

试试这个:

$user = "TestUser"

$groupA = Get-ADGroupMember -Identity "Group A" -Recursive | Select -ExpandProperty Name
$groupB = Get-ADGroupMember -Identity "Group B" -Recursive | Select -ExpandProperty Name

If (($groupA -contains $user) -and ($groupB -contains $user)) {
      Write-Host "$user is a member of groupA and groupB"
      Remove-ADGroupMember -Identity "Group B" -Member $user
 } 

这将遍历组B的所有成员,并(如果他们是成员)将他们从组a中删除

# Get all members of the GroupB.
Foreach ($User In Get-ADGroupMember -Identity "Group B")
{
    # If they are a 'MemberOf' GroupA
    If ((Get-ADUser $User.SamAccountName -Properties MemberOf).MemberOf -Contains "Group A")
    {
        # Remove that user from GroupA
        Remove-ADGroupMember -Identity "Group A" -Members $User.SamAccountName
    }
}