Очень часто в общих новостных группах Exchange или других почтовых списках есть сообщения от растерянных администраторов Exchange, которые не могут отправить пользовательские сообщения Out of Office по внешним каналам из Exchange. Типичным решением здесь будет понимание того, что Exchange имеет параметр, позволяющий администратору определить, на самом ли деле сообщения Out of Office отправляются по внешним каналам из организации Exchange. Это обычно простая процедура. Однако что, если сообщения Out of Office отправляются пользователям внутри организации Exchange? Это должно происходить автоматически. В этой статье мы рассмотрим два инструмента, которые можно использовать для диагностики не отправляющихся Out of Office сообщений. Однако прежде чем мы перейдем непосредственно к использованию этих инструментов для проверки параметров Out of Office, для начала будет полезно испробовать две простые процедуры; обе эти процедуры просто включают использование клиентов Outlook и/или Outlook Web Access (OWA).
Проверка параметров
Первая проверка, которую мы можем испробовать, это попытаться установить и переустановить сообщения Out of Office в Outlook и OWA, чтобы убедиться, что все параметры настроены верно. Это делается в Outlook и OWA очень просто, и я уверен, что вы знаете, как, но на тот случай, если статью читают начинающие администраторы Exchange, я вкратце опишу эти шаги:
- В Outlook перейдите в меню Инструменты и выберите Внешний помощник (Out of Office Assistant). Это действие вызовет окно внешнего помощника, как показано на рисунке 1. Выберите параметр В данный момент я в офисе и нажмите OK. Затем повторите процедуру вызова помощника, но в этот раз выберите опцию Сейчас я не в офисе и нажмите OK.
- В OWA вы можете сделать то же самое, нажав Опции и вызвав окно Внешнего помощника. Это показано на рисунке 2. Обратите внимание, что на рисунке 2 показан OWA, запущенный на Exchange 2007.
Теперь вы можете протестировать, чтобы убедиться, что служба Out of Office на самом деле не работает должным образом. Если это действительно так, то можно двигаться к следующему шагу.
Отчистка правил
Можно запустить клиента Outlook с различными переключателями пуска, которые можно использовать для диагностики различных проблемных моментов. Эти пусковые переключатели описаны на сайте Microsoft Office здесь. Интересующий нас переключатель – это переключатель /cleanrules, поэтому нужно просто запустить программу outlook.exe с переключателем /cleanrules, как показано на рисунке 3. Однако прежде чем вы это сделаете, не забудьте экспортировать свои правила входящей почты с помощью кнопки Экспортировать правила, расположенной в разделе Опции главного окна Правила и оповещения.
Если служба все еще не работает, можно двигаться дальше и использовать пару полезных инструментов.
MFCMAPI
Следующим шагом будет использование инструмента MFCMAPI для подтверждения того, настроено ли сообщение Out of Office или нет. Для проверки полезно использовать другие инструменты помимо Outlook или OWA. MFCMAPI – это инструмент для непосредственного просмотра и изменения хранилища MAPI, и его можно скачать с сайта Microsoft здесь. Этот инструмент поддерживается в Windows 2000 SP4, Windows 2003 или Windows XP. Я буду использовать его на сервере Windows 2003, на котором также установлен Outlook 2003. Запуск инструмента MFCMAPI очень прост ' вот, что нужно делать:
- Сначала запускаем MFCMapi.exe файл, который вызовет главное окно MFCMapi, а также окно О программе MFCMAPI, которое можно тут же закрыть, нажав кнопку OK.
- Вернувшись к главному окну MFCMapi, выбираем в меню опцию Сеанс, за которой следуют опции Регистрация и Отобразить таблицу хранилищ. После чего появится окно со знакомым профилем Outlook, в нем нужно будет выбрать соответствующий профиль, с которым мы работаем.
- Теперь должно быть создано соединение, и вы увидите соединения пользователя в главном окне. На рисунке 4 ниже видно, что мы подключились к почтовому ящику пользователя User 3.
- Выбираем профиль почтового ящика из отображенного списка. Другими словами, на рисунке 4 выше мы выбрали строку Почтовый ящик ' User3 в колонке Отобразить имена. После этого в нижней панели должна появиться информация.
- В нижней панели прокручиваем вниз до записи, содержащей свойства имени PR_OOF_STATE. Смотрим в колонку Значение, в которой должна стоять либо буква T (true – да), либо F (false – нет). Пример показан ниже на рисунке 5.
- Таким образом, на рисунке 5 мы видим, что MFCMAPI подтверждает, что Out of Office установлен для пользователя User 3, поскольку значение PR_OOF_STATE имеет атрибут «Т».
MDBVU32
Это не было очень сложно, но следующая задача становится более сложной, так как мы собираемся использовать утилиту под названием MDBVU32. Эту утилиту можно скачать с сайта Microsoft здесь. С этой утилитой идет пять файлов, а именно MDBVU32.EXE, файл основного приложения, а также четыре DLL файла с названиями PROPVU32.DLL, STATVU32.DLL, TBLVU32.DLL и XVPORT.DLL. MDBVU32 может использоваться для удаления правил Out of Office из почтового ящика, чтобы пользователь мог их потом создать заново, на основе предположения, что правила повреждены. Вот, что нужно делать.
- Запускаем MDBVU32.EXE.
- Появится окно MDB Viewer Test Application, а поверх этого окна появится MAPILogonEx(MAPI_LOGON_UI) окно. В последнем окне, выбираем опцию MAPI_EXPLICIT_PROFILE и жмем OK. Это показано на рисунке 6.
- Теперь появится окно Выбор профиля. Выбираем соответствующий MAPI профиль, с которым мы работаем. В моем случае это будет профиль для почтового ящика User 3.
- Теперь нам будет доступно окно MDB Viewer Test Application. Жмем в меню опции MDB и выбираем OpenMessageStore. После этого откроется окно Выберите хранилище сообщения, которое нужно открыть, как показано на рисунке 7.
- Проверяем, что выбрали тот ящик, с которым хотим работать и жмем кнопку Открыть. Окно Выбор хранилища сообщений, которое нужно открыть исчезнет.
- Возвращаемся обратно в главное окно MDB Viewer, жмем меню опций MDB и выбираем опцию Открыть корневую папку. У нас появится окно MAPI_FOLDER ' Root, как показано на рисунке 8.
- В верхнем левом углу окна MAPI_FOLDER ' Root будут отображены вложенные папки. Дважды жмем на вложенной папке Top of Information Store, в результате чего у нас появятся действительные папки почтовых ящиков в разделе вложенных папок (рисунок 9).
- Дважды жмем на папке Входящие. После чего в области Сообщения в папке должны появиться стоки тем сообщений в папке «Входящие» этого почтового ящика. Например, на рисунке 10 ниже показано, что в папке «Входящие» есть пять сообщений. Однако обратите внимание на область Associated Messages in Fld в верхнем правом углу этого окна ' на данный момент это именно то, что нас интересует.
- В области Associated Messages in Fld в этом окне вы увидите несколько сообщений, содержащих такие элементы, как правила Outlook, которые создал пользователь, а также параметры Out of Office. Нам нужно исследовать сообщения, начинающиеся с cb:. Есть два сообщения, которые нужно удалить, одно содержит действительное правило Out Of Office, а второе содержит шаблон Out of Office.
- Чтобы идентифицировать эти сообщения, дважды жмем на каждом 'cb:' сообщении по очереди, что вызовет новое окно MAPI_MESSAGE. В этом окне просматриваем содержимое области Свойства сообщений в нижней части окна. Для примера взгляните на рисунки 11 и 12 ниже. Здесь видно, что второе сообщение cb:, которое я осматривал, содержит свойство PR_BODY, соответствующее действительному Out of Office сообщению пользователя, а также свойство PR_MESSAGE_CLASS для IPM.Note.Rules.Oof.Template.Microsoft.
- На рисунке 13 ниже видно, что третье cb: сообщение имеет свойство 0X65EB для MSFT:TDX OOF Rules. Эти два cb: сообщения нам нужно удалить. Помните, что второе интересующее нас cb: сообщение имеет атрибут 0X65EB.
- Теперь, когда мы определили нужные сообщения cb:, мы можем удалить их. Сначала закрываем окно, MAPI_MESSAGE с помощью кнопки Закрыть, чтобы вернуться в окно MAPI_FOLDER, как показано на рисунке 14. Далее выбираем оба cb: сообщения, которые нужно удалить, удерживая клавишу «Ctrl» и нажимая по очереди на каждое сообщение. Между областями Associated Messages in Fld и Folder Properties этого окна у нас есть список выбора опций под названием Доступные операции(Выберите операцию, затем нажмите клавишу вызова функции»). В этом списке выбираем опцию lpFld-> DeleteMessages(), как показано на рисунке 14.
- Жмем клавишу Вызов функции', которая вызовет окно, показанное на рисунке 15. Просто жмем кнопку OK, чтобы завершить операцию.
- Теперь сообщения Out of Office должны быть удалены и вы должны вернуться в окно MAPI_FOLDER, как показано на рисунке 16. Обратите внимание, что теперь у нас осталось только одно cb: сообщение, которое в данном случае является нормальным правилом Outlook.
- Теперь можно выйти из MDBVU32, нажав Закрыть в трех следующих окнах, что должно вернуть вас обратно в главное окно MDBVU32. Здесь жмем меню опций MDB, а затем опцию Выйти из хранилища. В результирующем окне lpMDB-> StoreLogoff() просто жмем OK, затем снова OK в окне, уведомляющем нас о том, что выход из системы завершен. Затем жмем меню опций Сеанс и выбираем опцию Закончить сеанс. Наконец выходим из утилиты MDBVU32.
Конечно теперь пользователю потребуется переустанавливать правило Out of Office, чтобы оно стало снова эффективным. Скорее всего, после данной операции параметры Out of Office все еще будут активны для этого пользователя, но содержимое сообщений будет пустым.
Заключение
Пользователей, равно как и администраторов, может ввести в растерянность момент, когда такие простые операции, как Out Of Office перестают работать. Переустановка параметров Out Of Office с помощью таких инструментов, как MDBVU32, может приходить на помощь в таких случаях, поэтому надеюсь, что с помощью данной статьи мне удалось убедить вас, что все не так плохо, как может показаться на первый взгляд.