Vorbereiten von Postfächern für eine standortübergreifende Verschiebung mit dem Skript "Prepare-MoveRequest.ps1" in der Shell

 

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

Letztes Änderungsdatum des Themas: 2016-11-28

Microsoft Exchange Server 2010 unterstützt Onlinepostfach-Verschiebungen mit dem Cmdlet New-MoveRequest. Sie können ein Postfach aus einer Exchange-Quellgesamtstruktur in eine Exchange 2010-Zielgesamtstruktur verschieben.

Zum Ausführen des Cmdlets New-MoveRequest muss in der Exchange-Zielgesamtstruktur ein E-Mail-Benutzer vorhanden sein, der über einen Mindestsatz an erforderlichen Active Directory-Attributen verfügt.

Das in diesem Thema beschriebene Windows PowerShell-Beispielskript unterstützt diesen Task, indem es Postfachbenutzer aus einer Exchange 2010-, Exchange Server 2007- oder Exchange Server 2003-Quellgesamtstruktur als E-Mail-aktivierte Benutzer in Exchange 2010-Zielgesamtstrukturen synchronisiert. Durch das Skript werden die Active Directory-Attribute der Postfachbenutzer aus der Quellgesamtstruktur in die Zielgesamtstruktur kopiert. Anschließend werden mithilfe des Cmdlets Update-Recipient die Zielobjekte in E-Mail-aktivierte Benutzer umgewandelt.

Weitere Informationen zum Verwenden und Schreiben von Skripts finden Sie unter Skripterstellung mit der Exchange-Verwaltungsshell. Weitere Informationen zum Vorbereiten gesamtstrukturübergreifender Verschiebungen finden Sie unter Vorbereiten von Postfächern für gesamtstrukturübergreifende Verschiebungsanforderungen.

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

Voraussetzungen

  • Suchen Sie das Skript im folgenden Pfad: Programme\Microsoft\Exchange Server\V14\Scripts.

  • Um das Beispielskript auszuführen, benötigen Sie Folgendes:

    • Eine Quellgesamtstruktur mit Exchange 2010, Exchange 2007 oder Exchange 2003, in der sich das Postfach zurzeit befindet.

    • Eine Zielgesamtstruktur mit Exchange 2010, in die das Postfach verschoben werden soll.

Verwenden des Skripts "Prepare-MoveRequest.ps1" für die Vorbereitung von Postfächern auf gesamtstrukturübergreifende Verschiebungen

Führen Sie das Skript von der Shell aus auf einer Serverrolle mit Exchange 2010 in der Exchange 2010-Zielgesamtstruktur aus. Das Skript kopiert die Postfachattribute aus der Quellgesamtstruktur.

Sie müssen zunächst das Windows PowerShell-Cmdlet Get-Credential ausführen und die Benutzereingabe in einer temporären Variablen speichern, um dem Domänencontroller der Remotegesamtstruktur bestimmte Anmeldeinformationen für die Authentifizierung zuzuweisen. Wenn das Cmdlet Get-Credential ausgeführt wird, wird nach dem Benutzernamen und dem Kennwort des Kontos gefragt, die bei der Authentifizierung für den Domänencontroller der Remotegesamtstruktur verwendet werden. Sie können die temporäre Variable dann im Skript "Prepare-MoveRequest.ps1" verwenden. Weitere Informationen zum Cmdlet Get-Credential finden Sie unter Get-Credential.

Hinweis

Stellen Sie sicher, dass Sie beim Aufrufen dieses Skripts separate Anmeldeinformationen für die lokale Gesamtstruktur und die Remotegesamtstruktur verwenden.

Führen Sie zuerst die folgenden Befehle aus, um die Anmeldeinformationen der lokalen Gesamtstruktur und der Remotegesamtstruktur zu erhalten.

$LocalCredentials = Get-Credential
$RemoteCredentials = Get-Credential

Führen Sie dann die folgenden Befehle aus, um die Anmeldeinformationen an die Parameter LocalForestCredential und RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" weiterzugeben.

Prepare-MoveRequest.ps1 -Identity JohnSmith@Fabrikan.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials

In der folgenden Tabelle wird der Parametersatz für das Skript beschrieben.

Parametersatz des Skripts "Prepare-MoveRequest.ps1"

Parameter Erforderlich Beschreibung

Identity

Erforderlich

Mit dem Parameter Identity wird ein Postfach in der Quellgesamtstruktur eindeutig bezeichnet. "Identity" kann folgende Werte aufweisen:

  • Allgemeiner Name (Common Name, CN)

  • Alias

  • Eigenschaft proxyAddress

  • Eigenschaft objectGuid

  • Eigenschaft DisplayName

RemoteForestCredential

Erforderlich

Mit dem Parameter RemoteForestCredential wird der Administrator angegeben, der zum Kopieren von Daten aus der Active Directory-Quellgesamtstruktur berechtigt ist.

RemoteForestDomainController

Erforderlich

Der Parameter RemoteForestDomainController gibt einen Domänencontroller in der Quellgesamtstruktur an, in der sich das Postfach befindet.

DisableEmailAddressPolicy

Optional

Der Parameter DisableEmailAddressPolicy gibt an, ob die E-Mail-Adressrichtlinie (EAP) bei der Erstellung eines Objekts MailUser in der Zielgesamtstruktur deaktiviert werden soll.

Wenn Sie diesen Parameter angeben, wird die E-Mail-Adressrichtlinie in der Zielgesamtstruktur nicht angewendet.

Hinweis

Wenn Sie diesen Parameter angeben, wird für das Objekt MailUser die E-Mail-Adresszuordnung in der lokalen Gesamtstruktur nicht mit der Domäne markiert. In der Regel erfolgt diese Markierung durch die E-Mail-Adressrichtlinie.

LinkedMailUser

Optional

Die Option LinkedMailUser gibt an, ob ein verknüpftes Objekt "MailUser" in der lokalen Gesamtstruktur für den Postfachbenutzer in der Remotegesamtstruktur erstellt werden soll.

Wenn die Option angegeben wird, erstellt das Skript ein MailUser-Zielobjekt, das mit dem Quellpostfach verknüpft ist. Wenn die Option nicht angegeben wird, erstellt das Skript einen reguläres MailUser-Zielobjekt. Weitere Informationen finden Sie unter Erstellen eines verknüpften Postfachs.

LocalForestCredential

Optional

Der Parameter LocalForestCredential gibt den Administrator an, der zum Schreiben von Daten in die Active Directory-Zielgesamtstruktur berechtigt ist.

Sie sollten zur Vermeidung von Active Directory-Berechtigungsproblemen diesen Parameter explizit angeben.

Wenn zwischen der Remotegesamtstruktur und der lokalen Gesamtstruktur eine Vertrauensstellung konfiguriert ist, melden Sie sich nicht mit den Anmeldeinformationen eines Benutzerkontos aus der Remotegesamtstruktur bei der lokalen Gesamtstruktur an, und zwar auch dann nicht, wenn das Remotebenutzerkonto über Änderungsberechtigungen für Active Directory in der lokalen Gesamtstruktur verfügt.

LocalForestDomainController

Optional

Der Parameter LocalForestDomainController gibt einen Domänencontroller in der Zielgesamtstruktur an, in der der E-Mail-aktivierte Benutzer erstellt werden soll.

Sie sollten diesen Parameter angeben, um Verzögerungsprobleme bei der Domänencontrollerreplikation in der lokalen Gesamtstruktur zu vermeiden, die auftreten können, wenn ein zufälliger Domänencontroller ausgewählt wird.

MailboxDeliveryDomain

Optional

Der Parameter MailboxDeliveryDomain gibt eine autoritative Domäne der Quellgesamtstruktur an, sodass das Skript die Eigenschaft proxyAddress des richtigen Quellpostfachbenutzers als Eigenschaft targetAddress des E-Mail-aktivierten Zielbenutzers auswählen kann.

