Архитектура управления Exchange 2010 – использование одной машины для управления несколькими организациями Exchange 2010


Введение

Exchange 2007 был первой версией Exchange, где архитектура управления была основана на Windows PowerShell (точнее на PowerShell 1.0). На самом деле оба компонента, консоль Exchange 2007 Management Console и оболочка управления (Shell), были построены на основе механизма PowerShell, который обеспечивал множество преимуществ. Хотя для этого потребовалось некоторое время, многие администраторы Exchange быстро научились использовать оболочку и оптимизировали эффективность работы организации благодаря этому.

Не удивительно, что архитектура управления в Exchange 2010 также построена на Windows PowerShell, однако это версия Windows PowerShell 2.0. PowerShell 2.0 включает множество усовершенствований, и, конечно, Exchange 2010 использует некоторые из них. Одним из улучшений является функция PowerShell Remoting, использующая WS-Management (так же известную, как WS-MAN или WinRM), которая представляет собой компонент Windows Server 2008 и Windows Vista, и имеет своей задачей управление серверами, устройствами и приложениями более простым способом по всей организации.

В этой статье я расскажу о том, что собой представляет удаленный PowerShell, и как эта новая функция позволяет управлять серверами Exchange 2010 в организации, а также в нескольких организациях Exchange 2010 с помощью консоли и оболочки управления (EMC и EMS) и с помощью Windows PowerShell 2.0 – все эти компоненты расположены на одном сервере управления.

Примечание:эта статья рассматривает бета версию Exchange 2010, поэтому информация может измениться с последующими сборками Exchange 2010.

Что такое Remote PowerShell?

Чтобы объяснить это, давайте вернемся к Exchange 2007. Хотя оболочка управления Exchange 2007 Management Shell (EMS) позволяла администраторам Exchange управлять всеми серверами Exchange 2007 в организации Exchange с единого сервера управления, на котором были установлены инструменты управления Exchange Management, команды выполнялись на хосте/в процессах самого сервера. Затем сервер управления создавал RPC подключения к серверам Exchange, с которыми производились манипуляции.

В Exchange 2010 архитектура управления основана на Remote PowerShell, включенном в Windows PowerShell 2.0. Компонент Remote PowerShell обеспечивает модель разрешений на основе RBAC, что позволяет предоставлять более многогранные разрешения (Exchange 2007 использовал ACL), стандартный протокол, который позволяет проще управлять серверами Exchange 2010 через брандмауэры, и эксплицитно разделяет «клиентскую» и «серверную» часть командной обработки. Вдобавок, он использует WS-MAN, который обеспечивает более тесную и стабильную интеграцию с операционной системой Windows.

Текущие публичные бета версии Exchange 2010 включают локальную и удаленную оболочку Exchange Management Shell, но это лишь потому, что все команды находятся в стадии перемещения на версию удаленной оболочки Exchange Management Shell. Поэтому к моменту выхода RTM, Exchange 2010 уже не будет включать локальную версию оболочки Exchange Management Shell.

Это означает, что не зависимо от того, используете ли вы локально установленные инструменты управления или специально выделенный сервер управления для администрирования Exchange 2010, вы все равно будете использовать удаленную версию Exchange Management Shell (рисунок 1). Как уже говорилось ранее, публичные бета версии продукта Exchange 2010 также включают локальную версию оболочки Exchange Management Shell, поэтому при необходимости (все еще есть команды, которые не работают должным образом на удаленной версии EMS) вы сможете использовать и ее.

Рисунок 1: Remote Exchange Management Shell

Рисунок 1: Remote Exchange Management Shell

При запуске удаленной версии Exchange Management Shell, она подключается к локальному виртуальному каталогу PowerShell (рисунок 2), созданному мастером установки в IIS, когда инструменты управления Exchange 2010 устанавливаются на машину.

Рисунок 2: Виртуальный каталог PowerShell в IIS Manager

Рисунок 2: Виртуальный каталог PowerShell в IIS Manager

Когда удаленная EMS подключается к виртуальному каталогу PowerShell, любые необходимые команды импортируются с сеанса серверной стороны (также известного как пространство выполнения (runspace)) на сеанс клиентской стороны (рисунок 3) или, если говорить точнее, импортируются ссылки на эти команды. После импорта ссылок на команды, можно начинать процесс управления сервером Exchange 2010 также, как вы обычно это делаете с помощью EMS.

