Verschieben von Postfächern mithilfe des Skripts "MoveMailbox.ps1" in der Shell

 

Gilt für: Exchange Server 2010 SP2, Exchange Server 2010 SP3

Letztes Änderungsdatum des Themas: 2015-03-09

Ähnlich wie beim Cmdlet Move-Mailbox in Microsoft Exchange Server 2007 bietet auch das Skript "MoveMailbox.ps1" eine synchrone Verwaltungsschnittstelle für das Verschieben von Postfächern. Skripts werden standardmäßig im Pfad "C:\Programme\Microsoft\Exchange Server\V14\Scripts" installiert.

Hinweis

Dieses Skript kann nur für lokale Verschiebungen verwendet werden. Es kann nicht für Remoteverschiebungen (gesamtstrukturübergreifend) verwendet werden. Informationen zum Verschieben von Remotepostfächern finden Sie unter Vorbereiten von Postfächern für gesamtstrukturübergreifende Verschiebungsanforderungen.

Mit dem Skript "MoveMailbox.ps1" werden die folgenden Aufgaben ausgeführt:

  1. Das Skript erstellt eine lokale Verschiebungsanforderung.

  2. Das Skript wartet, bis die Postfachverschiebung abgeschlossen ist.

  3. Das Skript löscht nach Abschluss der Verschiebung die Verschiebungsanforderung.

"MoveMailbox.ps1" enthält zwei Parametersätze: Mit dem ersten Parametersatz wird entweder ein einzelnes Postfach verschoben, oder es können im Befehl mehrere Postfächer hintereinander angegeben werden. Mit dem zweiten Parametersatz werden entweder alle in einer bestimmten Datenbank enthaltenen Postfächer verschoben, oder es können im Befehl mehrere Datenbankobjekte hintereinander angegeben werden. Damit werden sämtliche Postfächer verschoben, die sich in diesen Postfachdatenbanken befinden.

Hinweis

Skripts werden in der Shell nicht automatisch geladen. Allen Skripts muss ".</STRONG>" vorangestellt werden. Wenn Sie beispielsweise das Skript "MoveMailbox.ps1" ausführen möchten, geben Sie .\MoveMailbox.ps1 ein.

Weitere Informationen zum Verwenden und Schreiben von Skripts finden Sie unter Skripterstellung mit der Exchange-Verwaltungsshell.

Möchten Sie wissen, welche anderen Verwaltungsaufgaben es im Zusammenhang mit Verschiebungsanforderungen gibt? Weitere Informationen finden Sie hier: Verwalten von Verschiebungsanforderungen.

Verwenden des Skripts "MoveMailbox.ps1" zum Verschieben bestimmter Postfächer

Bevor Sie dieses Verfahren ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Informationen zu den von Ihnen benötigten Berechtigungen finden Sie unter "Postfachverschiebung" im Thema Postfachberechtigungen.

Im folgenden Parametersyntaxsatz und in der Tabelle sind die Parameter aufgeführt, die zum Verschieben bestimmter Postfächer verwendet werden können:

MoveMailbox.ps1 -Identity <Object> -DatabaseMap <Hashtable> -TargetDatabase <Object> [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]
Parameter Erforderlich Beschreibung

DatabaseMap

Erforderlich

Der Parameter DatabaseMap gibt die Zuordnung der Datenbanken an, in die bzw. aus denen Sie das Postfach verschieben. Verwenden Sie diesen Parameter, wenn Sie die Postfächer, in die verschoben werden soll, mit der Pipeline-Methode angeben. Für den Parameter DatabaseMap ist Folgendes erforderlich:

  • Verwenden Sie die folgende Syntax: @{"<SourceDatabase>"="<TargetDatabase>"}

  • Der Name der SourceDatabase muss mit dem vom Cmdlet Get-Mailbox zurückgegebenen Datenbanknamen übereinstimmen.

  • Sie können mehrere Datenbankzuordnungen einbeziehen. Trennen Sie mehrere Zuordnungen mit einem Semikolon (;), z. B. @{"DB1"="DBA";"DB2"="DBB"}.

Hinweis

Dieser Parameter kann nicht zusammen mit dem Parameter TargetDatabase verwendet werden. Wenn Sie für den Befehl die Pipeline-Methode verwenden und ein Benutzer zwar mit der Identität im Cmdlet Get-Mailbox, nicht jedoch mit der im Cmdlet DatabaseMap angegebenen Quelldatenbank übereinstimmt, wird das Postfach dieses Benutzers übersprungen.

Identity

Erforderlich

Der Parameter Identity gibt die Identität des zu verschiebenden Postfachs an. Dieser Parameter nimmt die folgenden Werte an:

  • ADObjectID

  • Alias

  • Distinguished Name (DN)

  • Domäne\Konto

  • GUID

  • LegacyExchangeDN

  • SmtpAddress

  • Benutzerprinzipalname (User Principal Name, UPN)

Hinweis

Mithilfe des Cmdlets Get-Mailbox kann für den Parameter Identity die Pipeline-Methode verwendet werden.

