Verwenden des Exchange Online Moduls "PowerShell v2"

Mit dem Exchange Online PowerShell V2-Modul (abgekürzt als Exo V2-Modul) können Administratoren eine Verbindung mit Ihrer Exchange Online Umgebung in Office 365 herstellen, um Daten abzurufen, neue Objekte zu erstellen, vorhandene Objekte zu aktualisieren, Objekte zu entfernen und Exchange zu konfigurieren. Online und seine Funktionen.

Melden von Fehlern und Problemen

Das Exchange Online Modul "PowerShell v2" befindet sich derzeit in der Vorschau. Wenn Sie Feedback, Bedenken oder Probleme mit dem Exo V2-Modul haben, wenden Sie sich an uns unter exocmdletpreview [at] Service [dot] Microsoft [dot] com (e-Mail-Adresse, die absichtlich verdeckt ist, um Spam zu verhindern).

Achten Sie beim Melden eines Problems darauf, die Protokolldateien in Ihre e-Mail-Nachricht einzuschließen.

Um die Protokolldateien zu generieren, <ersetzen Sie Path in die> Speicher Protokolldatei mit dem gewünschten Ausgabeordner, und führen Sie den folgenden Befehl aus:

Connect-ExchangeOnline -EnableErrorReporting -LogDirectoryPath <Path to store log file> -LogLevel All

Funktionsweise des Exo v2-Moduls

Das Exchange Online PowerShell V2-Modul enthält eine kleine Gruppe neuer Cmdlets, die für Massendaten Abruf Szenarien optimiert sind (denken: Tausende und Tausende von Objekten). Bis Sie eine Sitzung zum Herstellen einer Verbindung mit Ihrer Exchange Online Organisation erstellt haben, werden diese neuen Cmdlets nur im Modul angezeigt. Nachdem Sie eine Verbindung mit Ihrer Exchange Online Organisation hergestellt haben, werden alle älteren Remote-PowerShell-Cmdlets angezeigt.

Das Exo V2-Modul verwendet moderne Authentifizierung für alle Cmdlets. Sie können die Standardauthentifizierung nicht im Exo V2-Modul verwenden; Sie müssen jedoch weiterhin die Standard Authentifizierungseinstellung in WinRM konfigurieren, wie weiter unten in diesem Thema beschrieben.

Die neuen Cmdlets im Exo V2-Modul sollen ihre älteren, nicht so effizienten äquivalente ersetzen. Die ursprünglichen Cmdlets sind jedoch weiterhin im Exo V2-Modul für die Abwärtskompatibilität verfügbar, nachdem Sie eine Sitzung zum Herstellen einer Verbindung mit Ihrer Exchange Online Organisation erstellt haben.

Die neuen Cmdlets im Exo V2-Modul sind in der folgenden Tabelle aufgeführt:

Neues Cmdlet im Exo V2-Modul Älteres verwandtes Cmdlet
Connect-ExchangeOnline Connect-EXOPSSession
oder
New-PSSession
Get-EXOMailbox Get-Mailbox
Get-EXORecipient Get-Recipient
Get-EXOCASMailbox Get-CASMailbox
Get-EXOMailboxPermission Get-MailboxPermission
Get-EXORecipientPermission Get-RecipientPermission
Get-EXOMailboxStatistics Get-MailboxStatistics
Get-EXOMailboxFolderStatistics Get-MailboxFolderStatistics
Get-EXOMailboxFolderPermission Get-MailboxFolderPermission
Get-EXOMobileDeviceStatistics Get-MobileDeviceStatistics

Installieren und warten des Exchange Online PowerShell v2-Moduls

Sie können das Exo V2-Modul aus der PowerShell-Galerie hierherunterladen.

Note

Die neueste PowerShell-Version, die derzeit für das Exo V2-Modul unterstützt wird, ist PowerShell 5,1. Die Unterstützung für PowerShell 6,0 oder höher ist derzeit ein work in Progress und wird in Kürze veröffentlicht. Dies impliziert auch, dass das Exo PowerShell V2-Modul ab sofort nicht unter Linux oder Mac funktioniert. Die Unterstützung für Linux und Mac ist ein work in Progress und wird in Kürze bekannt gegeben.