Рисунок 3: Создание сеанса PowerShell и импорт команд<br />
стороны сервера

Рисунок 3: Создание сеанса PowerShell и импорт команд стороны сервера

Включение прав удаленного управления Exchange для пользователей

По умолчанию учетная запись Active Directory, которую вы использовали для установки Exchange 2010 в своем лесу, получит права удаленного управления с помощью PowerShell. Если вы хотите предоставить эти права другой учетной записи AD, вам нужно воспользоваться командой Set-User с параметром RemotePowerShellEnabled. Если я, например, хочу предоставить это право своей собственной учетной записи, я воспользуюсь следующей командой:

Set-User ‘Henrik Walther’ -RemotePowerShellEnabled $True

Рисунок 4: Предоставление права управления Remote<br />
PowerShell пользователю

Рисунок 4: Предоставление права управления Remote PowerShell пользователю

Подключение к удаленному серверу Exchange 2010 Server с помощью Remote EMS

Если вы хотите подключиться к виртуальному каталогу PowerShell на другом сервере Exchange 2007 в организации или в другой организации Exchange, вам нужно использовать команды New-PSSession и Import-PSSession.

При создании нового сеанса Exchange Management Shell с удаленным сервером Exchange 2010, интересным является то, что любые команды, выполняемые вами в оболочке на локальном сервер Exchange 2010, на самом деле выполняются на сервере Exchange 2010, к которому вы подключились.

Давайте подключимся к удаленному серверу Exchange 2010 в одной организации Exchange.

Если сертификат, установленный на удаленном сервере Exchange 2010, к которому вы хотите подключиться, не является доверенным для локальной машины, в первую очередь нужно импортировать сертификат или создать переменную, которая пропускает ЦС сертификата, CN, и проверки отзыва сертификата. Для создания такой переменной введите:

$SkipCertificate = New-WSManSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck

Рисунок 5: Создание переменной для пропуска проверки<br />
сертификата Рисунок 5: Создание переменной для пропуска проверки сертификата

Теперь создаем новый сеанс remote EMS:

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://<E2K10Server>.domain.com/PowerShell/ -Authentication NegotiateWithImplicitCredential -SessionOption $SkipCertificate

Рисунок 6: Команда для создания нового сеанса PowerShell с<br />
 имплицитными мандатами

Рисунок 6: Команда для создания нового сеанса PowerShell с имплицитными мандатами

Примечание:поскольку мы подключаемся к локальному серверу Exchange 2010 в лесу, мы используем имплицитные мандаты (аутентификацию Kerberos).

Когда сеанс remote EMS создан, давайте импортируем его в сеанс клиентской стороны:

Import-PSSession $Session

Рисунок 7: Создание нового сеанса remote EMS и<br />
импортирование команд стороны сервера

Рисунок 7: Создание нового сеанса remote EMS и импортирование команд стороны сервера

Явно указанные учетные данные

Если вы хотите подключиться к серверу Exchange 2010 в другой организации Exchange, вам нужно использовать явно указанные учетные данные, что означает, что вам нужно сначала создать переменную с помощью команды:

$UserCredential = Get-Credential

Рисунок 8: Создание переменной пользовательских учетных<br />
данных

Рисунок 8: Создание переменной пользовательских учетных данных

После этого можно создавать сеанс remote EMS с помощью команды:

“$Session = New-PSSession -ConfigurationName Microsoft.Exchange –ConnectionUri 
https://<Exchange 2010 server name>/PowerShell/ -Credential $UserCredential”

Рисунок 9: Команда для создания нового сеанса remote EMS с<br />
 явно указанными учетными данными

Рисунок 9: Команда для создания нового сеанса remote EMS с явно указанными учетными данными

Использование консоли EMC

Теперь, когда вы увидели, как использовать удаленную версию оболочки EMS для управления серверами Exchange 2010 в организации или в разных организациях, пришло время рассмотреть консоль управления EMC и способы управления несколькими организациями Exchange 2010 из одной консоли EMC.

