2017-02-22 51 views
0

Мы должны перейти на Microsoft Azure и с тех пор, как Azure управляем группами AD в Exchange. Мне нужно получить членов группы spezifc, а затем добавить их для обмена. Поэтому я думал, что смогу добиться этого с помощью powershell.Заменить группу AD в Exchange с пользователями в этой группе AD

Princip:

У меня есть имя почтового ящика и группы, которая должна быть извлечена в CSV-файл, например так:

Mailbox1 GroupForMailbox1

Mailbox2 GroupForMailbox2

Mailbox2 GroupForMailbox2

Я знаю, как извлечь всех пользователей из группы:

Get-ADGroupMember -identity "GroupForMailbox1" -Recursive 

Но проблема в том, что в этой группе есть группа, которую я не хочу вытаскивать из нее. Позвольте мне называть это «ExcludedGroup». Как я могу получить всех членов группы AD, за исключением групп «ExcludedGroup»?

Тогда я должен поставить эти члены AD для конкретного почтового ящика:

$Users= "Users that I've got out of the upper command" 

foreach ($Users){ 

Add-MailboxPermission -Identity "Mailbox1" -User $Users Accessright Fullaccess -InheritanceType all 
} 

Но я не могу уместить всё об этом в одном скрипте из-за недостатка знаний.

И я не могу найти что-то в Интернете, хотя это настоящая проблема с лазурной.

Я думал, что кто-то там может помочь мне.

ответ

1

Что-то вроде этого?

#Sample data 
$csv = @" 
Mailbox,GroupName 
Mailbox1,GroupForMailbox1 
Mailbox2,GroupForMailbox2 
Mailbox2,GroupForMailbox2 
"@ | ConvertFrom-Csv 

#Uncomment to import file 
#$csv = Import-CSV -Path MyInputFile.csv 

$ExcludedUsers = Get-ADGroupMember -Identity "ExcludedGroup" -Recursive | Select-Object -ExpandProperty SamAccountName 

$csv | ForEach-Object { 
    $mailbox = $_.Mailbox 

    #Get members for group 
    Get-ADGroupMember -Identity $_.GroupName -Recursive | 
    #Remove unwanted users and keep only user objects (remove groups, computers etc.) 
    Where-Object { ($ExcludedUsers -notcontains $_.SamAccountName) -and ($_.objectclass -eq 'user') } | 
    ForEach-Object { 
     #Grant each group member permission 
     Add-MailboxPermission -Identity $mailbox -User $_.SamAccountName -AccessRights FullAccess -InheritanceType All 
    } 
} 
+0

Работает идеально! Спасибо, что поделились этим скриптом :) –

 Смежные вопросы

  • Нет связанных вопросов^_^