Freigeben über


Устранение перезапуска клиентов Outlook после перемещения почтовых ящиков

История

Раньше, когда администратор перемещал почтовый ящик Exchange 2010 из одной базы в другую, Outlook выдавал пользователю сообщение:

The Exchange administrator has made a change that requires you quit and restart Outlook (Администратор Exchange сделал изменения, которые требуют, чтобы вы перезапустили Outlook)

И только после перезапуска Outlook пользователь получал доступ к своему почтовому ящику.

Чтобы разобраться, почему так происходит, нужно понять, что генерирует это сообщение в Outlook и почему Exchange 2010 вызывает это сообщение. Для каждого почтового ящика, который он открывает, Outlook кэширует три значения, и запрашивает перезапуск, как только любое из них изменяется:

1. MappingSignature – это сочетание отображения именованного свойства и  REPLID/REPLID-GUID

2. ServerName - в Exchange 2010 это соответствует значению свойства  RPCClientAccessServer базы, содержащей почтовый ящик

3. RootFID – это ID корневой папки почтового ящика

Одно из фундаментальных изменений, которое мы сделали в Exchange 2010 это новый механизм управления именованными свойствами (named property management). В Exchange 2010 именованные свойства хранятся в почтовом ящике, а не привязаны к почтовой базе, как это было в предыдущих версиях. Это означает, что если почтовый ящик израсходует квоту на именованные свойства, то это окажет влияние только на этот почтовый ящик; все другие почтовые ящики в базе не будут затронуты. Таким образом, для того, чтобы восстановить работоспособность почтового ящика, в новую базу данных достаточно переместить только его.

Побочный эффект этого архитектурного изменения в том, что MappingSignature изменяется всякий раз, когда почтовый ящик перемещается между почтовыми базами Exchange 2010. В результате пользователи будут всегда получать сообщение о необходимости перезапуска Outlook.

Exchange 2010 SP1 RU2 и последующие обновления

Как и многим из вас, нам не нравится подобное поведение. Поэтому мы задались целью изменить это поведение и уменьшить число ситуаций, при которых клиент Outlook должен быть перезапущен после перемещения почтового ящика. В результате после обновления до Exchange 2010 SP1 RU2 (или более нового) при перемещении почтового ящика MappingSignature сохранятся прежним.

Сохраняя MappingSignature, мы можем свести к минимуму необходимость перезапуска Outlook при следующих условиях:

1. Сервер-источник и целевой сервер это SP1 RU2 или более новый.

2. Свойство RPCClientAccessServer между исходной и целевой базами не изменилось.

1. Если в пределах сайта AD вы создали массив серверов клиентского доступа, то когда вы перемещаете почтовый ящик в пределах этого сайта, вам не потребуется перезапускать Outlook до тех пор, пока обе базы сконфигурированы так, что свойство RPCClientAccessServer равно имени массива серверов клиентского доступа.

2. Однако, если вы переместите почтовый ящик между сайтами AD, то значение имени массива серверов клиентского доступа будет разным для исходной и целевой баз, и Outlook придется перезапустить.

3. Аналогично, если вы не используете массив серверов клиентского доступа, и исходная и целевая базы имеют разные конечные точки RPC (даже в пределах одного сайта AD), то Outlook необходимо будет перезапустить.

3. Пользователь не имеет открытых дополнительных почтовых ящиков, которые не соответствуют вышеописанным условиям.

В ситуации, когда вы исчерпали место для именованных свойств в почтовом ящике, перемещение почтового ящика закончится ошибкой. Для того, чтобы очистить именованные свойства, вы должны указать параметр DoNotPreserveMailboxSignature в командлете New-MoveRequest.

Надеюсь, что вы, как и я, довольны этой новой функциональностью в Exchange 2010 SP1 RU2. Если у вас есть вопросы, то сообщите нам.

Росс Смит IV

Перевод: Илья Сазонов, MVP