Standardmäßig wird die primäre SMTP-Adresse des Quellpostfachbenutzers als Eigenschaft targetAddress des E-Mail-aktivierten Zielbenutzers festgelegt.

OverWriteLocalObject

Optional

Der Parameter OverWriteLocalObject wird für Benutzer verwendet, die mit dem Active Directory-Migrationstool erstellt wurden. Die Eigenschaften werden aus dem vorhandenen E-Mail-Kontakt in den neu erstellten E-Mail-Benutzer kopiert. Nach diesem Kopiervorgang kopiert das Skript außerdem die Eigenschaften aus dem Benutzer der Quellgesamtstruktur in den neu erstellten E-Mail-Benutzer.

TargetMailUserOU

Optional

Der Parameter TargetMailuserOU gibt die Organisationseinheit an, in der der E-Mail-aktivierte Zielbenutzer erstellt wird.

UseLocalObject

Optional

Der Parameter UseLocalObject gibt an, ob das vorhandene lokale Objekt in den erforderlichen E-Mail-aktivierten Zielbenutzer konvertiert wird, wenn das Skript ein Objekt in der lokalen Gesamtstruktur erkennt, das mit dem zu erstellenden E-Mail-aktivierten Benutzer in Konflikt steht.

Beispiele

Dieser Abschnitt enthält mehrere Beispiele zur Verwendung des Skripts "Prepare-MoveRequest.ps1".

Beispiel 1

In diesem Beispiel wird ein einzelner, verknüpfter E-Mail-aktivierter Benutzer in der lokalen Gesamtstruktur bereitgestellt, wobei eine Gesamtstruktur-Vertrauensstellung zwischen der Remotegesamtstruktur und der lokalen Gesamtstruktur besteht.

Führen Sie zunächst die folgenden Befehle aus, um die Anmeldeinformationen der lokalen Gesamtstruktur und der Remotegesamtstruktur zu erhalten.

$LocalCredentials = Get-Credential
$RemoteCredentials = Get-Credential

Führen Sie dann den folgenden Befehl aus, um die Anmeldeinformationen an die Parameter LocalForestCredential und RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" weiterzugeben.

Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser 

Beispiel 2

In diesem Beispiel wird Pipelining unterstützt, wenn Sie eine Liste von Postfachidentitäten angeben.

Führen Sie zuerst den folgenden Befehl aus.

$UserCredentials = Get-Credential

Führen Sie dann den folgenden Befehl aus, um die Anmeldeinformationen an den Parameter RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" weiterzugeben.

"IanP@Contoso.com", "JoeAn@Contoso.com" | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials

Beispiel 3

Sie können eine CSV-Datei mit einer Liste von Postfachidentitäten aus der Quellgesamtstruktur generieren, mit der Sie den Inhalt dieser Datei mittels Pipeline an das Skript weiterleiten können, um die Massenerstellung der E-Mail-aktivierten Zielbenutzer durchzuführen.

Beispielsweise kann der Inhalt der CSV-Datei wie folgt lauten:

Identity

Ian@contoso.com

John@contoso.com

Cindy@contoso.com

In diesem Beispiel wird eine CSV-Datei aufgerufen, um die Massenerstellung der E-Mail-aktivierten Zielbenutzer durchzuführen.

Führen Sie zuerst den folgenden Befehl aus, um die Anmeldeinformationen der Remotegesamtstruktur zu erhalten.

$UserCredentials = Get-Credential

Führen Sie anschließend den folgenden Befehl aus, um die Anmeldeinformationen an den Parameter RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" zu übergeben.

Import-Csv Test.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials

Verhalten des Skripts für jedes Zielobjekt

In diesem Abschnitt wird das Verhalten des Skripts im Hinblick auf die folgenden Szenarien für Zielobjekte beschrieben:

  • Doppeltes E-Mail-aktiviertes Zielobjekt

  • E-Mail-aktivierter Benutzer

  • E-Mail-aktivierter Kontakt

  • Attribut LegacyExchangeDN