TargetDatabase

Erforderlich

Der Parameter TargetDatabase gibt die Identität der Datenbank an, in die das Postfach verschoben wird. Dieser Parameter nimmt die folgenden Werte an:

  • GUID

  • Distinguished Name (DN)

  • Server\Datenbankname

  • Datenbankname

Hinweis

Dieser Parameter kann nicht zusammen mit dem Parameter DatabaseMap verwendet werden.

AutoSuspend

Optional

Die Option AutoSuspend gibt an, ob die Verschiebungsanforderung angehalten werden soll, bevor der Status CompletionInProgress erreicht wird. Nach dem Anhalten der Verschiebung lautet der Status AutoSuspended. Bei Verwendung dieses Parameters müssen Sie die Verschiebung mithilfe des Cmdlets Resume-MoveRequest beenden.

BadItemLimit

Optional

Der Parameter BadItemLimit gibt die Anzahl der auszulassenden ungültigen Elemente an, wenn bei der Verschiebungsanforderung im Postfach eine Beschädigung auftritt. Verwenden Sie den Wert 0, wenn ungültige Elemente nicht ausgelassen werden sollen. Verwenden Sie den Wert -1, um eine unbegrenzte Anzahl ungültiger Elemente auszulassen. Der gültige Eingabebereich für diesen Parameter liegt zwischen -1 und 2,147,483,647. Der Standardwert ist 0. Es wird empfohlen, den Standardwert 0 beizubehalten und den Parameterwert BadItemLimit nur dann zu ändern, wenn ein Fehler bei der Verschiebungsanforderung auftritt.

DomainController

Optional

Der Parameter DomainController gibt den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) des Domänencontrollers an, der diese Konfigurationsänderung in Active Directory. schreibt

PollInterval

Optional

Der Parameter PollInterval gibt die Wartezeit (in Sekunden) an, bis geprüft wird, ob die Verschiebungsanforderung abgeschlossen ist. Wenn der Parameter PollInterval beispielsweise auf den Wert 180 eingestellt ist, überprüft das Skript "MoveMailbox.ps1" alle 3 Minuten den Verschiebungsanforderungsstatus, um festzustellen, ob der Status "Abgeschlossen" erreicht wurde. Die Standardeinstellung ist 10 Sekunden.

StartBatchSize

Optional

Der Parameter StartBatchSize gibt an, wie oft Postfachverschiebungen zum Zweck des Lastausgleichs gestartet werden sollen. Der Parameter gilt nur beim gleichzeitigen Verschieben mehrerer Postfächer. Wenn dieser Parameter beispielsweise auf 10 eingestellt ist und 15 Postfächer verschoben werden, ruft das Skript das Cmdlet New-MoveRequest auf, wenn es erkennt, dass 10 Postfächer zur selben Zieldatenbank verschoben werden.

Beispiele

Beispiel 1

In diesem Beispiel werden die Postfächer verschoben, die mit "Ay" beginnen. Die Postfächer, die sich in der Postfachdatenbank "DB1" befinden, werden in diesem Beispiel mithilfe des Parameters DatabaseMap in die Postfachdatenbank "DBA" verschoben. Befinden sich die Postfächer in der Postfachdatenbank "DB2", werden sie in diesem Beispiel zur Postfachdatenbank "DBB" verschoben.

Get-Mailbox ay* | .\MoveMailbox.ps1 -DatabaseMap @{"DB1"="DBA";"DB2"="DBB"}

Beispiel 2

In diesem Beispiel wird das Postfach von Thorsten Scholl in die Datenbank "DB2" verschoben.

.\MoveMailbox.ps1 -Identity "Tony@Contoso.com" -TargetDatabase "DB2"

Verwenden des Skripts "MoveMailbox.ps1" zum Verschieben von Postfächern auf einer bestimmten Datenbank

Bevor Sie dieses Verfahren ausführen können, müssen Ihnen die entsprechenden Berechtigungen zugewiesen werden. Informationen zu den von Ihnen benötigten Berechtigungen finden Sie unter "Postfachverschiebung" im Thema Postfachberechtigungen.

Im folgenden Parametersyntaxsatz und in der Tabelle sind die Parameter aufgeführt, die zum Verschieben von Postfächern nach Datenbank verwendet werden können:

MoveMailbox.ps1 -MailboxDatabase <Object> [-DatabaseMap <Hashtable>] [-TargetDatabase <Object>] [-StartBatchSize <Int32>] [-BadItemLimit <Int32>] [-AutoSuspend] [-pollInterval <Int32>] [-DomainController <Object>]

Parameter

Erforderlich

Beschreibung

MailboxDatabase

Erforderlich

Der Parameter MailboxDatabase gibt die Postfachdatenbank an, aus der Postfächer verschoben werden.

Dieser Parameter nimmt die folgenden Werte an:

  • GUID

  • Distinguished Name (DN)

  • Server\Datenbankname

  • Datenbankname

Hinweis

