Функция Mailbox Auto-Mapping (автоматическое подключение почтовых ящиков) в on-premises Exchange Server и Exchange Online (Microsoft 365) позволяет автоматически подключить в профиль Outlook общие ящики, на которых пользователю предоставлены полные права доступа (Full Access).
Это удобно, т.к. пользователю не нужно подключать дополнительные ящики в Outlook вручную. Но есть и другая проблема – пользователь сам не может удалить в Outlook ящики, подключенные через auto-mapping. И через авто монтирование можно подключить не более 10 ящиков (ограничение Outlook).
Функция автоматического монтирования общих ящиков основана на двух multivalue атрибутах пользователей в Active Directory:
- msExchDelegateListLink – атрибут общего ящика. Содержит список Distinguished Name учетных записей, которым дан полный доступ к данному ящику;
- msExchDelegateListBL – атрибут пользователя. Содержит список учетных записей (ящиков), на который у данного пользователя есть права доступа.
Когда вы предоставляете полные права на ящик в Exchange (с помощью командлета Add-MailboxPermission или из Exchange Admin Center), эти атрибуты автоматически обновляются как у пользователя, так и у ящика. Outlook при запуске получает список дополнительных ящиков, которые нужно подключить, через AutoDiscover атрибут AlternateMailbox
Вы можете получить значения этих атрибутов в редакторе атрибутов пользователей в консоли ADUC или с помощью командлета Get-ADUser.
Вывести список общих ящиков, подключаемых у пользователя:
Get-ADUser kbuldogov -Properties msExchDelegateListBL | Select -ExpandProperty msExchDelegateListBL
Вывести список пользователей общего ящика, у которых он подключается автоматически:
Get-ADUser finance-mailbox -Properties msExchDelegateListLink | Select -ExpandProperty msExchDelegateListLink
Set-ADUser -Identity kbuldogov -Add @{msExchDelegateListLink/BL=finance-mailbox}
При попытке удалить общий ящик, подключенный через AutoMapping появится ошибка:
This group of folders is associated with an e-mail account. To remove the account, click the File Tab, and on the Info tab, click Account Settings. Select the e-mail account, and then click Remove.
Эти ящики также не отображаются в настройках профиля Outlook на вкладке Advanced -> Additional Mailboxes. Чтобы удалить такой ящик в Outlook, придется отключить Automapping с помощью PowerShell.
Вы можете отключить Auto-Mapping для определенного общего ящика в Exchange с помощью PowerShell. Подключитесь к своему on-prem Exchange Server с помощью EMS или удаленно из консоли PowerShell:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://msk-exch1.winitpro.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential
Import-PSSession $Session
Чтобы предоставить пользователю User полный доступ на ящик и одновременно запретить автоматически подключать ящик через Auto Mapping:
Add-MailboxPermission -Identity SharedMBX -User User1 -AccessRight FullAccess -InheritanceType All -Automapping $false
Данный командлет очищает ссылки на ящик в атрибутах msExchDelegateListBL и msExchDelegateListLink.
Если права уже назначены, придется сначала их забрать, а потом переназначить заново:
Remove-MailboxPermission -Identity SharedMBX -User User1 -AccessRight FullAccess -InheritanceType All
Add-MailboxPermission -Identity SharedMBX -User User1 -AccessRight FullAccess -InheritanceType All -Automapping $false
Следующий скрипт позволяет для конкретного общего ящика отключить Automapping для всех пользователей, которым предоставлен доступ:
$FixAutoMapping = Get-MailboxPermission sharedmailbox |where {$_.AccessRights -eq “FullAccess” -and $_.IsInherited -eq $false}
$FixAutoMapping | Remove-MailboxPermission
$FixAutoMapping | ForEach {Add-MailboxPermission -Identity $_.Identity -User $_.User -AccessRights:FullAccess -AutoMapping $false}
В Exchange Online (Microsoft 365) вы также можете включить/отключить автоматическое подключение общих ящиков с помощью PowerShell командлета Add-MailboxPermission.
Подключитесь к своему тенанту с помощью PowerShell модуля EXOv2:
Connect-ExchangeOnline
Чтобы предоставить пользователю права на общий ящик Microsoft 365 и одновременно запретить автоматически подключать этот ящик в Outlook:
Add-MailboxPermission -Identity [email protected] -User [email protected] -AccessRights FullAccess -AutoMapping:$false
Соответственно, если нужно разрешить авто-подключение ящика в Outlook, используйте параметр
-AutoMapping:$True
.
В Microsoft 365 можно очистить атрибут AutoMapping такой командой:
Remove-MailboxPermission shared -ClearAutoMapping -Confirm:$false
Информация в статье может и не очень свежая, но вот захотелось для себя инструкции сохранить, чтобы каждый раз не искать.
>> Стоит отдельно отметить, что Auto Mapping не будет работать, если доступ к ящику назначается через группу AD.
А не поделитесь, откуда об этом информацию взяли? На практике так и получается, поэтому интересно, как это MS объясняет.
Инфа из практики — пруфа найти не удалось. Вот не работает automapping с группами безопасности и все тут 🙂
Вот это новость.
Зачем так сделали ? Нормально было, доступ дал , если надо подключил, отключил доступ не снимаешь.
Теперь лезь, снимай или добавляй.
А как можно получить список ПЯ которые подмапленные (через Full access) для конкретного юзера ??
msExchDelegateListBL в ADSI
Add-MailboxPermission -Identity SharedMBX -User1 ‘User1’ -AccessRight FullAccess -InheritanceType All -Automapping $false
еденица лишняя вроде.
Add-MailboxPermission -Identity SharedMBX -User ‘User1’ -AccessRight FullAccess -InheritanceType All -Automapping $false
Да, пофиксил
Анатолич, точки забыл после $_ в последнем скрипте ($FixAutoMapping=)
бувает…
Добрый день. Есть в локалке почтовый hmailserver , у пользователей почтовые клиенты outlook c адресной книгой из LDAP на серваке. Надо создать всем примерно 130 пользователям группы пользователей «Все» для рассылок. Один раз создать и добавить ещё можно, а вот как синхронизировать эту группу с адресной книгой LDAP постоянно чтобы при добавлении новых или удалении уволенных группа менялась автоматом? Руками делать это не вариант совсем. Может макрос какой нибудь есть? Кто-нибудь вообще сталкивался с подобной темой?
А ваш hmailserver не умеет вести свои группы рассыли напрямую в AD?
там по группам и есть, но outlook читает просто всех подряд, вроде где то писали, что в самом клиенте надо
править реестр.
Всем доброго времени! Подскажите пожалуйста, случилась проблема, что нет возможности подключаться к делегированному почтовому ящику. Т.Е например в OWA нажимаешь «Открыть другой почтовый ящик» вставляешь туда ящик, к которому надо подключиться, и вываливается ошибка «Не удаётся подключиться. Повторите попытку позже», все права назначены. Если кто-то сталкивался, просьба подсказать.
Необходимо удалить права на ящик и после снова предоставить.
Remove-MailboxPermission -Identity [email protected] -User [email protected] -AccessRights FullAccess
Add-MailboxPermission -Identity [email protected] -User [email protected] -AccessRights FullAccess
Здоровья.
Удалось ли найти способ автомонтирования при условии, что делегация полного доступа сделана на группу, а не на юзера? Очень нужная тема.
Так не работает к сожалению. В атрибуте msExchDelegateLinkList могут быть только mail объекты, но не группы.
Судя по самому принципу и не будет никогда работать (2024год-не робит)
даже если при назначении прав exchange бы брал членов группы и «поштучно» их прописывал в AD, то при изменении членов группы в AD, ничего бы не произошло на exch.
как мне кажется только пилить «костыль»
-либо по планировщику запускать скрипт (берет членов групп — чистит права — дает права)
-либо в технологию работы с группами для shared mailbox вводить правило по организации, что для изменения членства используется не ADUC /EAC, а скрипт