Итак, давайте откроем консоль Exchange Management Console (EMC). В навигационной панели выбираем Microsoft Exchange и нажимаем Добавить лес Exchange (Add Exchange Forest) в Панели действий (Action pane), как показано на рисунке 10. Когда открывается окно добавления леса, вводим учетные данные администратора, которые будут использоваться для подключения к другой организации Exchange. Поскольку мы подключаемся к другой местной (on-premise) организации Exchange, выбираем Microsoft Exchange On-Premises.

Примечание: Можно использовать опцию Microsoft Exchange Online для подключения к организации Exchange 2010 в облаке. В настоящее время можно подключиться лишь к временному домену на Exchange Labs или Live@edu.

Теперь вводим URL виртуального каталога удаленной версии PowerShell, к которому нужно подключиться. Используем следующий формат:

https://E2K10Server.domain.com/PowerShell/

Затем нажимаем OK.

Рисунок 10: Добавление организации Exchange из другого<br />
леса в EMC

Рисунок 10: Добавление организации Exchange из другого леса в EMC

Удаленная организация Exchange теперь будет добавлена в панели навигации с левой стороны консоли EMC, как показано на рисунке 11.

Рисунок 11: Дополнительная организация Exchange добавлена в<br />
 EMC

Рисунок 11: Дополнительная организация Exchange добавлена в EMC

Теперь можно управлять этой организацией также, как вы управляли локальными организациями Exchange.

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

Перемещение почтовых ящиков между лесами с помощью консоли EMC

В отличие от Exchange 2007 у вас теперь есть возможность выполнять перемещение почтовых ящиков между лесами непосредственно из консоли EMC. Причина, по которой я упомянул этот факт в данной статье, заключается в том, что одним из требований, до того как вы сможете переместить почтовый ящик в другой лес посредством EMC, является то, что вы должны добавить организацию Exchange целевого леса в EMC, как мы делали в предыдущем разделе. После этого, нажмите правой клавишей на почтовом ящике (или нескольких ящиках), который хотите переместить, и выберите Новый запрос перемещения (New Move Request) из контекстного меню (рисунок 12).

Рисунок 12: Создание нового запроса перемещения

Рисунок 12: Создание нового запроса перемещения

Это вызовет мастера создания нового запроса перемещения (рисунок 13). Как вы видите, нужно выбрать целевой лес в раскрывающемся меню.

Рисунок 13: Указание целевого леса, в который нужно<br />
переместить почтовый ящик

Рисунок 13: Указание целевого леса, в который нужно переместить почтовый ящик

Я не буду здесь показывать весь процесс миграции почтового ящика, поскольку это не входит в тематику статьи, но если вы начнете работать с этой функцией, важно обратить внимание, что вам нужно переместить/реплицировать учетные записи пользователей AD в целевой лес с помощью ILM или другого инструмента миграции, прежде чем перемещать почтовые ящики. Как некоторые из вас знают, это отличается от Exchange 2007, в котором не требовалось наличие учетных записей AD для перемещения почтовых ящиков.

Управление серверами Exchange 2007 и 2010 с одной машины

Еще одним замечательным моментом, особенно при перемещении Exchange 2007 на Exchange 2010 в больших организациях, включающих тысячи пользователей, является то, что в отличие от перехода с Exchange 2003 на Exchange 2007, можно устанавливать инструменты управления Exchange 2007 и Exchange 2010 на одну машину. Да, именно так. Вы просто устанавливаете все предварительные, необходимые компоненты Exchange 2010 на машину. Эти компоненты представляют собой Windows PowerShell 2.0, WS-MAN и .NET Framework 3.5. После установки этих компонентов вы устанавливаете инструменты управления Exchange 2010, а вслед за ними – инструменты управления Exchange 2007.

Примечание:пожалуйста, не забывайте о том, что только инструменты управления Exchange 2007 и 2010 могут одновременно использоваться на одной машине. Никогда не стоит пытаться установить роли каких-либо других версий сервера Exchange на машину.

Рисунок 14: Exchange 2010 Setup.exe Bootstrapper

Рисунок 14: Exchange 2010 Setup.exe Bootstrapper

Обязательно выберите только Инструменты управления (Management Tools) на странице Выбор роли сервера (Server Role Selection) (рисунок 15).

