Администраторы Exchange 2007 могут выполнять большинство функций ExMerge с помощью специальных команд PowerShell

Тем, кому доводилось работать с системами Exchange, наверняка не раз приходилось пользоваться мастером объединения почтовых ящиков Exchange Server Mailbox Merge Wizard (ExMerge). ExMerge был представлен потребителям в 1997 году в составе версии Exchange Server 4.0, и с тех пор его функциональные возможности постоянно росли. ExMerge можно загрузить по адресу http://www.microsoft.com/downloads/details.aspx?familyid=429163ec-dcdf-47dc-96da-1c12d67327d5&displaylang=en. Именно эта утилита завоевала симпатии наибольшего числа пользователей по сравнению с любым другим инструментальным средством, созданным командой разработчиков Exchange за последние десять лет. С появлением на рынке Exchange Server 2007 может возникнуть вопрос, сохранился ли в нем мастер ExMerge. Знакомого пользовательского интерфейса мы уже не увидим, но многие функции из тех, что чаще всего применялись приверженцами ExMerge, были переписаны как часть оболочки Exchange Management Shell — мощной сценарной среды командной строки, в основу которой положены технологии Windows PowerShell и которая является главным управляющим компонентом Exchange 2007. Итак, функции экспорта в персональную папку-хранилище (PST) и импорта из нее исчезли из этой версии и перешли в RTM-версию Exchange 2007. Представители группы разработчиков Microsoft Exchange публично заявили, что поддержка PST будет реализована одновременно с выпуском пакета обновлений Exchange 2007 Service Pack 1 (SP1).
Microsoft не будет блокировать доступ ExMerge к Exchange 2007 по крайней мере до этого времени (если такая блокировка вообще когда-либо будет реализована), так что компании смогут использовать ExMerge при работе с Exchange 2007 до тех пор, пока утилита ExMerge не будет включена собственно в Exchange 2007. Тем не менее Microsoft более не вкладывает средства в развитие ExMerge, и дни этого инструмента сочтены. Ниже будут описаны наиболее популярные варианты использования ExMerge в версиях, выпускавшихся до выхода в свет Exchange 2007, а затем я расскажу о том, в какой степени среда Exchange Management Shell обеспечивает возможность использования этих вариантов.
В случае переноса, слияния и разделения администраторы используют ExMerge в качестве своего рода примитивного средства миграции при выполнении определенных операций по перемещению почтовых ящиков внутри организаций или при переводе их из одной организации в другую — особенно в сетях, не имеющих широкополосных соединений, либо в ситуациях, когда между двумя организациями отсутствуют доверительные отношения. ExMerge обеспечивает возможность экспорта больших объемов данных в хранилища PST из исходной организации и последующего импорта этих данных в целевую организацию. При разделении организаций ExMerge позволяет экспортировать весь контент после определенной даты (например, даты завершения приобретения), обеспечивая способ отсечения данных в тех случаях, когда часть организации отделяется по той или иной причине.
Организации все чаще полагаются на ExMerge как на базовое средство предоставления данных в правоохранительные органы при проведении разного рода расследований (аудита, юридических разбирательств, расследований в области безопасности и в кадровой сфере). Обычно в ходе таких расследований на администратора Exchange возлагается обязанность собрать все почтовые сообщения из данного почтового ящика или набора почтовых ящиков, экспортировать их в персональные хранилища (PST) и затем передать эти PST запрашивающей инстанции. Более подробные сведения о предоставлении правоохранительным органам сообщений электронной почты можно найти в статье «План поиска сообщений электронной почты», опубликованной в Windows IT Pro/RE № 7 за 2006 г. Удобство работы с мастером ExMerge состояло в том, что он позволял администраторам выполнять описанные выше экспортные операции с большими объемами данных; обеспечивал сохранение удаленных объектов, давал возможность выбирать указанные папки и выполнять фильтрацию по теме, именам присоединенных файлов, времени доставки или по времени последнего изменения.
Кроме того, ExMerge часто используется для выполнения операций поиска и удаления, в тех случаях, когда возникает необходимость удалить почтовое сообщение из нескольких почтовых ящиков по всей организации, если оно было отправлено по ошибке (например, когда речь идет о конфиденциальном отчете). Разумеется, ExMerge ни в коем случае не следует считать средством поиска в масштабе предприятия, однако эта программа, по меньшей мере, позволяет искать и удалять сообщения на указанных серверах. Подобным же образом в организациях иногда возникает потребность в удалении потенциально вредоносного контента, например исключительно ловко составленных фишинг-сообщений или сообщений, инфицированных вирусами, которым тем или иным способом удалось обойти защитные барьеры. При необходимости выполнения операций резервного копирования и восстановления данных организации иногда используют ExMerge для автоматизации второго слоя «резервного копирования», который обеспечивает регулярный экспорт всех или части почтовых ящиков в PST. Администраторы используют эти функции экспорта как дополнение к существующим программным средствам резервирования в тех случаях, когда обычные функции резервного копирования и восстановления не работают как положено. В некоторых ситуациях они применяются для обеспечения восстановления на уровне объектов, когда не используются дорогостоящие и требующие больших временных затрат средства резервирования на уровне базы данных элементов почтового сервера.
Еще один, не столь распространенный сценарий, ради которого, как я слышал, в ряде организаций не отказываются от использования ExMerge, состоит в том, чтобы с помощью этого средства спасать данные из неисправных баз данных Exchange, если потребуется. И хотя группы восстановления хранилища (Recovery Storage Groups, RSG) в значительной степени упростили процесс восстановления, ExMerge все еще используется в тех случаях, когда требуется восстановление на уровне объектов или почтовых ящиков в контексте групп RSG, поскольку эти группы не имеют собственных средств фильтрации.
Наконец, ExMerge используется в целях архивации данных. Как правило, архивируются (с перемещением в хранилища PST) почтовые ящики уволившихся сотрудников. Таким образом обеспечивается сохранность данных на случай внезапного возвращения сотрудника в организацию или для того, чтобы данные были под рукой, если они понадобятся. Многие организации включают операцию по перемещению содержимого почтового ящика в PST средствами ExMerge в мероприятия по подготовке к завершению работы в организации сотрудника или консультанта.