Was sollten Sie wissen, bevor Sie beginnen?

  • Geschätzte Zeit bis zum Abschließen des Vorgangs: 5 Minuten

  • Sie können folgende Versionen von Windows verwenden:

    • Windows 10

    • Windows 8.1

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 2012 oder Windows Server 2012 R2

    • Windows 7 Service Pack 1 (SP1)*

    • Windows Server 2008 R2 SP1*

    * Für ältere Versionen von Windows müssen Sie Microsoft.NET Framework 4.5 oder höher installieren und dann eine aktualisierte Version von Windows Management Framework installieren: 3.0, 4.0 oder 5.1 (nur eine). Weitere Informationen finden Sie unter Installation von .NET Framework, Windows Management Framework 3.0, Windows Management Framework 4.0 und Windows Management Framework 5.1.

  • Windows-Remoteverwaltung (Windows Remote Management, WinRM) auf Ihrem Computer muss die Standardauthentifizierung zulassen (ist standardmäßig aktiviert). Um zu überprüfen, ob die Standardauthentifizierung aktiviert ist, führen Sie diesen Befehl an einer Eingabeaufforderung aus:

    winrm get winrm/config/client/auth
    

    Wenn der Wert Basic = true nicht angezeigt wird, müssen Sie diesen Befehl ausführen, um die Standardauthentifizierung für WinRM zu aktivieren:

    winrm set winrm/config/client/auth @{Basic="true"}
    

    Wenn die Standardauthentifizierung deaktiviert ist, wird beim Versuch, eine Verbindung herzustellen, der folgende Fehler gemeldet:

    Der WinRM-Client kann die Anforderung nicht verarbeiten. Die Standardauthentifizierung ist derzeit in der Clientkonfiguration deaktiviert. Ändern Sie die Clientkonfiguration, und führen Sie die Anforderung erneut aus.

    Note

    Die Kombination aus Benutzername und Kennwort wird hier nicht gesendet, aber der grundlegende Authentifizierungsheader ist erforderlich, um das OAuth-Token der Sitzung zu transportieren, da die clientseitige WinRM-Implementierung keine Unterstützung für OAuth hat.

Installieren des Exo v2-Moduls

Führen Sie die folgenden Befehle aus, um das Exo V2-Modul zum ersten Mal zu installieren:

  1. Führen Sie auf Ihrem lokalen Computer einen der folgenden Befehle von einer erhöhten Windows PowerShell-Sitzung aus (ein Windows PowerShell Fenster, das Sie durch Auswählen von als Administrator ausführenöffnen):

    • Installieren Sie das PowerShellGet-Modul zum ersten Mal , oder führen Sie Ihre aktuelle Version des PowerShellGet-Moduls nebeneinander mit der neuesten Version aus:

      Install-Module PowershellGet -Force
      
    • Aktualisieren Sie die vorhandene Version des PowerShellGet-Moduls auf die neueste Version:

      Update-Module PowershellGet
      
  2. Windows PowerShell muss konfiguriert werden, um Skripts auszuführen, und standardmäßig ist dies nicht der Fall. Um zu verlangen, dass alle PowerShell-Skripts, die Sie aus dem Internet herunterladen, von einem vertrauenswürdigen Herausgeber signiert werden, führen Sie den folgenden Befehl in einem erhöhten Windows PowerShell Fenster aus:

    Set-ExecutionPolicy RemoteSigned
    

    Hinweise:

    • Sie müssen diese Einstellung nur einmal auf Ihrem Computer konfigurieren. Weitere Informationen zu Ausführungsrichtlinien finden Sie hier.

    • Wenn Sie diesen Schritt nicht ausführen, erhalten Sie die folgende Fehlermeldung, wenn Sie versuchen, eine Verbindung herzustellen:

      Dateien können nicht geladen werden, da die Ausführung von Skripts auf diesem System deaktiviert ist. Geben Sie ein gültiges Zertifikat an, mit dem die Dateien signiert werden sollen.

  3. Schließen Sie das Fenster mit erhöhten Windows PowerShell, und öffnen Sie es erneut, um die Änderungen aus den vorherigen Schritten zu erhalten.

  4. Führen Sie den folgenden Befehl in einem erhöhten Windows PowerShell Fenster aus:

    Install-Module -Name ExchangeOnlineManagement
    

    Geben Sie Y ein, um den Lizenzvertrag zu akzeptieren.

