Переміщення поштових скриньок в exchange 2018 (частина 3)

Управління запитами переміщення


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

Як і у випадку з командою New-MoveRequest, для цієї команди теж є безліч параметрів Get-MoveRequest. Повний список параметрів можна знайти тут. Декількома з найважливіших параметрів є такі:

Get-MoveRequest 'MoveStatus InProgress

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


Малюнок 14: Запити переміщення з певним статусом

SourceDatabase: цей параметр показує всі поштові скриньки, які переміщаються з певною вихідної бази даних, тому він корисний для визначення навантаження на вихідний сервер поштових скриньок.

SuspendWhenReadyToComplete: цей параметр використовується для припинення запитів переміщення, перш ніж ящик буде остаточно переміщено в цільову базу даних. Про це параметрі ми поговоримо трохи пізніше.

TargetDatabase: цей параметр схожий на SourceDatabase за винятком того, що він показує цільову базу.
Призупинення запиту переміщення

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

New-MoveRequest 'Identity neil' SuspendWhenReadyToComplete

Якщо ви читали попередні частини цього циклу, ви помітите, що вищевказана команда не включає параметр TargetDatabase для вказівки будь-якої певної бази даних, в яку буде переміщений ящик. Без цього параметра база даних буде обрана системою.

Як ми вже говорили, процес переміщення поштової скриньки буде відкладений, поки не відбудеться остаточне переміщення. Його можна налаштувати за допомогою виконання команди Get-MoveRequest. Погляньте на малюнок 15, де видно, що поштова скринька була переміщений з використанням параметра SuspendWhenReadyToComplete. Трохи пізніше статус цього запиту переміщення прийме значення InProgress, і вміст поштової скриньки переміщається. Після чергового оновлення команда Get-MoveRequest покаже, що статус запиту тепер змінився на AutoSuspended, а саме такий статус відображається при використанні параметра SuspendWhenReadyToComplete. Подібно до цього консоль Exchange Management Console показує цей статус, як видно на малюнку 16.


Переміщення поштових скриньок в exchange 2010 (Частина 3)

Малюнок 15: Призупинений запит переміщення 'Exchange Management Shell


Переміщення поштових скриньок в exchange 2010 (Частина 3)

Малюнок 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. У цьому прикладі імена користувачів також є псевдонімами поштових скриньок. Можна скористатися наступним сценарієм для виконання цього завдання:

ForEach ($ SingleMailbox in $ MailboxesToMove)

'TargetDatabase' Mailbox Database 002 '' BatchName Batch001>

У цьому сценарії видно, що ми спочатку визначили $ MailboxesToMove як масив, що містить імена трьох псевдонімів поштових скриньок для переміщення. Потім кожен псевдонім поштових скриньок передається в команду New-MoveRequest для обробки незалежно від розташування вихідної бази даних поштових скриньок.

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

Переміщення поштових скриньок в exchange 2010 (Частина 3)

Малюнок 18: Приблизний Mailboxes.txt файл

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

$ Mailboxes = Get-Content ./mailboxes.txt

For ($ Start = 0; $ Start -lt $ Mailboxes.length; $ Start ++)

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

У цьому сценарії команда Get-Content використовується для отримання вмісту mailboxes.txt файлу і призначення вмісту для $ Mailboxes. Потім виконується петля через вміст $ Mailboxes і для кожної петлі використовується команда New-MoveRequest.

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

Схожі статті