Рисунок 15: Выбор инструментов управления на странице<br />
выбора ролей сервера

Рисунок 15: Выбор инструментов управления на странице выбора ролей сервера

После успешной установки инструментов управления нажмите Готово (рисунок 16).

Рисунок 16: Инструменты управления Exchange 2010 успешно<br />
установлены

Рисунок 16: Инструменты управления Exchange 2010 успешно установлены

Теперь запустите мастера установки Exchange 2007 Setup (рисунок 17).

Рисунок 17: Exchange 2007 Setup.exe Bootstrapper

Рисунок 17: Exchange 2007 Setup.exe Bootstrapper

Обязательно проверьте, что выбрана только опция Инструменты управления на странице Выбор ролей сервера (рисунок 18).

Рисунок 18: Выбор инструментов управления на странице<br />
выбора ролей сервера

Рисунок 18: Выбор инструментов управления на странице выбора ролей сервера

После успешной установки инструментов управления нажмите Готово (рисунок 19).

Рисунок 19: Инструменты управления Exchange 2007 успешно<br />
установлены

Рисунок 19: Инструменты управления Exchange 2007 успешно установлены

После установки инструментов управления вы сможете найти их в закладке Все программы в меню Пуск, как показано на рисунке ниже.

Рисунок 20: Где найти инструменты управления

Рисунок 20: Где найти инструменты управления

Дела обстоят даже лучше, поскольку вы можете запускать инструменты управления для каждой версии Exchange одновременно (рисунок 21).

Рисунок 21: Две консоли управления Exchange 2007 и 2010

Рисунок 21: Две консоли управления Exchange 2007 и 2010

Интересно то, что можно на самом деле создать пользовательскую версию консоли MMC, включая оснастку инструментов управления из обеих версий Exchange (рисунок 22).

Рисунок 22: Оснастки консоли управления Exchange 2007 и<br />
2010 в одной MMC

Рисунок 22: Оснастки консоли управления Exchange 2007 и 2010 в одной MMC

Использование Windows PowerShell 2.0

Итак я показал вам, как управлять Exchange 2010 с помощью удаленной версии оболочки EMS и консоли EMC? Для управления Exchange 2010 даже не требуется установка инструментов управления Exchange 2010 на машину, по крайней мере, если вы управляете с помощью оболочки Shell. Я уже упоминал, что при подключении к виртуальному каталогу PowerShell на удаленном сервере Exchange 2010 нужные команды будут импортированы в сеанс клиентской стороны/пространство выполнения.

Если вам нравится работать с программной оболочкой, единственными требуемыми компонентами на машине, с которой осуществляется управление серверами Exchange 2010, будут Windows PowerShell 2.0 и WS-MAN.

Примечание: На момент написания этой статьи компонент WS-MAN можно устанавливать лишь на машины Windows Server 2008 и Windows Vista, однако ходят слухи, что команда разработчиков WS-MAN работает над созданием версии для Windows XP.

После установки компонентов WS-MAN и Windows PowerShell 2.0 на машину, запустите Windows PowerShell, перейдя в меню Пуск > Все программы > Windows PowerShell V2 (CTP3) > Windows PowerShell V2 (CTP3), как показано ниже.

Рисунок 23: Запуск Windows PowerShell 2.0 (CTP3)

Рисунок 23: Запуск Windows PowerShell 2.0 (CTP3)

Рисунок 24: Windows PowerShell 2.0 (CTP3)

Рисунок 24: Windows PowerShell 2.0 (CTP3)

И снова мы воспользуемся командами New-PSSession и Import-Session. Если сертификат, установленный на удаленный сервер Exchange 2010, которым вы собираетесь управлять, не является доверенным для локальной машины, вам нужно, либо импортировать сертификат, либо создать переменную для пропуска проверки ЦС сертификата, CN и проверки отзыва. Для этого вводим команду:

$SkipCertificate = New-WSManSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck

Рисунок 25: Создание переменной пропуска проверки<br />
сертификата

Рисунок 25: Создание переменной пропуска проверки сертификата

Теперь создаем новый сеанс PowerShell:

