(0) exportieren Drucken
Alle erweitern

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

Letztes Änderungsdatum des Themas: 2013-04-30

Microsoft Exchange 2013 unterstützt das Verschieben und Migrieren von Postfächern über die Cmdlets New-MoveRequest und New-MigrationBatch. Sie können das Postfach auch über die Exchange-Verwaltungskonsole verschieben. Sie können ein Postfach aus einer Exchange-Quellgesamtstruktur in eine Exchange 2013-Zielgesamtstruktur verschieben.

Zum Ausführen der Cmdlets New-MoveRequest und New-MigrationBatch 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 diese Aufgabe, indem es Postfachbenutzer aus einer Exchange 2013-Quellgesamtstruktur als E-Mail-aktivierte Benutzer in Exchange 2013-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 lokalen Verschiebungen.

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

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

    • Eine Quellgesamtstruktur, in der Exchange 2013 ausgeführt wird und in der sich das Postfach zurzeit befindet.

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

TippTipp:
Liegt ein Problem vor? Bitten Sie in den Exchange-Foren um Hilfe. Besuchen Sie die Foren unter: Exchange Server, Exchange Online oder Exchange Online Protection

Führen Sie das Skript von der Shell aus auf einer Serverrolle mit Exchange 2013 in der Exchange 2013-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.

HinweisHinweis:
Stellen Sie sicher, dass Sie beim Aufrufen dieses Skripts separate Anmeldeinformationen für die lokale Gesamtstruktur und die Remotegesamtstruktur verwenden.
  1. Führen Sie die folgenden Befehle aus, um die Anmeldeinformationen der lokalen Gesamtstruktur und der Remotegesamtstruktur abzurufen.

    $LocalCredentials = Get-Credential
    $RemoteCredentials = Get-Credential
    
  2. Führen Sie die folgenden Befehle aus, um die Anmeldeinformationen an die Parameter LocalForestCredential und RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" zu übergeben.

    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.

HinweisHinweis:
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.

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.

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

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.

  1. Führen Sie die folgenden Befehle aus, um die Anmeldeinformationen der lokalen Gesamtstruktur und der Remotegesamtstruktur abzurufen.

    $LocalCredentials = Get-Credential
    $RemoteCredentials = Get-Credential
    
  2. Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen an die Parameter LocalForestCredential und RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" zu übergeben.

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

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

  1. Führen Sie den folgenden Befehl aus.

    $UserCredentials = Get-Credential
    
  2. Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen an den Parameter RemoteForestCredential im Skript "Prepare-MoveRequest.ps1" zu übergeben.

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

Sie können eine CSV-Datei mit einer Liste von Postfachidentitäten aus der Quellgesamtstruktur generieren, mit der Sie den Inhalt dieser Datei mittels Pipe an das Skript übergeben können, um die E-Mail-aktivierten Zielbenutzer per Massenvorgang 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-aktivierten Zielbenutzer per Massenvorgang zu erstellen.

  1. Führen Sie den folgenden Befehl aus, um die Anmeldeinformationen der Remotegesamtstruktur abzurufen.

    $UserCredentials = Get-Credential
    
  2. Führen Sie 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
    

In diesem Abschnitt wird das Verhalten des Skripts im Hinblick auf verschiedene Szenarien für Zielobjekte beschrieben.

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.

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.

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.

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.

 
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft