Сегодня столкнулся с довольно редкой проблемой — исчезли все Exchange командлеты из Exchange Management Shell(EMS). Я с этой проблемой раньше не сталкивался, поэтому произошедшее вогнало меня в ступор. Проблема появилась после установки обновлений Windows на Exchange Server 2010 и перезагрузки сервера. Я зашел в Exchange Management Shell, чтобы запустить командлет Test-ServiceHealth и убедиться, что сервисы Exchange запущены, а EMS мне сообщает, что такой команды нет. Как оказалось в последствии, других команд тоже нет, доступна только Get-ExchangeDiagnosticInfo. При этом сервисы Exchange Server запущены, Exchange Management Console работает, ошибок в логах нет, да и письма ходят, OWA работает. Что же делать? В чем проблема — обновления, ограничение прав, системный сбой?
Как оказалось, что дело именно в «отображении» доступных команд для моей учетной записи. При запуске EMS в папке
C:\Users\username\AppData\Roaming\Microsoft\Exchange\RemotePowershell\имя вашего сервера.
создается несколько файлов, используемых в работе. Честно говоря я не знаю их назначения и с удовольствием послушаю ваш ответ.
Для того, чтобы командлеты Exchange Server стали доступны в EMS, необходимо закрыть EMS и удалить или переименовать папку с именем вашего сервера в
C:\Users\username\AppData\Roaming\Microsoft\Exchange\RemotePowershell\
После запуска EMS удаленная папка будет создана заново и вы сможете управлять Exchange Server с помощью командлетов.
p.s. Хорошо, что я начал искать в интернете описание решения этой проблемы, иначе потратил бы кучу времени на удаление установленных обновлений.
Дополнительное чтиво.