Vorbereiten von Postfächern für eine standortübergreifende Verschiebung mit dem Skript „Prepare-MoveRequest.ps1“ in der Shell
Gilt für: Exchange Server 2013
Zusammenfassung: Erfahren Sie, wie Sie gesamtstrukturübergreifende Postfachverschiebungen und -migrationen in Exchange 2013 mithilfe des Prepare-MoveRequest.ps1-Skripts in der Exchange-Verwaltungsshell verwalten.
Microsoft Exchange 2013 unterstützt Postfachverschiebungen und -migrationen mithilfe der Cmdlets New-MoveRequest und New-MigrationBatch. Sie können das Postfach auch über die Exchange-Verwaltungskonsole verschieben. Sie können ein Exchange 2010- oder Exchange 2013-Postfach aus einer Exchange-Quellgesamtstruktur in eine Exchange 2013-Zielgesamtstruktur verschieben.
Zum Ausführen der Cmdlets New-MoveRequest und New-MigrationBatch muss ein E-Mail-Benutzer in der Exchange-Zielgesamtstruktur vorhanden sein, und der E-Mail-Benutzer muss über einen Mindestsatz an erforderlichen Active Directory-Attributen verfügen.
Das in diesem Thema beschriebene Beispielskript Windows PowerShell unterstützt diese Aufgabe, indem Postfachbenutzer aus einer Exchange 2013-Quellgesamtstruktur mit Exchange 2013-Zielgesamtstrukturen als E-Mail-aktivierte Benutzer synchronisiert werden. Das Skript kopiert die Active Directory-Attribute der Postfachbenutzer in der Quellgesamtstruktur in die Zielgesamtstruktur und verwendet dann das Cmdlet Update-Recipient , um die Zielobjekte in E-Mail-aktivierte Benutzer umzuwandeln.
Weitere Informationen zum Verwenden und Schreiben von Skripts finden Sie unter Skripterstellung mit der Exchange-Verwaltungsshell. Weitere Informationen zum Vorbereiten von gesamtstrukturübergreifenden Verschiebungen finden Sie unter Vorbereiten von Postfächern für gesamtstrukturübergreifende Verschiebungsanforderungen.
Suchen Sie nach anderen Verwaltungsaufgaben im Zusammenhang mit Remoteverschiebungsanforderungen? Lesen Sie Verwalten von lokalen Verschiebungen.
Was sollten Sie wissen, bevor Sie beginnen?
Suchen Sie das Skript am folgenden Speicherort: %ExchangeInstallPath%Scripts
Zum Ausführen des Beispielskripts benötigen Sie Folgendes:
Eine Exchange-Quellgesamtstruktur, in der sich das Postfach derzeit befindet. Dies kann ein Exchange 2010- oder Exchange 2013-Postfach sein.
Eine Zielgesamtstruktur mit Exchange 2013, in die das Postfach verschoben werden soll.
Tipp
Liegt ein Problem vor? Bitten Sie in den Exchange-Foren um Hilfe. Besuchen Sie die Foren auf Exchange Server.
Verwenden des Prepare-MoveRequest.ps1-Skripts zum Vorbereiten von Postfächern für gesamtstrukturübergreifende Verschiebungen
Führen Sie das Skript in der Shell auf einer Serverrolle aus, auf der Exchange 2013 in der Exchange 2013-Zielgesamtstruktur ausgeführt wird. Das Skript kopiert die Postfachattribute aus der Quellgesamtstruktur.
Zum Zuweisen bestimmter Authentifizierungsanmeldeinformationen für den Remotegesamtstruktur-Domänencontroller müssen Sie zuerst das Cmdlet Windows PowerShell Get-Credential ausführen und die Benutzereingabe in einer temporären Variablen speichern. Wenn Sie das Cmdlet Get-Credential ausführen, fragt das Cmdlet den Benutzernamen und das Kennwort des Kontos an, das bei der Authentifizierung mit dem Remotegesamtstruktur-Domänencontroller verwendet wurde. Anschließend können Sie die temporäre Variable im Prepare-MoveRequest.ps1 Skript verwenden. Weitere Informationen zum Cmdlet Get-Credential finden Sie unter Get-Credential.
Hinweis
Stellen Sie sicher, dass Sie beim Aufrufen dieses Skripts zwei separate Anmeldeinformationen für die lokale Gesamtstruktur und die Remotegesamtstruktur verwenden.
Führen Sie die folgenden Befehle aus, um die Anmeldeinformationen für die lokale Gesamtstruktur und die Remotegesamtstruktur abzurufen.
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential
Führen Sie die folgenden Befehle aus, um die Anmeldeinformationen an die Parameter LocalForestCredential und RemoteForestCredential im Prepare-MoveRequest.ps1-Skript zu übergeben.
Prepare-MoveRequest.ps1 -Identity JohnSmith@Fabrikan.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials
Parametersatz des Skripts
In der folgenden Tabelle wird der Parametersatz für das Skript beschrieben.
Parametersatz des Prepare-MoveRequest.ps1 Skripts
Parameter | Erforderlich | Beschreibung |
---|---|---|
Identity | Erforderlich | Der Identity-Parameter identifiziert ein Postfach in der Quellgesamtstruktur eindeutig. Die Identität kann eine der folgenden Sein:
|
RemoteForestCredential | Erforderlich | Der Parameter RemoteForestCredential gibt den Administrator an, der über Berechtigungen zum Kopieren von Daten aus der Active Directory-Quellgesamtstruktur verfügt. |
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 Email Address Policy (EAP) beim Erstellen eines MailUser-Objekts in der Zielgesamtstruktur deaktiviert werden soll. Wenn Sie diesen Parameter angeben, wird der EAP in der Zielgesamtstruktur nicht angewendet. Hinweis: Wenn Sie diesen Parameter angeben, wird für das MailUser-Objekt keine E-Mail-Adresszuordnung in der domäne der lokalen Gesamtstruktur gestempelt. Dies wird in der Regel vom EAP gestempelt. |
LinkedMailUser | Optional | Die Option LinkedMailUser gibt an, ob ein verknüpfter MailUser in der lokalen Gesamtstruktur für den Postfachbenutzer in der Remotegesamtstruktur erstellt werden soll. Wenn der Schalter bereitgestellt wird, erstellt das Skript ein MailUser-Zielobjekt , das mit dem Quellpostfach verknüpft ist. Wenn der Schalter nicht angegeben wird, erstellt das Skript ein reguläres MailUser-Zielobjekt . |
LocalForestCredential | Optional | Der Parameter LocalForestCredential gibt den Administrator mit den Berechtigungen zum Schreiben von Daten in die Active Directory-Zielgesamtstruktur an. Es wird empfohlen, diesen Parameter explizit anzugeben, um Probleme mit Active Directory-Berechtigungen zu vermeiden. Wenn für die Remotegesamtstruktur und die lokale Gesamtstruktur eine vertrauenswürdige Beziehung konfiguriert ist, verwenden Sie kein Benutzerkonto aus der Remotegesamtstruktur als Anmeldeinformationen für die lokale Gesamtstruktur, obwohl das Remotebenutzerkonto möglicherweise über die Berechtigung zum Ändern von Active Directory in der lokalen Gesamtstruktur verfügt. |
LocalForestDomainController | Optional | Der Parameter LocalForestDomainController gibt einen Domänencontroller in der Zielgesamtstruktur an, in dem der E-Mail-aktivierte Benutzer erstellt wird. Es wird empfohlen, diesen Parameter anzugeben, um mögliche Probleme mit der Replikation von Domänencontrollern 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 proxyAddress-Eigenschaft des richtigen Quellpostfachbenutzers als targetAddress-Eigenschaft des zielfähigen Benutzers auswählen kann. Standardmäßig wird die primäre SMTP-Adresse des Quellpostfachbenutzers als targetAddress-Eigenschaft des E-Mail-aktivierten Zielbenutzers festgelegt. |
OverWriteLocalObject | Optional | Der Parameter OverWriteLocalObject wird für Benutzer verwendet, die vom Active Directory-Migrationstool erstellt wurden. Die Eigenschaften werden aus dem vorhandenen E-Mail-Kontakt in den neu erstellten E-Mail-Benutzer kopiert. Nach dieser Kopie kopiert das Skript jedoch auch die Eigenschaften vom Benutzer der Quellgesamtstruktur in den neu erstellten E-Mail-Benutzer. |
TargetMailUserOU | Optional | Der Parameter TargetMailuserOU gibt die Organisationseinheit an, unter 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 werden soll, 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 für die Verwendung des Prepare-MoveRequest.ps1-Skripts.
Beispiel: Einzelner benutzer mit aktivierter verknüpfter E-Mail
In diesem Beispiel wird ein einzelner verknüpfter E-Mail-aktivierter Benutzer in der lokalen Gesamtstruktur bereitgestellt, wenn eine Gesamtstrukturvertrauensstellung zwischen der Remotegesamtstruktur und der lokalen Gesamtstruktur besteht.
Führen Sie die folgenden Befehle aus, um die Anmeldeinformationen für die lokale Gesamtstruktur und die Remotegesamtstruktur abzurufen.
$LocalCredentials = Get-Credential $RemoteCredentials = Get-Credential
Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen an die Parameter LocalForestCredential und RemoteForestCredential im Prepare-MoveRequest.ps1-Skript zu übergeben.
Prepare-MoveRequest.ps1 -Identity JamesAlvord@Contoso.com -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $RemoteCredentials -LocalForestDomainController DC001.Contoso.com -LocalForestCredential $LocalCredentials -LinkedMailUser
Beispiel: Pipelining
In diesem Beispiel wird das Pipelining unterstützt, wenn Sie eine Liste von Postfachidentitäten angeben.
Führen Sie den folgenden Befehl aus.
$UserCredentials = Get-Credential
Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen an den Parameter RemoteForestCredential im Prepare-MoveRequest.ps1-Skript zu übergeben.
"IanP@Contoso.com","JoeAn@Contoso.com" | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials
Beispiel: Verwenden einer .csv-Datei zum Massenerstellung von E-Mail-aktivierten Benutzern
Sie können eine .csv-Datei generieren, die eine Liste von Postfachidentitäten aus der Quellgesamtstruktur enthält, mit der Sie den Inhalt dieser Datei an das Skript übergeben können, um die E-Mail-Zielbenutzer per Massenerstellung zu erstellen.
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 E-Mail-Zielbenutzer per Massenvorgang zu erstellen.
Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen für die Remotegesamtstruktur abzurufen.
$UserCredentials = Get-Credential
Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen an den Parameter RemoteForestCredential im Prepare-MoveRequest.ps1-Skript zu übergeben.
Import-Csv Test.csv | Prepare-MoveRequest.ps1 -RemoteForestDomainController DC001.Fabrikam.com -RemoteForestCredential $UserCredentials
Skriptverhalten pro Zielobjekt
In diesem Abschnitt wird die Leistung des Skripts in Bezug auf mehrere Szenarien für Zielobjekte beschrieben.
Duplizieren eines E-Mail-aktivierten Zielobjekts
Wenn das Skript versucht, einen E-Mail-aktivierten Zielbenutzer aus dem Quellpostfachbenutzer zu erstellen und ein dupliziertes lokales E-Mail-aktiviertes Objekt erkennt, verwendet es die folgende Logik:
- Wenn das masterAccountSid-Attribut des Quellpostfachbenutzers dem objectSid - oder masterAccountSid-Attribut eines Zielobjekts entspricht:
- Wenn das Zielobjekt nicht E-Mail-aktiviert ist, gibt das Skript einen Fehler zurück, da das Skript die Konvertierung eines Objekts, das nicht E-Mail-aktiviert ist, nicht in einen E-Mail-aktivierten Benutzer unterstützt.
- Wenn das Zielobjekt E-Mail-aktiviert ist, ist das Zielobjekt ein Duplikat.
- Wenn eine Adresse in den proxyAddress-Eigenschaften des Quellpostfachbenutzers (nur smtp/x500) einer Adresse in den proxyAddress-Eigenschaften eines Zielobjekts (nur smtp/x500) entspricht, ist das Zielobjekt ein Duplikat.
Das Skript fordert den Benutzer zu den doppelten Objekten auf.
Wenn das E-Mail-aktivierte Zielobjekt ein E-Mail-aktivierter Benutzer oder Kontakt ist, der höchstwahrscheinlich von einer gesamtstrukturübergreifenden Bereitstellung (Identity Lifecycle Management 2007 Service Pack 2007 Service Pack 1-basiert) einer globalen Adressliste (GAL) erstellt wird, kann der Benutzer das Skript erneut mit dem UseLocalObject-Parameter 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 Benutzer des Quellpostfachs in den E-Mail-Zielbenutzer:
- Msexchmailboxguid
- msExchArchiveGUID
- msExchArchiveName
Wenn der LinkedMailUser-Parameter festgelegt ist, kopiert das Skript das Quell-Attribut objectSid/masterAccountSid .
E-Mail-aktivierter Kontakt
Wenn das Zielobjekt ein E-Mail-aktivierter Kontakt ist, löscht das Skript den vorhandenen Kontakt und kopiert alle zugehörigen Attribute auf einen neuen E-Mail-aktivierten Benutzer. Das Skript kopiert auch die folgenden Attribute aus dem Quellpostfachbenutzer:
- Msexchmailboxguid
- msExchArchiveGUID
- msExchArchiveName
- Samaccountname
-
userAccountControl (auf 514 //entspricht )
0x202, ACCOUNTDISABLE | NORMAL_ACCOUNT
- userPrincipalName
Wenn der LinkedMailUser-Parameter festgelegt ist, kopiert das Skript das Quell-Attribut objectSid/masterAccountSid .
LegacyExchangeDN-Attribut
Wenn das Cmdlet Update-Recipient aufgerufen wird, um das Zielobjekt in einen E-Mail-aktivierten Benutzer zu konvertieren, wird ein neues LegacyExchangeDN-Attribut für den E-Mail-Zielbenutzer generiert. Das Skript kopiert das LegacyExchangeDN-Attribut des E-Mail-aktivierten Zielbenutzers als x500-Adresse in die ProxyAddress-Eigenschaften des Quellpostfachbenutzers.