Если вы администратор Exchange с большим стажем, рано или поздно вы сталкивались с проблемой отсутствия консольного управления сервером. Тут на помощь приходит утилита ExchMbx.
Во время разработки Microsoft Windows 2003 Server перед одной из команд разработчиков была поставлена цель, предоставить интерфейс командной строки (CLI) для любой задачи, решаемой через GUI. Надо отметить, это им почти удалось. Например, любая задача (манипуляция объектами AD, управления DNS и т.п.), которая может быть решена с использованием различных MMC консолей, решается и через CLI.
Но, используя командное управление, нам всегда не хватало возможности выполнять задачи, связанные с Exchange. Например, включение/отключения почтовых ящиков для AD пользователей и групп, работы с контактами, перенос почтовых ящиков между разными контейнерами. К сожалению, в Exchange 2000 и 2003 отсутствует интерфейс командной строки, хотя следующий Exchange (Exchange 12) будет поставляться с MONAD Shell (MSH), что предоставит полную поддержку командной строки для управления сервером Exchange. О MONAD (MSH) можно узнать подробнее вот тут:
http://www.microsoft.com/technet/community/chats/trans/windowsnet/wnet_120704.mspx
Но что же делать до официального релиза Exchange 12 (запланированного на вторую половину 2006 года)? Мы используем маленькую утилиту, называющуюся ExchMbx, созданную Джо Ричардсом (Joe Richards, Windows Server Directory Services MVP) - человеком, стоящим за joeware.net, разработчиком многих других известных утилит (таких как ADFind и ADMod). Копию ExchMbx можно стянуть, нажав кнопку Download Now на этом сайте.
Требования ExchMbx
ExchMbx может быть запущен на Windows 2000, Windows XP или Windows 2003 Server, в добавок ко всему, на машине должны быть установлены утилиты Exchange System Manager.
Использование ExchMbx
Я не буду детально описывать каждую опцию ExchMbx (запустите ExchMbx /? или посетите сайт для более полной информации), эта статья была написана для того, чтобы заинтересовать вас и показать, насколько эта утилита реально мощна. Т.е. экспериментировать остаётся непосредственно вам (рекомендуется это делать на тестовых машинах, не затрагивая серьёзные системы).
Внимание!
Джо на своём сайте предупреждает, что утилита может быть потенциально опасна, т.к. вносит некоторые серьёзные изменения в AD. Используйте её только при полном понимании процесса. Автор не несёт никакой ответственности в случае, если вы снесёте свой домен.
Ниже мы остановимся на трёх примерах управления Exchange сервером из командной строки.
Включение mailbox у существующих AD пользователей
В первом примере я покажу, как включить mailbox у уже существующего пользователя AD. Как видите, мы добавляем почтовый ящик пользователю Testuser01, расположенному в OU Users, который, в свою очередь, находится в OU Hosted. Пользователь принадлежит домену Exchangeadmin.dk (DC=Exchangeadmin,DC=dk), и мы создаёт ящик в Mailbox Store (EADKS95), расположенном в First Storage Group на Exchange сервере EADKS05 (см рис. 1). Ящик создаётся с помощью -cr опции.
C:\ExchMbx>exchmbx -b "CN=Testuser01,OU=Users,OU=Hosted,DC=Exchangeadmin,DC=dk"
-cr Eadks05:"First Storage Group:Mailbox Store (EADKS05)"
Рис. 1: Создание почтового ящика для пользовательского объекта AD
Перенос ящика
Во втором случае мы перенесём ящик из одного хранилища в другое. Как вы видели выше, мы создали ящик в Mailbox Store (EADKS05), далее мы перенесём его в другой Mailbox Store (см. рис.2). Ящик перемещается опцией -move.
C:\ExchMbx> exchmbx -b "CN=Testuser01,OU=Users,OU=Hosted,DC=Exchangeadmin,DC=dk"
>-move Eadks05:"First Storage Group:Mailbox Store 2 (EADKS05)"
Отключение почтового ящика пользователя
И последний пример — отключение почтового ящика. Здесь особо нечего добавить к вышесказанному, нужно всего лишь указать пользователя с опцией -clear (см. рис.3).
Замечание:
Хотя вы и удалили почтовый ящик, на самом деле он не удалился, а всего лишь отсоединился от соответствующего пользователя. Ничего не мешает подключить ящик к любому другому AD пользователю.
C:\ExchMbx\ExchMbx>exchmbx -b "CN=Testuser01,OU=Users,OU=Hosted,DC=Exchangeadmin,DC=dk"
-clear
Мы поверхностно коснулись возможностей утилиты ExchMbx, т.е. приведённые примеры — всего лишь основы. Например, вы можете использовать ExchMbx в комбинации с ADFind или текстовым файлом со списком объектов, подлежащим изменению.