Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Exchange Server Exchange Server 2010/2013 Перемещение почтовых ящиков в Exchange 2010 (часть 3) RSS

Перемещение почтовых ящиков в Exchange 2010 (часть 3)

Текущий рейтинг: 4 (проголосовало 2)
 Посетителей: 3048 | Просмотров: 4867 (сегодня 0)  Шрифт: - +

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

Управление запросами перемещения

Оболочку Exchange Management Shell можно использовать для просмотра того, как продвигается запрос перемещения с помощью команды Get-MoveRequest. В своем стандартном состоянии команда Get-MoveRequest вернет результаты всех доступных запросов перемещения. Для примера посмотрите на рисунок 13, где показан образец информации, возвращенной командой Get-MoveRequest. Здесь показан только один запрос перемещения, а также видно, что мой почтовый ящик был перемещен в целевую базу данных под названием TEST. Вы также видите, что запрос перемещения завершен.

*
Увеличить

Рисунок 13: Результаты Get-MoveRequest

Как и в случае с командой New-MoveRequest, для этой команды тоже доступно множество параметров Get-MoveRequest. Полный список параметров можно найти здесь. Несколькими из самых важных параметров являются следующие:

MoveStatus: с помощью этого параметра вы можете использовать результаты команды Get-MoveRequest для получения запросов перемещения только с определенным состоянием. Например, если вам нужно просмотреть все запросы перемещения со статусом InProgress, нужно использовать следующую команду:

Get-MoveRequest 'MoveStatus InProgress

Пример результатов такой команды показан на рисунке 14. Действительными параметрами статуса будут None, Queued, InProgress, AutoSuspended, CompletionInProgress, Completed, CompletedWithWarning, Suspended и Failed.

*
Увеличить

Рисунок 14: Запросы перемещения с определенным статусом

SourceDatabase: этот параметр показывает все почтовые ящики, которые перемещаются из определенной исходной базы данных, поэтому он полезен для определения нагрузки на исходный сервер почтовых ящиков.

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

TargetDatabase: этот параметр похож на SourceDatabase за исключением того, что он показывает целевую базу.

Приостановка запроса перемещения

Как мы вкратце рассмотрели во второй части этого цикла и в предыдущем разделе, команды New-MoveRequest и Get-MoveRequest включают SuspendWhenReadyToComplete параметр, который используется для приостановки запроса перемещения, прежде чем окончательное место целевой базы данных будет обновлено. С таким подходом данные почтового ящика перемещаются, однако последнее переключение осуществляется только после того, как приостановленный запрос перемещения снова запущен. Также можно приостановить существующий запрос перемещения с помощью команды Suspend-MoveRequest.

Давайте рассмотрим использование параметра SuspendWhenReadyToComplete для команды New-MoveRequest. Примером команды для выполнения будет:

New-MoveRequest 'Identity neil 'SuspendWhenReadyToComplete

Если вы читали предыдущие части этого цикла, вы заметите, что вышеуказанная команда не включает параметр TargetDatabase для указания какой-либо определенной базы данных, в которую будет перемещен ящик. Без этого параметра база данных будет выбрана системой.

Как мы уже говорили, процесс перемещения почтового ящика будет отложен, пока не произойдет окончательное перемещение. Его можно настроить с помощью выполнения команды Get-MoveRequest. Взгляните на рисунок 15, где видно, что почтовый ящик был перемещен с использованием параметра SuspendWhenReadyToComplete. Немногим позже статус этого запроса перемещения примет значение InProgress, и содержимое почтового ящика перемещается. После очередного обновления команда Get-MoveRequest покажет, что статус запроса теперь изменился на AutoSuspended, а именно такой статус отображается при использовании параметра SuspendWhenReadyToComplete. Подобно этому консоль Exchange Management Console показывает этот статус, как видно на рисунке 16.

*
Увеличить

Рисунок 15: Приостановленный запрос перемещения ' Exchange Management Shell

*
Увеличить

Рисунок 16: Приостановленный запрос перемещения ' Exchange Management Console

Когда администратор решит, что можно завершить перемещение, запрос перемещения можно возобновить выполнением команды Resume-MoveRequest со следующим синтаксисом:

Resume-MoveRequest 'Identity neil

Когда эта команда выполнена, повторный запуск команды Get-MoveRequest должен показать статус Completed.

Пакетные имена (Batch Names)

В предыдущей части этого цикла мы рассмотрели параметры команды New-MoveRequest и увидели, что один из этих параметров называется BatchName. С помощью этого параметра можно указывать имя пакета при перемещении нескольких почтовых ящиков, которое затем можно использовать с командой Get-MoveRequest для поиска определенных пакетов перемещения почтовых ящиков.

