Exchange 2007 ошибки генерации OAB (9348 и 9109)
На днях столкнулся с совершенно замечательным случаем неправильно выставленных разрешений.
История умалчивала как этого удалось достичь и в какой момент времени клиенты перестали загружать OAB.
Попробую произвести анализ и описать проделанные действия.
Симптомы:
1. В Application log присутствуют следующие ошибки:
Первая.
Event Type: Error Event Source: MSExchangeSA Event Category: OAL Generator Event ID: 9384 Date: 9/5/2020 Time: 4:12:21 PM User: N/A Computer: EXCH-01 Description: OALGen only supports alphanumeric and space characters on the offline address name. The offline address list is not going to be published. - //o=xxxxxx/cn=addrlists/cn=oabs/cn=Default Offline Address Book
и вторая
Event Type: Warning Event Source: MSExchangeSA Event Category: OAL Generator Event ID: 9109 Date: 9/5/2020 Time: 4:12:21 PM User: N/A Computer: EXCH-01 Description: OALGen encountered an error ffffffff (internal ID 50506c7) while generating address list '//o=xxxxxx/cn=addrlists/cn=oabs/cn=Default Offline Address Book'. Check other logged events to see if this is a serious error. - //o=xxxxxx/cn=addrlists/cn=oabs/cn=Default Offline Address Book
2. Клиенты не могут загрузить Offline Address Book по причине того что она не формируется.
Причины:
Процесс генерации OAB не завершался по причине того что разрешения на Default Global Address List были изменены и OALGEN выполняя запрос к Active Directory для поиска объекта msExchOAB, не мог его завершить.
Возвращаясь к теории вспомним что во время генерации OAB процесс System Attendant, читает legacyExchangeDN этого OAB, в данном случае это
/o=EXMAPLE/cn=addrlists/cn=oabs/cn=Default OAB
и затем преобразует его в GUID который будет использоваться, чтобы создать папку
UNC имя – \\EXCH-01\ExchangeOAB\{GUID}
Путь – c:\program files\Microsoft\Microsoft Exchange\ExchangeOAB\{GUID}
Но из-за проблемы с разрешениями этого не происходило.
Лечение:
Контейнер All Global Address List должен иметь следующие разрешения:
- SYSTEM разрешить
- Read
Write
Create All Child Objects
Delete All Child Objects
Open Address List - Authenticate Users разрешить
- Read
Open Address List
List Contents - Exchange Servers разрешить
- Read
Open Address List
Необходимые разрешения были восстановлены при помощи Powershell-скрипта:
$container = "CN=Default Global Address List,CN=All Global Address Lists,CN=Address Lists Container,CN=EXAMPLE,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=EXAMPLE,DC=COM"
# добавляем необходимые полномочия для учетной записи SYSTEM:
Add-ADPermission $container -User System -AccessRights GenericAll
# добавляем необходимые полномочия для группы Authenticated Users:
Add-ADPermission $container -User "Authenticated Users" -AccessRights GenericRead, ListChildren -ExtendedRights Open-Address-Book
# добавляем необходимые полномочия для группы Exchange Servers:
Add-ADPermission $container -User "Exchange Servers" -AccessRights GenericRead -ExtendedRights Open-Address-Book
Похожие статьи
Приглашаю присоединиться ко мне в следующих сервисах:
Вы можете оставить комментарий.