Exchange Management Shell

Специалисты Microsoft включили в состав Exchange 2007 интерфейс командной строки Exchange Management Shell, базирующийся на языке сценариев PowerShell. Вместе с PowerShell администраторы Exchange получают не только язык сценариев, но и интерактивную оболочку и средство для создания ориентированных на задачи команд. Эти команды, именуемые cmdlets (произносится command-lets), формируются в виде комбинации «глагол-существительное»; на английском языке эквивалентами таких команд были бы сочетания reboot-computer или sell-car.
Еще один новый компонент Exchange 2007 — Exchange Management Console (заменившая собой диспетчер Exchange System Manager-ESM). Проектировщики Microsoft построили консоль таким образом, что функциональные возможности, реализованные через графический интерфейс, представляют собой подмножество функций, доступных через командную строку. Мало того, все административные действия для Exchange 2007 могут теперь выполняться с помощью сценариев управляющей оболочки. Exchange Management Shell предоставляет администраторам Exchange доступ к мощному набору команд, cmdlets, PowerShell, которые способны выполнять почти все широко используемые функции, необходимые для работы с ExMerge.
Чтобы приступить к освоению среды Exchange Management Shell, требуется возможность подключения к серверу Exchange 2007, который имеет почтовые ящики с данными. Я исхожу из того, что в вашей сети такой сервер уже установлен и должным образом настроен. Я подробно опишу все этапы установки Exchange Management Shell на отдельной административной рабочей станции, поскольку многие администраторы, вероятно, захотят работать таким же образом, как работали с мастером ExMerge, то есть без необходимости иметь дело непосредственно с сервером Exchange.
На компьютере, где планируется устанавливать Exchange Management Shell, нужно выполнить программу установки Exchange 2007, принять условия лицензии и запустить утилиту Custom Exchange Server Installation. Можно принять предлагаемый по умолчанию путь C:Program FilesMicrosoftExchange Server или выбрать другое место для размещения программы. Далее необходимо проследить, чтобы в диалоговом окне Server Role Selection был выставлен только один флажок — Management Tools,  как показано на экране 1.

Экран 1.

По завершении процесса загрузки как Exchange Management Console, так и оболочка Exchange Management Shell должны быть установлены локально.
Чтобы это проверить, надо нажать кнопку Start, выбрать в открывшемся меню элементы Programs, Microsoft Exchange Server 2007 и убедиться в доступности компонентов Exchange Management Shell и Exchange Management Console.

Первые шаги

Теперь запустим оболочку Exchange Management Shell и кратко рассмотрим механизм ее работы.
На черном экране DOS рядом с командным приглашением (которое будет выглядеть примерно так: [PS] C:Documents and SettingsAslan>) появляется мигающий курсор. Теперь проведем несколько экспериментов. Введите текст