Aktualisieren des Exo v2-Moduls

Wenn das Exo V2-Modul bereits auf Ihrem Computer installiert ist, können Sie die folgenden Befehle ausführen, um die aktuell installierte Version anzuzeigen und Sie auf die neueste Version zu aktualisieren.

  1. Um die Version des derzeit installierten Exo v2-Moduls anzuzeigen, führen Sie die folgenden Befehle aus:

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    
  2. Führen Sie den folgenden Befehl aus, um das Exo V2-Modul auf die neueste Version zu aktualisieren, die im PowerShell-Katalog zur Verfügung steht:

    Update-Module -Name ExchangeOnlineManagement
    

    Geben Sie Y ein, um den Lizenzvertrag zu akzeptieren.

    Hinweis: Wenn die folgende Fehlermeldung im Zusammenhang mit dem PowerShellGet-Modul angezeigt wird, lesen Sie Schritt 1 im Abschnitt Installieren des Exo v2-Moduls , um das PowerShellGet-Modul auf die neueste Version zu aktualisieren.

    Das angegebene Modul "ExchangeOnlineManagement" mit PowerShellGetFormatVersion "<Version>" wird von der aktuellen Version von PowerShellGet nicht unterstützt. Rufen Sie die neueste Version des PowerShellGet-Moduls auf, um dieses Modul "ExchangeOnlineManagement" zu installieren.

    Wenn Sie das PowerShellGet-Modul aktualisieren müssen, müssen Sie das Windows PowerShell Fenster schließen und erneut öffnen, bevor Sie versuchen, das ExchangeOnlineManagement-Modul zu aktualisieren.

  3. Führen Sie die folgenden Befehle aus, um zu bestätigen, dass das Update erfolgreich war:

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    

Deinstallieren des Exo v2-Moduls

Führen Sie den folgenden Befehl aus, um das Modul zu deinstallieren:

Uninstall-Module -Name ExchangeOnlineManagement

Tip

Liegt ein Problem vor? Bitten Sie in den Exchange-Foren um Hilfe. Sie finden die Foren unter folgenden Links: Exchange Online oder Exchange Online Protection.

Herstellen einer Verbindung mit Exchange Online mithilfe des Exo v2-Moduls

Note

Wenn Ihr Konto mehrstufige Authentifizierung (MFA) verwendet, überspringen Sie den ersten Schritt (das Cmdlet Get-Credential unterstützt keine MFA-aktivierten Konten).

  1. Öffnen Sie auf dem lokalen Computer ein Windows PowerShell Fenster, und führen Sie den folgenden Befehl aus:

    $UserCredential = Get-Credential
    

    Geben Sie im Dialogfeld Bei Windows PowerShell anmelden Ihr Geschäfts-, Schul- oder Unikonto und das Kennwort ein und klicken Sie dann auf OK.

  2. Führen Sie einen der folgenden Befehle aus:

    • Konten ohne MFA aktiviert:

      Connect-ExchangeOnline -Credential $UserCredential -ShowProgress $true
      
    • Konten mit aktiviertem MFA: <UPN> ersetzen Sie durch Ihr Konto im Format Benutzerprinzipalname (Beispiel navin@contoso.com), und führen Sie den folgenden Befehl aus:

      Connect-ExchangeOnline -UserPrincipalName <UPN> -ShowProgress $true
      

Ausführliche Informationen zu Syntax und Parametern finden Sie unter Connect-ExchangeOnline.

Eigenschaften und Eigenschaftssätze im Exo V2-Modul

