На главную страницу
 
  Главная 
  Новости 
  Статьи  RSS
  Программное обеспечение 
  Форум 
  Опросы 
  Полезные ссылки 
MSExchange.ru ISADocs.ru WinSecurity.ru NetDocs.ru

Exchange 5.5
Exchange 2000
Exchange 2003
Exchange 2007
Общее
Exchange 2010

Поиск по сайту


Авторизация

Запомнить меня на этом компьютере
  Забыли свой пароль?
  Регистрация

Подписка

Изменение параметров

Статистика

Hits 2085818
11262
Hosts 1617633
2348
Visitors 166755
2882

11

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


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

Версия для печати Версия для печати

Эта статья переведена силами и средствами компании Red Line Software. Размещение данного переведенного материала на других сайтах без разрешения компании Red Line Software запрещается.

Если вы хотите прочитать предыдущие части этого цикла статей, перейдите по ссылкам

Введение

Это третья часть цикла статей, посвященного процессу перемещения почтовых ящиков в одном лесу с помощью новой функции запроса перемещения в 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 Рисунок 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: Запросы перемещения с определенным статусом Рисунок 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 Рисунок 15: Приостановленный запрос перемещения ' Exchange Management Shell
Рисунок 16: Приостановленный запрос перемещения ' Exchange Management Console Рисунок 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: Фильтрация по имени пакета Рисунок 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 файл Рисунок 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.

Если вы хотите прочитать предыдущие части этого цикла статей, перейдите по ссылкам





Рейтинг:  
0 (голосов 0)  
 1   2   3   4   5    

Автор: Нейл Хобсон (Neil Hobson)

Нейл является основным консультантом в Silverslands (http://www.silversands.co.uk), Золотом партнере Microsoft в Великобритании и отвечает за разработку, применение и поддержку приложений для многих крупных клиентов по всей Европе. В IT отрасли он трудится с 1987 года и специализируется на отправке сообщений с 1995. Он начинал работать еще с Exchange 4.0. Он также обладает званием Exchange MVP и уделяет некоторую часть своего личного времени на помощь различным пользователям Exchange, ведет блоги, посвященные Exchange. Эти блоги вы можете найти по адресу http://www.msexchangeblog.com.

С Нейлом можно связаться по адресу [email protected].

Эта статья переведена и опубликована с разрешения www.msexchange.org

Эта статья переведена силами и средствами компании Red Line Software. Размещение данного переведенного материала на других сайтах без разрешения компании Red Line Software запрещается.





Работает на «Битрикс: Управление сайтом»
Работает на «Битрикс:
 Управление сайтом»
© MSExchange.ru, 2005-2010