Имена пакетов вполне полезны при перемещении содержимого одной базы почтовых ящиков в другую. Чтобы все упростить, я просто создам два запроса для одинаковых почтовых ящиков и назначу каждому различные имена пакетов. Затем мы воспользуемся командой Get-MoveRequest, чтобы продемонстрировать, как искать эти имена пакетов. Сначала, давайте создадим два простых запроса перемещения с помощью оболочки Exchange Management Shell с указанием разных имен пакетов:

New-MoveRequest 'Identity neil 'TargetDatabase 'Mailbox Database 003' 'BatchName Batch001

New-MoveRequest 'Identity rob 'TargetDatabase 'Mailbox Database 004' 'BatchName Batch002

После создания этих запросов перемещения можно использовать команду Get-MoveRequest с BatchName параметром для обнаружения всех запросов перемещения почтовых ящиков, связанных с определенным именем пакета. Например, чтобы посмотреть все запросы перемещения почтовых ящиков, связанные с именем пакета Batch001, нужно воспользоваться следующей командой:

Get-MoveRequest 'BatchName Batch001

Результаты этой команды показаны на рисунке 17, где видно, что только один из двух почтовых ящиков вернулся, поскольку второй ящик был перемещен с использованием другого имена пакета.

*
Увеличить

Рисунок 17: Фильтрация по имени пакета

Перемещение нескольких почтовых ящиков

Во второй части этого цикла мы рассмотрели перемещение пользовательского почтового ящика с помощью команды New-MoveRequest. Перемещение одного почтового ящика является простой задачей, поскольку псевдоним этого ящика просто нужно указать в параметре Identity команды New-MoveRequest. А как на счет перемещения нескольких почтовых ящиков? Это можно сделать несколькими способами, некоторые из которых будут описаны ниже.

Во-первых, довольно просто переместить все почтовые ящики из одной базы данных в другую просто путем передачи команды Get-MailboxDatabase в команду New-MoveRequest. Примером может служить следующая команда:

Get-Mailbox 'Database 'Mailbox Database 001' | New-MoveRequest 'TargetDatabase `

'Mailbox Database 002'

Если вам нужно переместить всего несколько почтовых ящиков, вы можете воспользоваться функцией массива в PowerShell. Предположим, что нам нужно переместить почтовые ящики, принадлежащие пользователям Neil, Rob и Mark. В этом примере имена пользователей также являются псевдонимами почтовых ящиков. Можно воспользоваться следующим сценарием для выполнения этой задачи:

$MailboxesToMove = 'neil','rob','mark'

ForEach ($SingleMailbox in $MailboxesToMove) {New-MoveRequest 'Identity $SingleMailbox `

'TargetDatabase 'Mailbox Database 002' 'BatchName Batch001}

В этом сценарии видно, что мы сначала определили $MailboxesToMove как массив, содержащий имена трех псевдонимов почтовых ящиков для перемещения. Затем каждый псевдоним почтовых ящиков передается в команду New-MoveRequest для обработки независимо от расположения исходной базы данных почтовых ящиков.

Также можно воспользоваться командой Get-Content, имеющейся в PowerShell. Прежде всего, нужно создать простой текстовый файл, содержащий список псевдонимов почтовых ящиков, которые вы собираетесь переместить. На рисунке 18 показан пример такого файла, это файл под названием mailboxes.txt.

*

Рисунок 18: Примерный Mailboxes.txt файл

Затем примерный сценарий для перемещения почтовых ящиков, перечисленных в файле mailboxes.txt, может выглядеть следующим образом:

$Mailboxes = Get-Content ./mailboxes.txt

For ($Start = 0; $Start -lt $Mailboxes.length; $Start++) {New-MoveRequest 'Identity `

$Mailboxes[$Start] -TargetDatabase 'Mailbox Database 002'}

В этом сценарии команда Get-Content используется для получения содержимого mailboxes.txt файла и назначения содержимого для $Mailboxes. Затем выполняется петля через содержимое $Mailboxes и для каждой петли используется команда New-MoveRequest.

Мы рассмотрим дополнительные способы перемещения нескольких почтовых в следующей части этого цикла статей.

Заключение

На этом закончим третью часть нашего цикла статей о локальных запросах перемещения. В этой части мы рассмотрели, как управлять запросами перемещения, включая то, как их приостанавливать. Мы также начали рассмотрение того, как перемещать несколько почтовых ящиков, и об этом продолжим говорить в следующей части, но на этот раз мы рассмотрим сценарий MoveMailbox, поставляемый в Exchange 2010.

Автор: Нейл Хобсон  •  Иcточник: www.msexchange.ru  •  Опубликована: 04.06.2010
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   Exchange 2010.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.