После того как вы построили и настроили ваш новый Exchange 2007 сервер, одной из первых задач, которую вы всегда должны выполнять, является тщательное тестирование системы, прежде чем вы вносите в нее пользователей, даже ваших начальных пилотных пользователей. В этом случае можно будет разрешить любые возникшие проблемы до того, как они повлияют на пользователей. Компания Microsoft предоставила полный выбор команд Exchange Management Shell, которые можно использовать для тестирования различных служб и функций вашего сервера Exchange 2007, прежде чем вы введете его в эксплуатацию. Конечно, вы можете также использовать эти же команды во время рабочего цикла сервера, чтобы повторно тестировать функциональность в случае возникновения каких-либо сомнений по поводу корректности или оптимальности настройки сервера. Все эти команды начинаются с Test-.
В недавнем проекте я использовал различные команды Test- для тестирования конфигурации среды серверов Exchange 2007, которая была только что построена и сконфигурирована. В этой статье я рассмотрю некоторые команды, которые мне пришлось использовать. Я не буду рассматривать абсолютно все команды, которые можно использовать, так как их список довольно длинный. К тому же, каждая команда имеет несколько различных параметров, поэтому просто невозможно рассмотреть их все в одной статье. Я лишь надеюсь познакомить вас с самыми удобными командами тестирования, тем самым убедившись, что вы не забудете использовать их в следующий раз, когда вам придется тестировать только что созданный сервер Exchange 2007, или когда вы столкнетесь с проблемами в работе сервера.
В таблице 1 приведен список доступных команд, которые можно использовать в целях тестирования. Команды не будут рассматриваться в каком-то определенном порядке. В этой статье я рассмотрю команды Test-ServiceHealth и Test-OutlookWebServices, а оставшиеся команды будут рассмотрены в следующей части.
Таблица 1: Список команд тестирования
Название команды |
Цель |
Test-ActiveSyncConnectivity |
Тестирует конфигурацию ActiveSync для почтового ящика |
Test-EdgeSynchronization |
Тестирует статус синхронизации подписанных серверов Edge Transport |
Test-ExchangeSearch |
Тестирует службу индексации содержимого на предмет корректной функциональности |
Test-ImapConnectivity |
Тестирует IMAP4 службу на предмет корректной функциональности |
Test-IPAllowListProvider |
Тестирует конфигурацию IP Allow List провайдера |
Test-IPBlockListProvider |
Тестирует конфигурацию IP Block List провайдера |
Test-Mailflow |
Тестирует отправку и получение электронной почты |
Test-MapiConnectivity |
Проверяет почтовый ящик на предмет возможности корректного входа |
Test-OutlookWebServices |
Тестирует параметры службы автообнаружения (Autodiscover) |
Test-OwaConnectivity |
Проверяет Outlook Web Access на предмет корректной работы |
Test-PopConnectivity |
Проверяет POP3 службу на предмет корректной функциональности |
Test-ReplicationHealth |
Проверяет здоровье репликации групп хранения |
Test-SenderId |
Проверяет обработку ID отправителя |
Test-ServiceHealth |
Проверяет все необходимые службы на предмет успешного запуска |
Test-SystemHealth |
Проверяет общую конфигурацию Exchange организации |
Test-UMConnectivity |
Проверяет работу сервера единой службы сообщений (Unified Messaging) |
Test-WebServicesConnectivity |
Проверяет работоспособность Outlook Anywhere |
Test-ServiceHealth
Давайте начнем с легкой команды, Test-ServiceHealth. С новыми ролями в Exchange 2007, одной из черт, изменившихся по сравнению с предыдущими версиями Exchange, является то, что Exchange сервер теперь имеет настроенные на нем различные службы, в зависимости от ролей, которые ему предстоит выполнять. К примеру, служба Microsoft Exchange Transport будет использоваться только на транспортных серверах, таких как роли Hub Transport или Edge Transport. В качестве быстрого способа проверки того, наличествуют ли необходимые службы, и, что более важно, запущены ли они, можно использовать Test-ServiceHealth команду.
Вы можете запустить команду Test-ServiceHealth на локальном сервере, чтобы протестировать локально установленные службы, или использовать параметр 'Server, чтобы обозначить целевой удаленный сервер. На рисунке 1 вы видите результаты использования этой команды на сервере Exchange 2007, на котором установлены роли Mailbox, Hub Transport и Client Access Server. Обратите внимание на то, как результаты разделены для каждой роли. Как вы видите, ключевая информация представлена в столбце RequiredServicesRunning, которая очевидно показывает, успешен тест или нет. Если какая-либо необходимая служба не работает, столбец RequiredServicesRunning будет указывать False для соответствующего имени служб, перечисленных в столбце ServicesNotRunning.
Рисунок 1: Стандартные результаты команды Test-ServiceHealth
Test-OutlookWebServices
Возможно, одной из наиболее запутанных областей в Exchange 2007 является настройка службы Autodiscover, если говорить точнее, область, связанная с именами сертификатов. Если неправильные имена Subject Alternate Names перечислены в сертификате или определенные настройки на завершены с помощью команды Exchange Management Shell, процесс Autodiscover работать не будет. В конечном счете, для пользователей Outlook 2007 это означает, что такие службы, как Offline Address Book будут недоступны. К счастью, настройка Autodiscover может быть проверена с помощью команды Test-OutlookWebServices. Поскольку служба Autodiscover работает на роли сервера клиентского доступа (Client Access Server), следует, что данную команду нужно запускать на Client Access Server.
Главным параметром в этой команде является 'Identity параметр, который используется для тестирования Outlook провайдера и принимает форму адреса электронной почты в семействе. Возьмем пример, показанный на рисунке 2, где результаты команды Test-OutlookWebServices были переданы в команду format-list. Использовалась следующая команда:
Test-OutlookWebServices 'Identity neil@neilhobson.com | fl
Рисунок 2: Test-OutlookWebServices результаты
Вы заметите в вышеприведенных результатах, что с AS (Availability Service), OAB (Offline Address Book) и UM (Unified Messaging) службами был успешно установлен контакт с помощью EXCH Outlook провайдера, используя локальное FQDN имя сервера, но эти же службы не настроены для пользователя через EXPR Outlook провайдера. Это показано в ошибке на рисунке 3.
Id : 1015
Type : Information
Message : [EXPR]- OAB is not configured for this user.
Рисунок 3: Отсутствует конфигурация EXPR Outlook провайдера
Эти результаты указывают на то, что некоторые элементы настройки не были завершены. Чтобы убедиться в том, что дело обстоит именно так, можно запустить команды Get-WebServicesVirtualDirectory, Get-OabVirtualDirectory и Get-UMVirtualDirectory, просмотреть результаты, где должно быть видно, что 'ExternalUrl параметр пуст. К примеру, посмотрите на рисунок 4, где была запущена команда Get-OabVirtualDirectory, а ее результаты были переданы в команду format-list cmdlet и отфильтрованы, чтобы показать только параметр ExternalUrl.
Рисунок 4: Результаты Get-OabVirtualDirectory
Параметр 'ExternalUrl контролирует URL, который Outlook использует для получения OAB при работе во внешней сети или при подключении вне домена. И наоборот, при работе во внутренней сети Outlook получает OAB через параметр 'InternalUrl, который по умолчанию будет иметь значение FQDN имя сервера клиентского доступа. Однако вам нужно будет вручную настроить параметр 'ExternalUrl, который в данном примере примет значение вроде https://autodiscover.neilhobson.com/oab. Я не собираюсь здесь подробно обсуждать службу Autodiscover, поскольку она не является целью статьи. Главное, что вам нужно усвоить из этой статьи, это то, что когда вы видите службу, отмеченную как 'не настроенную для этого пользователя' при использовании команды Test-OutlookWebServices, скорее всего один или более 'ExternalUrl параметров отсутствуют. Не забудьте, что существуют настройки для Availability Service, OAB и Unified Messaging. Таким образом, получается три команды, которые необходимо запустить, чтобы настроить внешний URL должным образом. Например, допустим, что имя сервера клиентского доступа будет CAS1, а внешнее доменное имя – neilhobson.com, три команды настройки будут следующими:
Set-WebServicesVirtualDirectory 'Identity 'CAS1\EWS (Default Web Site)'
'ExternalUrl https://autodiscover.neilhobson.com/EWS/Exchange.asmx
SetOabVirtualDirectory 'Identity 'CAS1\OAB (Default Web Site)'
'ExternalUrl https://autodiscover.neilhobson.com/oab
Set-UMVirtualDirectory 'Identity 'CAS1\UnifiedMessaging (Default Web Site)'
'ExternalUrl https://autodiscover.neilhobson.com/UnifiedMessaging/Service.asmx
Когда эти параметры были заданы, вы можете повторно запустить команду Test-OutlookWebServices, где вы должны получить результаты успешного тестирования, используя EXPR Outlook провайдера. Примерный результат того, что вы должны увидеть, показан на рисунке 5.
Id : 1015
Type : Success
Message : [EXPR]-Successfully contacted the OAB service at https://autodiscover
.neilhobson.com/ews/exchange.asmx. The elapsed time was 0 milliseconds.
Рисунок 5: Успешное тестирование EXPR Outlook провайдера
Резюме
В первой части этой серии статей мы рассмотрели две команды Test-, которые вы можете использовать для проверки конфигурации и работоспособности вашего сервера Exchange 2007. Надеюсь, вы увидели, как такие команды как Test-OutlookWebServices, обеспечивают нас полезной информацией о тех областях конфигурации, которые не были завершены. Мы закончим рассмотрение этих команд во второй части данной серии статей.