Автоматичне підключення поштових скриньок в Outlook

В Exchange 2010 SP1 з'явилася нова функція під назвою Mailbox auto mapping (Автоматичне співставлення поштових скриньок). Сенс якої полягає в тому, що при наданні користувачеві повних прав доступу (Full Access) до будь-якого поштової скриньки в організації Exchange, після перезапуску Outlook у користувача такий ящик автоматично підключається як новий додатковий в профілі Outlook.

Сенс цієї функції - спрощення процедури підключення додаткових і загальних поштових скриньок. Завдяки Auto Mapping в Outlook користувачів повинні автоматично з'являтися все ящики інших користувачів і загальних поштових скриньок, до яких йому надано доступ. Працює ця функція на клієнтах Outlook 2007 і вище. Функціонал базується на спеціальному атрибуті msExchDelegateListLink, який містить список DN облікових записів, яким надано повний доступ до даного скриньки. Атрибут заповнюється при наданні доступу до ящика. Одночасно у користувача, якому надається доступ, оновлюється значення атрибута msExchDelegateListBL, в якому містяться список ящиків, які повинні підключатися автоматично при запуску Outlook.

Варто окремо відзначити, що Auto Mapping не працюватиме, якщо доступ до скриньки призначається через групу AD.

Функціонал Auto Mapping досить зручний, але в деяких випадках заважає нормальній роботі, наприклад, коли користувач не хоче обтяжувати конфігурацію Outlook і працювати тільки зі своїм ящиком Exchange. Крім того, підключення безлічі ящиків збільшує час завантаження Outlook і погіршує його продуктивність. Також часто виникає проблема, коли у користувача скасовують повні права на додатковий ящик, але він як і раніше продовжує відображатися в Outlook, а при спробі переглянути його вміст виводиться помилка прав доступу.

Всі ці проблеми вимагають можливості відключення автоматичного зіставлення ящиків для користувачів. Цей функціонал з'явився в Exchange 2010 SP2.

Щоб відключити Auto-Mapping певного ящика, можна вручну видалити відповідні дані в атрибутах msExchDelegateListLink і msExchDelegateListBL за допомогою консолі ADSIEdit.msc, але це не дуже зручно. Набагато простіше скористатися Командлети PowerShell.

Наприклад, щоб однією командою надати користувачеві User1 повний доступ до ящика SharedMBX і відключити Auto Mapping:

Add-MailboxPermission -Identity SharedMBX -User 'User1' -AccessRight FullAccess -InheritanceType All -Automapping $ false

Якщо права вже призначені, доведеться спочатку їх забрати, а потім перепризначити заново:

Remove-MailboxPermission -Identity SharedMBX -User 'User1' -AccessRight FullAccess -InheritanceType All
Add-MailboxPermission -Identity SharedMBX -User1 '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