Die Ausgabe herkömmlicher Exchange Online-Cmdlets gibt alle möglichen Objekteigenschaften zurück, darunter viele Eigenschaften, die häufig leer sind oder in vielen Szenarien gar nicht erforderlich sind. Das Zurückgeben einer großen Anzahl leerer und unnötiger Eigenschaften führt zu einer Beeinträchtigung der Leistung (mehr Server Berechnung und hinzugefügte Netzwerklast). Das vollständige Komplement von Eigenschaften ist in der Cmdlet-Ausgabe selten erforderlich.

Die Cmdlets für das Exo V2-Modul verfügen über kategorisierte Ausgabeeigenschaften. Anstatt allen Eigenschaften dieselbe Wichtigkeit zu geben und Sie in allen Szenarien zurückzugeben, haben wir bestimmte verwandte Eigenschaften in Eigenschaftensätzenkategorisiert. Einfach ausgedrückt, sind diese Eigenschaftssätze Buckets von zwei oder mehr verwandten Eigenschaften für das Cmdlet.

Eigenschaftensätze werden durch die folgenden Parameter in den Exo V2-Modul-Cmdlets gesteuert:

  • PropertySets: dieser Parameter akzeptiert einen oder mehrere verfügbare Eigenschaftensätze, die durch Kommas getrennt sind.

    In diesem Beispiel werden die Eigenschaften zurückgegeben, die in den Archiv-und benutzerdefinierten Eigenschaftensätzen verfügbar sind:

    Get-EXOMailbox -PropertySets Archive,Custom
    
  • Eigenschaften: dieser Parameter akzeptiert einen oder mehrere Eigenschaftennamen, die durch Kommas getrennt sind.

    In diesem Beispiel werden die angegebenen Eigenschaften zurückgegeben:

    Get-EXOMailbox -Properties LitigationHoldEnabled,AuditEnabled
    

    Hinweis: Cmdlets, die nur eine kleine Anzahl von Ausgabeeigenschaften zurückgeben, verfügen nicht über die Parameter PropertySet oder Properties .

Sie können PropertySets und Eigenschaften in demselben Befehl verwenden. Zum Beispiel:

Get-EXOMailbox -Properties IsMailboxEnabled,SamAccountName -PropertySets Delivery
Get-EXOCASMailbox -Properties EwsEnabled, MAPIBlockOutlookNonCachedMode -PropertySets ActiveSync

Wir haben auch einen minimalen Eigenschaftensatz (oder minset) in die verfügbaren Eigenschaftensätze aufgenommen, der eine bloße Mindestgruppe von Eigenschaften für die Ausgabe des Cmdlets enthält.

  • Wenn Sie die Parameter PropertySets oder Properties nicht verwenden, erhalten Sie automatisch die Eigenschaften, die in dem minimalen Eigenschaftensatz enthalten sind.

  • Wenn Sie die Parameter PropertySets oder Properties verwenden, erhalten Sie nur die angegebenen Eigenschaften.

In beiden Fällen enthält die Ausgabe des Cmdlets weitaus weniger Eigenschaften, und die Zeit, die für die Rückgabe dieser Ergebnisse benötigt wird, ist wesentlich schneller.

In diesem Beispiel werden die Eigenschaften im Minimum-Eigenschaftssatz für die ersten zehn Postfächer zurückgegeben.

Get-EXOMailbox -ResultSize 10

Im Gegensatz dazu würde das gleiche Cmdlet Get-Mailbox mindestens 230-Eigenschaften für dieselben zehn Postfächer zurückgeben.

Ausführliche Informationen zu den Eigenschaftensätzen, die in Cmdlets für das Exo V2-Modul zur Verfügung stehen, finden Sie unter Property Sets in Exchange Online PowerShell v2 Cmdlets oder in den Referenzthemen zu den einzelnen Exo v2 Module-Cmdlets.

Exo-Cmdlets bieten auch eine Möglichkeit zum Abrufen aller Eigenschaften für ein Objekt mithilfe des ProperySets -Parameters Allmit dem Wert.

