シェルで MoveMailbox.ps1 スクリプトを使用してメールボックスを移動する
適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3
トピックの最終更新日: 2015-03-09
Microsoft Exchange Server 2007 の Move-Mailbox コマンドレットと同様に、MoveMailbox.ps1 スクリプトは、メールボックスを移動するための同期管理環境を提供します。既定では、スクリプトは、C:\Program Files\Microsoft\Exchange Server\V14\Scripts にインストールされます。
注意
このスクリプトは、ローカル移動にのみ使用できます。リモート (クロスフォレスト) 移動にこのスクリプトを使用することはできません。リモート メールボックスの移動の詳細については、「メールボックスのフォレスト間の移動要求を準備する」を参照してください。
MoveMailbox.ps1 は、次のタスクを実行します。
ローカル移動要求を作成します。
メールボックスの移動が完了するまで待機します。
移動の完了後、移動要求をクリアします。
MoveMailbox.ps1 には、2 つのパラメーター セットが含まれています。最初のパラメーター セットは、1 つのメールボックスを移動します。さもなければ、複数のメールボックスをコマンドにパイプライン処理できます。2 番目のパラメーター セットは、指定されたデータベースでホストされているすべてのメールボックスを移動します。さもなければ、データベース オブジェクトをコマンドにパイプライン処理して、これらのメールボックス データベースに存在しているすべてのメールボックスを移動できます。
注意
シェルはスクリプトを自動的に読み込みません。すべてのスクリプトの前に ".</STRONG>" を付ける必要があります。たとえば、MoveMailbox.ps1 スクリプトを実行するには、「.\MoveMailbox.ps1
」と入力します。
スクリプトの使用と記述の詳細については、「Exchange 管理シェルを使用したスクリプトの作成」を参照してください。
移動要求に関連する他の管理タスクについては、「移動要求の管理」を参照してください。
MoveMailbox.ps1 を使用して特定のメールボックスを移動する
この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。「メールボックスのアクセス許可」の「メールボックスの移動」。
次のパラメーター構文セットと表には、特定のメールボックスの移動に使用できるパラメーターを示します。
MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
パラメーター | 必須 | 説明 |
---|---|---|
DatabaseMap |
必須 |
DatabaseMap パラメーターには、移動先と移動元の各データベース間のマップを指定します。パイプライン方法を使用して移動先のメールボックスを特定する場合に、このパラメーターを使用します。DatabaseMap パラメーターには、次のものが必要です。
注意 このパラメーターを TargetDatabase パラメーターと共に使用することはできません。コマンドをパイプライン処理していて、ユーザーが Get-Mailbox コマンドレットの ID と一致するが、DatabaseMap コマンドレットのソース データベースとは一致しない場合、ユーザーのメールボックスはスキップされます。 |
Identity |
必須 |
Identity パラメーターには、移動するメールボックスの ID を指定します。このパラメーターには、以下の値を指定できます。
注意 Get-Mailbox コマンドレットを使用して、Identity パラメーターをパイプライン処理できます。 |
TargetDatabase |
必須 |
TargetDatabase パラメーターには、メールボックスを移動するデータベースの ID を指定します。このパラメーターには、以下の値を指定できます。
注意 このパラメーターを DatabaseMap パラメーターと共に使用することはできません。 |
AutoSuspend |
省略可能 |
AutoSuspend スイッチには、 |
BadItemLimit |
省略可能 |
BadItemLimit パラメーターには、移動要求でメールボックスの破損が検出された場合にスキップする不良アイテム数を指定します。不良アイテムをスキップしない場合は、値 |
DomainController |
省略可能 |
DomainController パラメーターには、この構成の変更を Active Directory に書き込むドメイン コントローラーの完全修飾ドメイン名 (FQDN) を指定します。 |
PollInterval |
省略可能 |
PollInterval パラメーターには、移動要求が完了したかどうかを確認するまで待機する時間を秒単位で指定します。たとえば、PollInterval が 180 に設定されている場合、MoveMailbox.ps1 スクリプトでは、移動要求の状態を 3 分ごとに確認し、移動の状態が [完了] かどうかを調べます。既定値は 10 秒です。 |
StartBatchSize |
省略可能 |
StartBatchSize パラメーターには、負荷分散目的でメールボックスの移動を開始する頻度を指定します。このパラメーターは、複数のメールボックスを一度に移動する場合にのみ適用されます。たとえば、このパラメーターが |
例
例 1
この例では、"ay"で始まるメールボックスを移動します。これらのメールボックスがメールボックス データベース DB1 に存在している場合、この例では、DatabaseMap パラメーターを使用して、メールボックスをメールボックス データベース DBA に移動します。これらのメールボックスが DB2 に存在している場合、この例では、メールボックスをメールボックス データベース DBB に移動します。
Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}
例 2
この例では、Tony Smith のメールボックスを DB2 に移動します。
.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"
MoveMailbox.ps1 を使用して、特定のデータベースをホームとしているメールボックスを移動する
この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。「メールボックスのアクセス許可」の「メールボックスの移動」。
次のパラメーター構文セットと表には、データベースに基づいてメールボックスを移動するパラメーターを示します。
MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
パラメーター |
必須 |
説明 |
MailboxDatabase |
必須 |
MailboxDatabase パラメーターには、メールボックスの移動元となるメールボックス データベースを指定します。 このパラメーターには、以下の値を指定できます。
注意 このパラメーターを DatabaseMap パラメーターと共に使用することはできません。 |
AutoSuspend |
省略可能 |
AutoSuspend スイッチには、 |
BadItemLimit |
省略可能 |
BadItemLimit パラメーターには、移動要求でメールボックスの破損が検出された場合にスキップする不良アイテム数を指定します。不良アイテムをスキップしない場合は、値 |
DatabaseMap |
省略可能 |
DatabaseMap パラメーターには、移動先と移動元の各データベース間のマップを指定します。パイプライン方法を使用して移動先のメールボックスを特定する場合に、このパラメーターを使用します。DatabaseMap パラメーターには、次のものが必要です。
注意 このパラメーターを TargetDatabase パラメーターと共に使用することはできません。コマンドをパイプライン処理していて、ユーザーが Get-Mailbox コマンドレットの ID と一致するが、DatabaseMap コマンドレットのソース データベースとは一致しない場合、ユーザーのメールボックスはスキップされます。 |
DomainController |
省略可能 |
DomainController パラメーターには、この構成の変更を Active Directory に書き込むドメイン コントローラーの完全修飾ドメイン名 (FQDN) を指定します。 |
PollInterval |
省略可能 |
PollInterval パラメーターには、移動要求が完了したかどうかを確認するまで待機する時間を秒単位で指定します。たとえば、PollInterval が 180 に設定されている場合、MoveMailbox.ps1 スクリプトでは、移動要求の状態を 3 分ごとに確認し、移動の状態が [完了] かどうかを調べます。既定値は 10 秒です。 |
StartBatchSize |
省略可能 |
StartBatchSize パラメーターには、負荷分散目的でメールボックスの移動を開始する頻度を指定します。このパラメーターは、複数のメールボックスを一度に移動する場合にのみ適用されます。たとえば、このパラメーターが |
TargetDatabase |
省略可能 |
TargetDatabase パラメーターには、メールボックスを移動するデータベースの ID を指定します。このパラメーターには、以下の値を指定できます。
注意 このパラメーターを DatabaseMap パラメーターと共に使用することはできません。 |
例
例 1
この例では、メールボックス データベース DB1 上に存在しているすべてのメールボックスをデータベース DB2 に移動します。
.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2
例 2
この例では、Get-MailboxDatabase コマンドレットを使用して、メールボックス データベースが "DB1" で始まるすべてのメールボックス データベース オブジェクトを取得し、結果を MoveMailbox.ps1 スクリプトにパイプライン処理します。
Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}
© 2010 Microsoft Corporation.All rights reserved.