2017-02-13 2 views
-1

У меня есть две группы; группе A и группе B. Если пользователь является частью группы B, я хочу удалить их из группы A. Это происходит потому, что группы являются взаимоисключающими.Удалить пользователя из группы А, если они являются членами группы B

Я нашел несколько скриптов, которые удалят пользователя из группы, но не при условии, что пользователь является частью другой группы.

Может кто-нибудь помочь?

+0

Что вам удалось сделать так далеко? Поскольку AD не поддерживает взаимоисключающие группы, вы можете явно запретить доступ A к B и наоборот. Таким образом, если какой-либо пользователь принадлежит A и B, он/она ничего не может сделать. Это облегчает обнаружение дубликатов членства. – vonPryz

ответ

0

Попробуйте это:

$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 
} 
0

Это будет цикл по всем членам группы В и (если они являются членами) удалить их из группы А.

# 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 
    } 
} 
Смежные вопросы