Im folgenden Beispiel werden alle Eigenschaften für die 10 Postfächer zurückgegeben:

Get-EXOMailbox -ResultSize 10 -PropertySets All

Note

Es wird dringend empfohlen, den Parameter PropertySets mit dem All Wert zu verwenden, da das Cmdlet verlangsamt wird und die Zuverlässigkeit verringert wird. Verwenden Sie immer die Parameter PropertySets und Properties , um nur die Eigenschaften requires abzurufen.

Anmerkungen zu dieser Version

Aktuelle Version (Version 0.3582.0)

  • Unterstützung für Prefix während der Sitzungserstellung

    Sie können jeweils nur eine Sitzung erstellen, die mit vorfixierten Cmdlets erstellt werden kann. Beachten Sie, dass die Exo v2-Cmdlets nicht vorangestellt werden, da Sie bereits über ein Präfix Exo verfügen und daher bei der Sitzungserstellung die Verwendung von Exo als Präfix unterlassen.

  • Verwenden von Exo v2-Cmdlets auch dann, wenn die WinRM Basic-Authentifizierung auf dem Clientcomputer deaktiviert ist

    Beachten Sie, dass für Remote-PowerShell-Cmdlets die WinRM Basic-Authentifizierung aktiviert werden muss und diese nicht verfügbar sind, wenn Sie deaktiviert ist.

  • Identity-Parameter für V2-Cmdlets unterstützt jetzt auch Name und Alias

    Beachten Sie, dass die Verwendung von Alias oder Name die Leistung von V2-Cmdlets verlangsamt und daher nicht empfohlen wird, diese Option zu verwenden.

  • Es wurde ein Problem behoben, bei dem der Datentyp von Attributen, die vom Cmdlet v2 zurückgegeben wurden, nicht mit Remote-PowerShell-Cmdlets identisch war. Wir haben immer noch wenige Attribute, die unterschiedliche Datentypen haben, und wir planen, diese in den kommenden Monaten zu verarbeiten.

  • Fixed Bug-häufige Sitzungen wieder verbindet Problem, wenn Connect-ExchangeOnline mit Anmeldeinformationen oder userPrincipalName aufgerufen wurde

Frühere Versionen

Version 0.3555.1

  • Es wurde ein Fehler behoben, bei dem Pipe-Cmdlets aufgrund eines Authentifizierungs Problems mit dem folgenden Fehler fehlschlugen:

    Die Pipeline kann nicht aufgerufen werden, da sich die Remoterunspace nicht im geöffneten Zustand befindet. Der aktuelle Status des Remoterunspace ist ' Closed '.

Version 0.3527.4

  • Aktualisierte Get-Help-Inhalte.

  • Es wurde ein Problem in Get-Help behoben, bei dem der Parameter -Online an eine nicht vorhandene Seite mit Fehlercode 400 umgeleitet wurde.

Version 0.3527.3

  • Unterstützung für die Verwaltung von Exchange für einen anderen Mandanten mit Delegierungs Fluss hinzugefügt.

  • Arbeitet mit anderen PowerShell-Modulen in einem einzelnen PS-Fenster zusammen.

  • Unterstützung für positionelle Parameter hinzugefügt.

  • Datum-Zeit-Feld unterstützt jetzt Clientgebietsschema.

  • Bug Fix: PSCredential leer, wenn Sie während Connect-ExchangeOnline übergeben werden.

  • Bug Fix: Fehler beim Client Modul, wenn der Filter $NULL enthielt.

  • Interne Sitzungen, die für das Exo V2-Modul erstellt wurden, weisen jetzt Namen auf (Benennungsmuster: ExchangeOnlineInternalSession_% SomeNumber%).

  • Bug Fix: Remote-PowerShell-Cmdlets führen bei zeitweise einen Fehler aus, da der Unterschied zwischen dem Token-Ablauf und dem PSSession, das in den Leerlauf wechselt, unterbrochen wird.

  • Wichtiges Sicherheitsupdate.

  • Bugfixes und Verbesserungen.