Извлечь пользователей из группы AD и добавить их в почтовый ящик

Я хочу создать сценарий powershell для извлечения группы AD и добавления участников в определенный почтовый ящик. В этой группе есть группа, которую я не хочу извлекать (doNotExtract). Это то, что у меня есть до сих пор:

Import-Module ActiveDirectory
$csv = @"
Mailbox,GroupName
Mailbox1,Group1
"@ | ConvertFrom-Csv

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

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

    Get-ADGroupMember -Identity $_.GroupName -Recursive |

    Where-Object { ($ExcludedUsers -notcontains $_.SamAccountName) -and ($_.objectclass -eq 'user') } |
    ForEach-Object {
        Add-MailboxPermission -Identity $mailbox -User $_.SamAccountName -AccessRights FullAccess -InheritanceType All
    }
}

В группу AD входят следующие объекты:

doNotExtract
User1
User2

Затем я запускаю сценарий в оболочке управления обменом. Но тогда он добавляет только User1, а User2 не получает полного доступа к Mailbox1.

И я не могу найти проблему в скрипте...


person Gaterde    schedule 03.03.2017    source источник
comment
явно user2 находится в группе donotextract?   -  person 4c74356b41    schedule 03.03.2017
comment
нет, user2 находится непосредственно в Group1   -  person Gaterde    schedule 03.03.2017
comment
а также в группе доноэкстракт   -  person 4c74356b41    schedule 03.03.2017
comment
Мммм, иногда мне нужно просто сделать перерыв и посмотреть еще раз :3 Как вы сказали, User2 ЕСТЬ в группе doNotExtract. Спасибо!   -  person Gaterde    schedule 03.03.2017


Ответы (3)


В данном случае ошибка заключалась в том, что User2 также был в группе donotextract.

person 4c74356b41    schedule 03.03.2017

Как @ 4c74356b41 упомянул, что User2 был в группе «doNotExtract». Затем он не добавляет его в почтовый ящик, потому что эта группа исключена.

person Gaterde    schedule 03.03.2017

Я столкнулся с тем, что с Exchange Online использование SamAccountName не всегда работает гладко. Вы пытались использовать UserPrincipalName в качестве входных данных для Add-MailboxPermission вместо SamAccountName?

Мне также было интересно, почему вы извлекаете членов группы AD и даете им полный доступ к почтовому ящику? Почему бы вместо этого не дать самой группе AD полный доступ к почтовому ящику?

person Community    schedule 03.03.2017
comment
потому что он не хочет, чтобы группа внутри этой группы имела доступ?? - person 4c74356b41; 03.03.2017
comment
Azure не может импортировать группы объявлений... Поэтому, когда я хочу перенести exchange на azure, я должен сделать это таким образом :( Но спасибо за совет. Я попробую :) - person Gaterde; 03.03.2017