[PS] get-exchangeserver

Вы должны получить результат, аналогичный изображенному. В сущности, вы быстро извлекли некоторые стандартные метаданные о сервере Exchange, с которым имеете связь. Теперь нужно ввести команду

[PS] get-exchangeserver |
get-mailboxdatabase

Эта и другие команды в данной статье могут располагаться на нескольких строках, но вводить их следует одной строкой. То, что мы сейчас проделали, называется «конвейерная обработка» с вывода команды get-exchangeserver на ввод команды get-mailbox-database с целью выявления имен всех баз данных, размещенных на сервере, к которому мы подключены.
Посмотрим теперь, много ли функций ExMerge реализовано в Exchange 2007. Будем использовать три команды: move-mailbox, restore-mailbox и export-mailbox. Мы пройдем по всем этапам описанных выше сценариев и посмотрим, как нужно использовать команды cmdlets оболочки Exchange Management Shell в Exchange 2007 для выполнения функций, подобных тем, что мы выполняли с помощью утилиты ExMerge.

Миграция, слияние и разделение

Как уже говорилось, многие компании применяли ExMerge для реализации различных сценариев миграции, которые используются в организациях небольшого масштаба, или в тех случаях, когда данные экспортировались в PST, а после этого реимпортировались в целевой набор почтовых ящиков в рамках процесса миграции. Exchange 2007 обеспечивает выполнение средствами EMS следующих вариантов миграции.
Межорганизационные (из одного леса в другой) или внутриорганизационные (внутри одного леса) перемещения почтовых ящиков. В подобных ситуациях организации используют либо параметр Move Mailbox внутри узла Recipient ConfigurationMailbox консоли Exchange Management Console, либо команду cmdlet move-mailbox, выполняемую в среде Exchange Management Shell. Оба механизма поддерживаются в межорганизационной модели (при перемещениях из одного леса в другой); требуется только наличие средств связи с обоими лесами и еще чтобы как на исходном, так и на целевом сервере была установлена одна из следующих систем: Exchange 2007, Exchange Server 2003 SP1 или более поздняя версия либо Exchange 2000 Server SP3 или более поздняя версия. Дополнительную информацию о перемещении почтовых ящиков из одного леса в другой можно найти в заметках Пола Макнайта «Exchange 2007 migration overview» и «Exchange 2007 Cross Org Mailbox Migration» в журнале Microsoft Exchange Team Blog по адресам http://msexchangeteam.com/archive/2006/10/27/429522.aspx и http://msexchangeteam.com/archive/2006/11/02/430289.aspx соответственно.
Для осуществления внутриорганизационных перемещений можно также открыть узел Recipient ConfigurationMailbox консоли Exchange Management Console и задействовать параметр Move Mailbox. Однако для выполнения межорганизационных перемещений (из одного леса в другой) следует использовать команду move-mailbox; Exchange Management Console (по крайней мере в версии Exchange 2007 RTM) не имеет этой функции.
Миграция от старых систем к системе Exchange 2007 в условиях отсутствия широкополосных соединений или отсутствия доверительных отношений между двумя организациями. В подобных случаях организации могут по-прежнему использовать ExMerge, по крайней мере до того времени, когда на рынке появится Exchange 2007 SP1, или до тех пор, пока Microsoft допускает неблокируемый доступ к базам данных Exchange 2007. Как уже отмечалось выше, здесь существует лишь одно важное ограничение: невозможно запустить ExMerge непосредственно с сервера Exchange 2007. Среда Exchange Management Shell не содержит механизма для реализации такого сценария, хотя ситуация изменится с началом поставок версии Exchange 2007 SP1, где будут предусмотрены функции для работы с хранилищами PST.
Миграция от Exchange 2007 к Exchange 2007 при отсутствии широкополосных соединений и отношений доверия между организациями. Для выполнения подобных переходов Microsoft рекомендует целиком переносить базы данных из исходной организации в целевую. Допустим, нам нужно перенести базу данных Mailbox Database с сервера Exchange 2007 NARNIAEXMBX01 на другой сервер с именем ARCHENLANDEX01, который расположен на другом конце отличающегося весьма низким быстродействием соединения. Сначала на целевом сервере следует создать новую базу данных с тем же именем, что и у исходной базы данных (например, «Mailbox Database»), и проследить за тем, чтобы был выставлен флажок Allow this Database to be Overwritten by a Restore. Это можно сделать вручную с консоли Exchange Management Console или с помощью команды Exchange Management Shell; главное — дать новой базе данных то же имя, которое имеет исходная база данных.
Затем следует вручную скопировать все файлы базы данных (.edb, файлы регистрации транзакций и каталог индекса контента) из базы данных NARNIAEXMBX01 в нужное место базы данных ARCHANLANDEX01. Теперь смонтируйте базу данных с помощью команды