Doppeltes E-Mail-aktiviertes Zielobjekt

Wenn das Skript versucht, einen E-Mail-aktivierten Zielbenutzer aus dem Quellpostfachbenutzer zu erstellen, und dabei ein doppeltes, lokales E-Mail-aktiviertes Objekt erkannt wird, wird die folgende Logik verwendet:

  • Wenn das Attribut masterAccountSid des Quellpostfachbenutzers gleich des Attributs objectSid oder masterAccountSid des Zielobjekts ist:

    • Ist das Zielobjekt nicht E-Mail-aktiviert, gibt das Skript einen Fehler zurück, weil es die Konvertierung eines nicht E-Mail-aktivierten Objekts in einen E-Mail-aktivierten Benutzer nicht unterstützt.

    • Ist das Zielobjekt E-Mail-aktiviert ist, ist es ein Duplikat.

  • Wenn eine Adresse in den Eigenschaften proxyAddress (nur smtp/x500) des Quellpostfachbenutzers mit einer Adresse in der Eigenschaft proxyAddress (nur smtp/x500) eines Zielobjekts übereinstimmt, ist das Zielobjekt ein Duplikat.

Das Skript gibt eine Anfrage an den Benutzer hinsichtlich der doppelten Objekte aus.

Ist das E-Mail-aktivierte Zielobjekt ein E-Mail-aktivierter Benutzer oder Kontakt, der im Allgemeinen von einer gesamtstrukturübergreifenden (auf Identity Lifecycle Management 2007, Service Pack 1, basierenden) Synchronisierungsbereitstellung einer globalen Adressliste erstellt wurde, kann der Benutzer das Skript mit dem Parameter UseLocalObject erneut ausführen, um das E-Mail-aktivierte Zielobjekt für die Postfachmigration zu verwenden.

E-Mail-aktivierter Benutzer

Wenn das Zielobjekt ein E-Mail-aktivierter Benutzer ist, kopiert das Skript die folgenden Attribute vom Quellpostfachbenutzer zum E-Mail-aktivierten Zielbenutzer:

  • msExchMailboxGUID

  • msExchArchiveGUID

  • msExchArchiveName

Ist der Parameter LinkedMailUser festgelegt, kopiert das Skript das Attribut objectSid/masterAccountSid der Quelle.

E-Mail-aktivierter Kontakt

Wenn das Zielobjekt ein E-Mail-aktivierter Kontakt ist, löscht das Skript den vorhandenen Kontakt und kopiert alle Attribute dieses Kontakts in einen neuen E-Mail-aktivierten Benutzer. Das Skript kopiert außerdem die folgenden Attribute vom Quellpostfachbenutzer:

  • msExchMailboxGUID

  • msExchArchiveGUID

  • msExchArchiveName

  • sAMAccountName

  • userAccountControl (festgelegt auf: 514 //equivalent to 0x202, ACCOUNTDISABLE | NORMAL_ACCOUNT)

  • userPrincipalName

Ist der Parameter LinkedMailUser festgelegt, wird vom Skript das Quellattribut objectSid/masterAccountSid kopiert.

Attribut "LegacyExchangeDN"

Wird das Cmdlet Update-Recipient aufgerufen, um das Zielobjekt in einen E-Mail-aktivierten Benutzer zu konvertieren, wird ein neues Attribut LegacyExchangeDN für den E-Mail-aktivierten Zielbenutzer generiert. Das Skript kopiert den Wert LegacyExchangeDN des E-Mail-aktivierten Zielbenutzers als x500-Adresse in die Eigenschaft proxyAddress des Quellpostfachbenutzers. Mit dieser Aktion wird die richtige Auflösung von Empfängern sichergestellt, wenn Nachrichten zwischen der Quellgesamtstruktur und der Zielgesamtstruktur gesendet werden.

 © 2010 Microsoft Corporation. Alle Rechte vorbehalten.