Dieser Parameter kann nicht zusammen mit dem Parameter DatabaseMap verwendet werden.

AutoSuspend

Optional

Die Option AutoSuspend gibt an, ob die Verschiebungsanforderung angehalten werden soll, bevor der Status CompletionInProgress erreicht wird. Nach dem Anhalten der Verschiebung lautet der Status AutoSuspended. Bei Verwendung dieses Parameters müssen Sie die Verschiebung mithilfe des Cmdlets Resume-MoveRequest beenden.

BadItemLimit

Optional

Der Parameter BadItemLimit gibt die Anzahl der auszulassenden ungültigen Elemente an, wenn bei der Verschiebungsanforderung im Postfach eine Beschädigung auftritt. Verwenden Sie den Wert 0, wenn ungültige Elemente nicht ausgelassen werden sollen. Verwenden Sie den Wert -1, um eine unbegrenzte Anzahl ungültiger Elemente auszulassen. Der gültige Eingabebereich für diesen Parameter liegt zwischen -1 und 2,147,483,647. Der Standardwert ist 0. Es wird empfohlen, den Standardwert 0 beizubehalten und den Parameterwert BadItemLimit nur dann zu ändern, wenn ein Fehler bei der Verschiebungsanforderung auftritt.

DatabaseMap

Optional

Der Parameter DatabaseMap gibt die Zuordnung der Datenbanken an, in die bzw. aus denen Sie das Postfach verschieben. Verwenden Sie diesen Parameter, wenn Sie die Postfächer, in die verschoben werden soll, mit der Pipeline-Methode angeben. Für den Parameter DatabaseMap ist Folgendes erforderlich:

  • Verwenden Sie die folgende Syntax: @{"<SourceDatabase>"="<TargetDatabase>"}

  • Der Name der SourceDatabase muss mit dem vom Cmdlet Get-Mailbox zurückgegebenen Datenbanknamen übereinstimmen.

  • Sie können mehrere Datenbankzuordnungen einbeziehen. Trennen Sie mehrere Zuordnungen mit einem Semikolon (;), z. B. @{"DB1"="DBA";"DB2"="DBB"}.

Hinweis

Dieser Parameter kann nicht zusammen mit dem Parameter TargetDatabase verwendet werden. Wenn Sie für den Befehl die Pipeline-Methode verwenden und ein Benutzer zwar mit der Identität im Cmdlet Get-Mailbox, nicht jedoch mit der im Cmdlet DatabaseMap angegebenen Quelldatenbank übereinstimmt, wird das Postfach dieses Benutzers übersprungen.

DomainController

Optional

Der Parameter DomainController gibt den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) des Domänencontrollers an, der diese Konfigurationsänderung in Active Directory. schreibt

PollInterval

Optional

Der Parameter PollInterval gibt die Wartezeit (in Sekunden) an, bis geprüft wird, ob die Verschiebungsanforderung abgeschlossen ist. Wenn der Parameter PollInterval beispielsweise auf den Wert 180 eingestellt ist, überprüft das Skript "MoveMailbox.ps1" alle 3 Minuten den Verschiebungsanforderungsstatus, um festzustellen, ob der Status "Abgeschlossen" erreicht wurde. Die Standardeinstellung ist 10 Sekunden.

StartBatchSize

Optional

Der Parameter StartBatchSize gibt an, wie oft Postfachverschiebungen zum Zweck des Lastausgleichs gestartet werden sollen. Der Parameter gilt nur beim gleichzeitigen Verschieben mehrerer Postfächer. Wenn dieser Parameter beispielsweise auf 10 eingestellt ist und 15 Postfächer verschoben werden, ruft das Skript das Cmdlet New-MoveRequest auf, wenn es erkennt, dass 10 Postfächer zur selben Zieldatenbank verschoben werden.

TargetDatabase

Optional

Der Parameter TargetDatabase gibt die Identität der Datenbank an, in die das Postfach verschoben wird. Dieser Parameter nimmt die folgenden Werte an:

  • GUID

  • Distinguished Name (DN)

  • Server\Datenbankname

  • Datenbankname

Hinweis

Dieser Parameter kann nicht zusammen mit dem Parameter DatabaseMap verwendet werden.

Beispiele

Beispiel 1

In diesem Beispiel werden alle Postfächer in der Postfachdatenbank "DB1" in die Datenbank "DB2" verschoben.

.\MoveMailbox.ps1 -MailboxDatabase DB1 -TargetDatabase DB2

Beispiel 2

In diesem Beispiel werden mithilfe des Cmdlets Get-MailboxDatabase alle Postfachdatenbankobjekte abgerufen, deren Postfachdatenbank mit "DB1" beginnt. Das Ergebnis wird dann vom Skript "MoveMailbox.ps1" übernommen.

Get-MailboxDatabase DB1* | .\MoveMailbox.ps1 -DatabaseMap @{"DB10"=DBA;"DB11"="DBB";"DB12"="DBA"}

 © 2010 Microsoft Corporation. Alle Rechte vorbehalten.