[PS] mount-database
Mailbox Database’

Наконец, требуется проследить за тем, чтобы все почтовые ящики в этом хранилище были перенастроены в Active Directory (AD). В настройках должно отражаться их новое местоположение; для этого необходимо выполнить команду. Я использовал команду get-MailboxStatistics прежде всего для получения списка всех почтовых ящиков базы данных, затем перенес результаты в move-mailbox -Configu- rationOnly для переустановки настроек всех обнаруженных почтовых ящиков.

Предоставление документов правоохранительным органам

ExMerge часто используется для извлечения из почтовых ящиков данных по запросу инстанций, ведущих расследование. Для выполнения этой функции в системе Exchange 2007 можно задействовать команду export-mailbox. Сначала с помощью get-mailbox-database команда определяет, какие почтовые ящики имеются в базе данных Mailbox Database, а потом передает сформированный список почтовых ящиков команде export-mailbox. Затем команда выполняет в этих почтовых ящиках поиск всех вложенных файлов, имена которых содержат слово money, и копирует все обнаруженные сообщения в почтовый ящик лица, ведущего расследование. Он находится в папке «Входящие». Для каждого почтового ящика, в котором обнаружены соответствующие данные, команда export-mailbox создает папку и автоматически присваивает ей имя в соответствии с текущей датой и временем. На экране 7 представлено несколько папок, созданных с помощью команды export-mailbox. Эта команда поддерживает поиск на основе следующих параметров: -StartDate, -EndDate, -AttachmentKeywords, -SubjectKeywords и -ContentKeywords.

Экран 7. 

В прошлом организации реагировали на запросы ведущих расследование инстанций следующим образом: ИТ-администраторы с помощью ExMerge перегружали содержимое почтовых ящиков в хранилища PST, а затем хранилища PST передавались в соответствующие службы. После выпуска Exchange 2007 ИТ-администраторы по-прежнему могут сами перегружать содержимое почтовых ящиков в PST (вручную с помощью Outlook). С другой стороны, они могут просто сообщать координаты почтового ящика сотрудникам ведущей расследование инстанции и отвечать на запросы о предоставлении материалов по мере поступления запросов. После этого ведущие расследование лица могут с помощью Outlook экспортировать в PST либо каждую папку (соответствующую почтовому ящику), либо, если возникает такая необходимость, сообщения и представляющие интерес вложенные файлы. В большинстве случаев прямой доступ к системе обработки электронной почты следователям или прокурорам не предоставляется, так что ИТ-администраторы, по всей вероятности, будут по-прежнему участвовать в процессе до тех пор, пока в системе Exchange 2007 SP1 не будет реализована функция экспорта в PST.
Разумеется, нужно иметь в виду, что данный набор технологий предоставления документов правоохранительным органам не учитывает требований системы охраны вещественных доказательств при их передаче. Более подробную информацию о системе охраны вещественных доказательств при их передаче можно найти в статье «План поиска сообщений электронной почты», опубликованной в журнале Windows IT Pro № 7 за 2006 г.

Поиск и удаление

Команду export-mailbox можно использовать и для выполнения поиска и удаления (например, удаления сообщения из нескольких почтовых ящиков или для удаления нескольких сообщений из одного почтового ящика). Для этого достаточно присоединить к команде export-mailbox параметр — DeleteContent. Эта команда дает возможность отыскать в содержимом почтового ящика все элементы, содержащие слово resume, удалить их и поместить список удаленных объектов в почтовый ящик сотрудника службы, ведущей расследование.
Разумеется, нельзя забывать о том, что при выполнении поиска снижается быстродействие производственных серверов Exchange, ведь данная операция предполагает обращение к полнотекстовому индексу на каждом сервере. В системе Exchange 2007 средства индексирования были кардинально усовершенствованы, и теперь полнотекстовое индексирование по умолчанию активируется на всех серверах Exchange 2007. А поскольку полнотекстовое индексирование базируется на IFilters, успех поиска по содержимому присоединенных файлов всегда будет зависеть от того, оснащен ли каждый вовлеченный в процедуру поиска сервер Exchange 2007 средствами IFilters.

