Введение
С Exchange Server 2007 компания Microsoft представила интерфейс Exchange Powershell Administration. Большинство задач администрирования теперь можно выполнить, используя команды Powershell, и даже GUI создает команды Powershell в интерфейсе GUI.
Начиная с этой статьи я буду представлять этот мощный инструмент, и начну серию статей, в которой мы подробно рассмотрим некоторые задачи. Мы посмотрим, как управлять Exchange Server 2007 с помощью командной оболочки. Мы начнем с общих задач администрирования, которые выполняет администратор Exchange в течение своего обычного рабочего дня, я также приведу некоторые примеры.
Создание почтовых ящиков
Давайте посмотрим, как создавать новые почтовые ящики с помощью Powershell команды 'New-Mailbox'. Синтаксис команды такой:

Как видно из рисунка выше, существует множество атрибутов, которые можно использовать, но вам не нужно использовать их все. Только некоторые обязательны.
В качестве первого примера мы создадим пользователя Active Directory с именем 'John Doe', а затем соответствующий почтовый ящик для него. Почтовый ящик будет находиться в первой группе хранения, в базе данных почтовых ящиков. Пароль не указан, поэтому Exchange Management Shell будет делать запрос на него. К тому же он должен быть восстановлен во время следующего входа.

В следующем примере показано, как создавать пользователя в Active Directory и ресурсный почтовый ящик для оборудования лазерного указателя. Ресурсный почтовый ящик находится в первой группе хранения, в базе данных почтовых ящиков. Пароль необходимо восстановить при следующем входе. Exchange Management Shell укажет вам значение начального пароля, так как он не определен.

Удаление почтового ящика
Еще одной интересной повседневной задачей является удаление почтовых ящиков. Как вы увидите, это тоже довольно просто. Вот синтаксис:

Давайте посмотрим, как отключать почтовый ящик от учетной записи пользователя и удалять его из Active Directory. Почтовый ящик останется в базе данных Exchange на период сохранения удаленных почтовых ящиков, настроенный в базе данных почтовых ящиков.

Итак, в этом примере вы увидите, что оболочка управления задает вопросы, пытаясь выяснить, что вы уверены в том, что пытаетесь сделать. Поэтому использование Exchange Management Shell сопряжено с минимальным риском.
Изменение параметров почтовых ящиков
Теперь давайте рассмотрим более сложную команду под названием 'Set-Mailbox'. Вот полный синтаксис:

Как вы, возможно, догадались по синтаксису, это действительно мощная команда, и с ее помощью можно очень многое сделать. Ее можно использовать для:
- Настройки на получение сообщений только от определенных пользователей
- Настройки на отправку сообщений только определенным пользователям
- Подключения почтовых ящиков только к определенным пользователям
- Настройки адресов электронной почты для пользователей
- Установки периодов сохранения
- И многого другого
В качестве первого примера мы посмотрим, как переместить John Does' сообщения в ящик Jane Doe's ([email protected]).

Теперь мы используем команду Get-Mailbox, чтобы найти все почтовые ящики в TestOU, а затем команду Set-Mailbox, чтобы настроить эти почтовые ящики. Пользовательское предупреждение, квоты запрета отправки, запрета отправки и ограничения получения установлены на 200 MB, 250 MB и 280 MB соответственно, а стандартные ограничения базы данных почтовых ящиков игнорируются. Эту команду можно использовать для настройки того, чтобы определенные почтовые ящики имели больший или меньший лимит по сравнению с другими ящиками в организации.

В третьем примере используется команда Get-User, чтобы найти всех пользователей в отделе TestOU, а затем команда Set-Mailbox, чтобы изменить максимальный размер отправляемых сообщений до 2 MB.

Перемещение почтового ящика
Далее мы посмотрим, как перемещать почтовый ящик с помощью команды 'Move-Mailbox'. Синтаксис команды такой:

Эта команда также важна для процессов перехода. Вы можете настроить команду перемещения почтовых ящиков непосредственно в Powershell Scripts. Когда вы переходите с Exchange Server 2000, нет другого способа переместить почтовые ящики на Exchange Server 2007, так как Exchange System Manager в Exchange Server 2000 не поддерживает эти операции, как это делает Exchange Server 2003.
Но, как вы увидите в следующем примере, очень интересно во время выполнения обычной задачи администрирования перемещать почтовый ящик в другую базу данных почтовых ящиков на том же или другом сервере, в том же или другом семействе Active Directory.
Сейчас мы применим команду Move-Mailbox к почтовому ящику John Doe ([email protected]), чтобы переместить его в базу данных под названием TestMBX, и вы поймете, что это вовсе не трудно.

Отображение размеров пользовательского почтового ящика
И последней задачей в этой статье будет отображение размеров пользовательского почтового ящика. Полный синтаксис команды будет следующим:

Сначала мы получим статистику всех почтовых ящиков локального сервера.

Используя Pipes вы имеете простой способ получить статистику почтовых ящиков, которую можно сохранить в Microsoft Excel файле или в HTML. В результате вы очень просто можете отправить ее пользователям с помощью Email или Intranet, поскольку если у вас еще нет такой проблемы, она может возникнуть в ближайшие месяцы: у ваших пользователей будет повышаться объем данных в почтовых ящиках, и они в ближайшее время превысят выделенные квоты.
Заключение
Как вы видели, администрирование Exchange Server 2007 является довольно простым, если использовать комплексные команды Powershell. Они довольно просты и логичны, поэтому вам не придется испытывать огромных трудностей во время их использования. А если вы не знаете синтаксис каждой команды (что довольно нормально для администраторов и консультантов), команда помощи отобразит их вам.
Если у вас все еще есть вопросы, не стесняйтесь, пишите.