“$Session = New-PSSession -ConfigurationName Microsoft.Exchange –ConnectionUri 
https://<E2K10Server>.domain.com/PowerShell/ 
-Authentication NegotiateWithImplicitCredential -SessionOption $SkipCertificate”

Рисунок 26: Команда создания нового сеанса PowerShell с<br />
имплицитными учетными данными

Рисунок 26: Команда создания нового сеанса PowerShell с имплицитными учетными данными

Когда сеанс PowerShell создан, давайте импортируем его в клиентский сеанс/пространство выполнения:

Import-PSSession $Session

Рисунок 27: Создание нового сеанса PowerShell и импорт<br />
команд стороны сервера

Рисунок 27: Создание нового сеанса PowerShell и импорт команд стороны сервера

Рисунок 28: Импортирование нового сеанса PowerShell в<br />
сеанс клиентской стороны/пространство выполнения

Рисунок 28: Импортирование нового сеанса PowerShell в сеанс клиентской стороны/пространство выполнения

Явно указанные мандаты

Если вы хотите подключиться к другому серверу Exchange 2010 в другой организации Exchange, вам нужно использовать явно указанные мандаты, что означает, что сначала вам нужно создать переменную с помощью команды:

$UserCredential = Get-Credential

Рисунок 29: Создание переменной пользовательских мандатов

Рисунок 29: Создание переменной пользовательских мандатов

Затем можно создавать сеанс PowerShell, используя следующую команду:

Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://<Exchange 2010 server name>/PowerShell/ -Credential $UserCredential

Рисунок 30: Команда создания нового сеанса PowerShell с<br />
явно указываемыми учетными данными

Рисунок 30: Команда создания нового сеанса PowerShell с явно указываемыми учетными данными

Примеры управления с помощью Remote PowerShell

Теперь давайте попробуем получить список почтовых ящиков в организации Exchange с помощью команды Get-Mailbox.

Рисунок 31: Список всех почтовых ящиков в удаленной<br />
организации Exchange

Рисунок 31: Список всех почтовых ящиков в удаленной организации Exchange

Теперь давайте создадим новый почтовый ящик.

New-Mailbox -Name 'Test User 2' -UserPrincipalName 'Testuser2@exchangelabs.dk'

Нажимаем enter, затем указываем пароль для почтового ящика и снова нажимаем enter.

Рисунок 32: Создание нового почтового ящика в удаленной<br />
организации Exchange

Рисунок 32: Создание нового почтового ящика в удаленной организации Exchange

А теперь давайте создадим новую группу рассылки и добавим в нее нового тестового пользователя.

New-DistributionGroup -Name ‘Test Distribution Group’

Рисунок 33: Создание новой группы рассылки в удаленной<br />
организации Exchange

Рисунок 33: Создание новой группы рассылки в удаленной организации Exchange

Мы добавим пользователя в эту группу с помощью команды:

Add-DistributionGroupMember -Identity ‘Test Distribution Group’ -Member ‘Test user 2’

Рисунок 34: Добавление нового пользовательского почтового<br />
ящика в группу рассылки

Рисунок 34: Добавление нового пользовательского почтового ящика в группу рассылки

Теперь давайте убедимся, что соответствующий ящик был добавлен в группу рассылки:

Get-DistributionGroupMember -identity ‘Test Distribution Group’

Рисунок 35: Список членов новой группы рассылки

Рисунок 35: Список членов новой группы рассылки

Это были лишь самые простые примеры, однако вы можете выполнять гораздо более сложные задачи. На самом деле, в оболочке EMS можно выполнять абсолютно любые задачи управления.

Отключение удаленного сеанса PowerShell

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

Remove-PSSession $Session

На этом закончим данную статью, надеюсь, она вам понравилась.

Автор: Генрик Валзер (Henrik Walther)

Генрик Валзер (Henrik Walther)Генрик Валзер (Henrik Walther) является Microsoft Exchange MVP и работает в качестве Старшего Технического Консультанта в Interprise, Золотом Партнере Microsoft, расположенном в Дании. Вы можете посетить его web-сайт по адресу: www.exchange-faq.dk (на датском).

Источник: http://www.Redline-Software.com

Возникли вопросы?

Обращайтесь на форум!


Comments (0)

Skip to main content