Операции вторичного резервного копирования и восстановления

Как уже отмечалось, с помощью утилиты ExMerge организации иногда выполняют операции вторичного резервного копирования: почтовые ящики регулярно экспортируются в PST в автоматическом режиме. В системе Exchange 2007 существует только одна возможность экспорта в PST — с помощью программы Outlook, поэтому выполнение данного варианта вторичного резервного копирования средствами Exchange 2007 невозможно, по крайней мере до выхода в свет SP1. А пока организациям, использующим ExMerge для выполнения вторичного резервного копирования, придется всегда держать ExMerge наготове.
Кроме того, ExMerge используется в организациях для восстановления информации из неисправных баз данных по мере необходимости. В системе Exchange 2007 эту задачу можно решить с помощью команды restore-mailbox в сочетании с методом восстановления с использованием временной вспомогательной (dial-tone) базы данных. Если, к примеру, база данных Mailbox Database оказалась дефектной, можно принять следующие меры:

  1. Переместить испорченные файлы в другое место.
  2. Смонтировать пустую вспомогательную базу данных в исходном месте.
  3. Восстановить исходную базу данных с резервной копии.
  4. Поменять местами восстановленную базу данных и вспомогательную базу данных так, чтобы пользователи получили исходные почтовые ящики с содержимым, поступившим на момент снятия резервной копии.
  5. Переместить вспомогательную базу данных в группу RSG и использовать команду restore-mailbox для объединения вновь полученных данных с содержимым исходных почтовых ящиков. Это можно сделать с помощью команды, аналогичной той.

В сущности, эта процедура объединяет все почтовые ящики базы данных Mailbox Database, если они представлены также во вспомогательной базе данных.
Организации используют ExMerge и в тех случаях, когда требуется выполнить процедуру восстановления на уровне объектов или почтовых ящиков с использованием групп RSG. Для выполнения такой процедуры можно задействовать команду restore-mailbox с указанием данных почтового ящика, темы или интересующих вас ключевых слов в содержании сообщений. Причем важно  помнить о стандартных предостережениях, касающихся работы с группами RSG.

Архивирование почтовых ящиков бывших сотрудников

Для архивирования почтовых ящиков служащих или консультантов, покинувших организацию, можно использовать метод, аналогичный методу, применяемому при предоставлении документов правоохранительным органам. Пока что проще всего продолжать использование ExMerge. Если такой возможности нет, можно или просто зарегистрироваться для доступа к почтовому ящику и экспортировать его содержимое в хранилище PST, или использовать команду export-mailbox  для экспорта содержимого почтовых ящиков в папку, расположенную в другом почтовом ящике, а затем с помощью Outlook сохранить это содержимое в PST. С появлением Exchange 2007 SP1 описанный процесс можно будет осуществить без выполняемой вручную операции сохранения контента в PST из программы Outlook.

Взгляд в будущее

С появлением Exchange 2007 срок жизни утилиты ExMerge подошел к концу (чем бы это ни обернулось для нас в дальнейшем). Рано или поздно всем нам придется закатывать рукава и проходить ускоренный курс изучения среды Exchange Management Shell для управления серверами Exchange. Понятно, что в новых условиях, сложившихся с появлением Exchange 2007, перед администраторами Exchange открылись новые горизонты, включая беспрецедентные возможности поиска по всем уровням контента Exchange в масштабах организации, а также возможности перемещения, экспорта, восстановления или выполнения операции поиска/удаления объектов, представляющих интерес. Кроме того, теперь можно просто связывать вместе несколько довольно простых команд и передавать выходные данные одной команды в другую, а затем автоматизировать выполнение всего набора команд так, чтобы иметь возможность задействовать их повторно.
В настоящее время пользователи Exchange 2007 могут применять функции утилиты ExMerge. Пока неизвестно, будет ли корпорация Microsoft блокировать доступ к ExMerge после выхода в свет версии Exchange SP1. К счастью, почти все ключевые функции ExMerge доступны и в системе Exchange 2007 (с досадным исключением функций экспорта в хранилища PST и импорта из них), так что я рекомендую читателям начать осваивать новые способы решения привычных задач.

Дэвид Сенгупта (mailman@quest.com) — менеджер группы Infrastructure Management в компании Quest Software; имеет сертификат Microsoft Exchange MVP. Автор книг, журнальных статей и технических документов по Exchange