Informationen zum Exchange Online PowerShell-Moduls

Das Exchange Online PowerShell-Modul verwendet moderne Authentifizierung und arbeitet mit mehrstufiger Authentifizierung (Multi-Factor Authentication, MFA) zum Herstellen einer Verbindung mit allen Exchange-bezogenen PowerShell-Umgebungen in Microsoft 365: Exchange Online PowerShell, Security & Compliance PowerShell und eigenständiger Exchange Online Protection (EOP) PowerShell.

Hinweis

Version 2.0.5 und früher wird als Exchange Online PowerShell V2-Modul (abgekürzt als EXO V2-Modul) bezeichnet. Version 3.0.0 und höher wird als Exchange Online PowerShell V3-Modul (abgekürzt als EXO V3-Modul) bezeichnet.

Verbindungsanweisungen zum Verwenden des Moduls finden Sie in den folgenden Artikeln:

In Rest dieses Artikels werden die Funktionsweise des Moduls, seine Installation und Wartung sowie die im Modul verfügbaren optimierten Exchange Online-Cmdlets beschrieben.

Aktualisierungen für das EXO V3-Modul

Version 3.0.0 oder höher wird als EXO V3-Modul bezeichnet. Das EXO V3-Modul verbessert die Verlaufsfunktionen des EXO V2-Moduls (Version 2.0.5 und früher) mit den folgenden Features:

  • Die zertifikatbasierte Authentifizierung (auch als CBA oder reine App-Authentifizierung bezeichnet) ist für Security & Compliance PowerShell verfügbar.

  • Cmdlets, die von der REST-API unterstützt werden, sind in Exchange Online PowerShell verfügbar. REST-API-Cmdlets haben die folgenden Vorteile gegenüber ihren historischen Gegenstücken:

    • Sicherer: Rest-API-Cmdlets verfügen über integrierte Unterstützung für die moderne Authentifizierung und verlassen sich nicht auf die PowerShell-Remotesitzung, sodass PowerShell auf Ihrem Clientcomputer keine Standardauthentifizierung in WinRM für Exchange Online PowerShell benötigt.
    • Zuverlässiger: REST-API-Cmdlets behandeln vorübergehende Fehler mit integrierten Wiederholungen, sodass Fehler oder Verzögerungen minimiert werden. Beispiel:
      • Fehler aufgrund von Netzwerkverzögerungen.
      • Verzögerungen aufgrund großer Abfragen, deren Abschluss sehr lange dauert.
    • Bessere Leistung: Die Verbindung vermeidet das Einrichten eines PowerShell-Runspaces in Exchange Online PowerShell.

    Die Vorteile von REST-API-Cmdlets in Exchange Online PowerShell werden in der folgenden Tabelle beschrieben:

      PowerShell-Remote-Cmdlets Get-EXO*-Cmdlets REST-API-Cmdlets
    Sicherheit Am wenigsten sicher Hohe Sicherheit Hohe Sicherheit
    Leistung Geringe Leistung Hohe Leistung Mittlere Leistung
    Zuverlässigkeit Am wenigsten zuverlässig Hohe Zuverlässigkeit Hohe Zuverlässigkeit
    Funktionalität Alle Parameter und Ausgabeeigenschaften verfügbar Eingeschränkte Parameter und Ausgabeeigenschaften verfügbar Alle Parameter und Ausgabeeigenschaften verfügbar

    Hinweis

    Derzeit werden keine Cmdlets in PowerShell zur Sicherheitskonformität & von der REST-API unterstützt. Alle Cmdlets in Security & Compliance PowerShell basieren weiterhin auf der PowerShell-Remotesitzung, sodass PowerShell auf Ihrem Clientcomputer die Standardauthentifizierung in WinRM erfordert, um das Cmdlet Connect-IPPSSession erfolgreich verwenden zu können.

    • REST-API-Cmdlets in Exchange Online PowerShell haben die gleichen Cmdlet-Namen und funktionieren genau wie ihre PowerShell-Remote-Entsprechungen, sodass Sie keines Ihrer Skripts aktualisieren müssen.

    • Praktisch alle verfügbaren Remote-PowerShell-Cmdlets in Exchange Online werden jetzt von der REST-API unterstützt.

  • Der UseRPSSession-Switch in Connect-ExchangeOnline gewährt Zugriff auf alle vorhandenen PowerShell-Remote-Cmdlets in Exchange Online PowerShell:

  • Einige REST-API-Cmdlets in Exchange Online PowerShell wurden mit dem experimentellen UseCustomRouting-Schalter aktualisiert. Dieser Schalter wird den Befehl direkt an den erforderlichen Postfachserver weiterleiten, und die Gesamtleistung kann verbessert werden.

    • Wenn Sie den UseCustomRouting-Schalter verwenden, müssen Sie für die Identität des Postfachs die folgenden Werte verwenden:

      • Benutzerprinzipalname (User Principal Name, UPN)
      • E-Mail-Adresse
      • Postfach-GUID
    • Der UseCustomRouting-Schalter ist nur für die folgenden REST-API-Cmdlets in Exchange Online PowerShell verfügbar:

      • Get-Clutter
      • Get-FocusedInbox
      • Get-InboxRule
      • Get-MailboxAutoReplyConfiguration
      • Get-MailboxCalendarFolder
      • Get-MailboxFolderPermission
      • Get-MailboxFolderStatistics
      • Get-MailboxMessageConfiguration
      • Get-MailboxPermission
      • Get-MailboxRegionalConfiguration
      • Get-MailboxStatistics
      • Get-MobileDeviceStatistics
      • Get-UserPhoto
      • Remove-CalendarEvents
      • Set-Clutter
      • Set-FocusedInbox
      • Set-MailboxRegionalConfiguration
      • Set-UserPhoto

      Verwenden Sie den Schalter UseCustomRouting experimentell, und melden Sie alle Fehler, auf die Sie stoßen.

  • Verwenden Sie das Cmdlet Get-ConnectionInformation, um Informationen zu REST-basierten Verbindungen mit Exchange Online PowerShell abzurufen. Dieses Cmdlet ist erforderlich, da das Cmdlet Get-PSSession in Windows PowerShell keine Informationen für REST-basierte Verbindungen zurückgibt.

    Szenarien, in denen Sie Get-ConnectionInformation verwenden können, werden in der folgenden Tabelle beschrieben:

    Szenario Erwartete Ausgabe
    Führen Sie vor einem Connect-ExchangeOnline-Befehl aus. Gibt Nothing zurück.
    Führen Sie nach dem Befehl Connect-ExchangeOnline aus, der den UseRPSSession-Switch verwendet. Gibt nichts zurück (verwenden Sie Get-PSSession).
    Führen Sie nach einem REST-basierten Connect-ExchangeOnline-Befehl aus (kein UseRPSSession-Switch ). Gibt ein Verbindungsinformationsobjekt zurück.
    Führen Sie nach mehreren REST-basierten Connect-ExchangeOnline-Befehlen aus. Gibt eine Auflistung von Verbindungsinformationsobjekten zurück.
    Führen Sie nach mehreren Connect-ExchangeOnline-Befehlen mit und ohne den UseRPSSession-Schalter aus. Gibt ein Verbindungsinformationsobjekt für jede REST-basierte Sitzung zurück.
  • Verwenden Sie den Schalter SkipLoadingFormatData im Cmdlet Connect-ExchangeOnline in REST-basierten Verbindungen (Sie haben den UseRPSSession-Schalter nicht verwendet), um das Laden von Formatdaten zu vermeiden und Connect-ExchangeOnline-Befehle schneller auszuführen.

Weitere Informationen finden Sie im Abschnitt Versionshinweise weiter unten in diesem Artikel.

Melden von Fehlern und Problemen für das Exchange Online PowerShell-Modul

Hinweis

Öffnen Sie für allgemein verfügbare Versionen des Moduls ein Supportticket für probleme, die bei Ihnen auftreten. Verwenden Sie für Vorschauversionen des Moduls die in diesem Abschnitt beschriebene E-Mail-Adresse. Sie können die E-Mail-Adresse auch für Feedback und Vorschläge für allgemeine Verfügbarkeit und Vorschauversionen des Moduls verwenden.

Wenn Sie ein Problem unter exocmdletpreview[at]service[dot]microsoft[dot]com melden, achten Sie darauf, die Protokolldateien in Ihre E-Mail-Nachricht einzuschließen. Um die Protokolldateien zu generieren, ersetzen Sie <Pfad zum Speichern der Protokolldatei> durch den gewünschten Ausgabeordner, und führen Sie den folgenden Befehl aus:

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

Hinweis

Die häufige Verwendung der Cmdlets Connect-ExchangeOnline und Disconnect-ExchangeOnline in einer einzelnen PowerShell-Sitzung oder einem einzelnen Skript kann zu einem Speicherverlust führen. Die beste Möglichkeit, dieses Problem zu vermeiden, besteht darin, den Parameter CommandName im Connect-ExchangeOnline-Cmdlet zu verwenden, um die in der Sitzung verwendeten Cmdlets einzuschränken.

Cmdlets im Exchange Online PowerShell-Modul

Alle Versionen des Moduls enthalten neun exklusive Get-EXO*-Cmdlets für Exchange Online PowerShell, die für die Geschwindigkeit in Massenabrufszenarien (Tausende von Objekten) optimiert sind. Die älteren verwandten PowerShell-Remote-Cmdlets sind weiterhin verfügbar.

Die verbesserten Exchange Online PowerShell-Cmdlets, die nur im Modul verfügbar sind, sind in der folgenden Tabelle aufgeführt:

EXO-Modul-Cmdlet Älteres verwandtes Cmdlet
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

Die verbindungsbezogenen Cmdlets im Modul sind in der folgenden Tabelle aufgeführt:

EXO-Modul-Cmdlet Älteres verwandtes Cmdlet Kommentare
Connect-ExchangeOnline Connect-EXOPSSession in V1 des Moduls
oder
New-PSSession
Connect-IPPSSession Connect-IPPSSession in V1 des Moduls
Disconnect-ExchangeOnline Remove-PSSession
Get-ConnectionInformation Get-PSSession Verfügbar in Version 3.0.0 oder höher.

Verschiedene Exchange Online Cmdlets, die sich im Modul befinden, sind in der folgenden Tabelle aufgeführt:

Cmdlet Kommentare
Get-DefaultTenantBriefingConfig Verfügbar in v3.2.0-Preview1 oder höher.
Set-DefaultTenantBriefingConfig Verfügbar in v3.2.0-Preview1 oder höher.
Get-DefaultTenantMyAnalyticsFeatureConfig Verfügbar in v3.2.0-Preview1 oder höher.
Set-DefaultTenantMyAnalyticsFeatureConfig Verfügbar in v3.2.0-Preview1 oder höher.
Get-MyAnalyticsFeatureConfig Verfügbar in Version 2.0.4 oder höher.
Set-MyAnalyticsFeatureConfig Verfügbar in Version 2.0.4 oder höher.
Get-UserBriefingConfig Ersetzt durch Get-MyAnalyticsFeatureConfig.
Set-UserBriefingConfig Ersetzt durch Set-MyAnalyticsFeatureConfig.
Get-VivaInsightsSettings Verfügbar in v2.0.5 oder höher.
Set-VivaInsightsSettings Verfügbar in v2.0.5 oder höher.

Installieren und Verwalten des Exchange Online PowerShell-Moduls

Sie laden das Modul aus dem PowerShell-Katalog unter https://www.powershellgallery.com/packages/ExchangeOnlineManagement/herunter.

In den Verfahren in diesem Abschnitt wird erläutert, wie Das Modul installiert, aktualisiert und deinstalliert wird.

Unterstützte Betriebssysteme für das Exchange Online PowerShell-Modul

Die neuesten Versionen des Moduls werden offiziell in PowerShell 7 unter Windows, Linux und Apple macOS unterstützt.

Insbesondere Version 2.0.4 oder höher wird in PowerShell 7.0.3 oder höher unterstützt.

Weitere Informationen zu PowerShell 7 finden Sie unter Ankündigung von PowerShell 7.0.

Apple macOS

Das Modul wird in den folgenden Versionen von macOS unterstützt:

  • macOS 11 Big Sur oder höher
  • macOS 10.15 Catalina
  • macOS 10.14 Mojave

Anweisungen zur Installation von PowerShell 7 auf macOS finden Sie unter Installieren von PowerShell auf macOS.

Hinweis

Wie im Installationsartikel beschrieben, müssen Sie OpenSSL installieren, da dies für WSMan erforderlich ist.

Führen Sie nach der Installation von PowerShell 7 und OpenSSL die folgenden Schritte aus:

  1. PowerShell als Superuser ausführen: sudo pwsh

  2. Führen Sie in der PowerShell-Superusersitzung die folgenden Befehle aus:

    Install-Module -Name PSWSMan
    
    Install-WSMan
    

    Wenn Sie dazu aufgefordert werden, akzeptieren Sie PSGallery als Quelle für die Cmdlets.

Jetzt können Sie die regulären PowerShell-Voraussetzungen erfüllen und das Exchange Online PowerShell-Modul installieren.

Linux

Das Modul wird offiziell in den folgenden Linux-Distributionen unterstützt:

  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS

Wenn Sie Probleme bei der Verwendung des Moduls in anderen Linux-Distributionen haben, melden Sie Probleme.

Anweisungen zur Installation von PowerShell 7 auf Linux finden Sie unter Installieren von PowerShell auf Linux.

Führen Sie nach der Installation von PowerShell 7 die folgenden Schritte aus:

  1. PowerShell als Superuser ausführen: sudo pwsh

  2. Führen Sie in der PowerShell-Superusersitzung die folgenden Befehle aus:

    Install-Module -Name PSWSMan
    
    Install-WSMan
    

    Wenn Sie dazu aufgefordert werden, akzeptieren Sie PSGallery als Quelle für die Cmdlets.

Jetzt können Sie die regulären PowerShell-Voraussetzungen erfüllen und das Exchange Online PowerShell-Modul installieren.

Hinweis

Wenn Sie über ein Netzwerk hinter einem Proxyserver eine Verbindung mit Exchange Online PowerShell herstellen, funktioniert das EXO V2-Modul (Version 2.0.5 oder früher) unter Linux nicht. Sie müssen das EXO V3-Modul (v3.0.0 oder höher) unter Linux verwenden, um eine Verbindung aus einem Netzwerk herzustellen, das sich hinter einem Proxyserver befindet.

Windows

Alle Versionen des Moduls werden in Windows PowerShell 5.1 unterstützt.

PowerShell 7 unter Windows erfordert Version 2.0.4 oder höher.

Version 2.0.5 oder höher des Moduls erfordert das Microsoft .NET Framework 4.7.1 oder höher, um eine Verbindung herzustellen. Andernfalls erhalten Sie eine System.Runtime.InteropServices.OSPlatform Fehlermeldung. Diese Anforderung sollte in aktuellen Versionen von Windows kein Problem sein. Weitere Informationen zu Windows-Versionen, die die .NET Framework 4.7.1 unterstützen, finden Sie in diesem Artikel.

Windows PowerShell Anforderungen und Modulunterstützung in älteren Versionen von Windows werden in der folgenden Liste beschrieben:

  • Windows 8.1 1

  • Windows Server 2012 oder Windows Server 2012 R21

  • Windows 7 Service Pack 1 (SP1)2,3,4

  • Windows Server 2008 R2 SP1 2,3,4

  • 1 PowerShell 7 für diese Version von Windows erfordert die Windows 10 Universal C Runtime (CRT).

  • 2 Diese Version von Windows hat das Ende des Supports erreicht und wird jetzt nur auf virtuellen Azure-Computern unterstützt.

  • 3 Diese Windows-Version unterstützt nur Version 2.0.3 oder frühere Versionen des Moduls.

  • 4 Windows PowerShell 5.1 für diese Version von Windows erfordert die .NET Framework 4.5 oder höher und die Windows Management Framework 5.1. Weitere Informationen finden Sie unter Windows Management Framework 5.1.

Voraussetzungen für das Exchange Online PowerShell-Modul

Hinweis

Die in diesem Abschnitt beschriebenen Einstellungen sind in allen Versionen von PowerShell auf allen Betriebssystemen erforderlich.

Legen Sie die PowerShell-Ausführungsrichtlinie auf RemoteSigned fest.

PowerShell muss zum Ausführen von Skripts konfiguriert werden. Standardmäßig ist dies nicht der Fall. Beim Versuch, eine Verbindung herzustellen, wird der folgende Fehler angezeigt:

Dateien können nicht geladen werden, weil das Ausführen von Skripts auf diesem System deaktiviert ist. Stellen Sie ein gültiges Zertifikat bereit, mit dem die Dateien signiert werden sollen.

Um festzulegen, dass alle PowerShell-Skripts, die Sie aus dem Internet herunterladen, von einem vertrauenswürdigen Herausgeber signiert sein müssen, müssen Sie den folgenden Befehl in einem PowerShell-Fenster mit erhöhten Rechten ausführen (ein PowerShell-Fenster, das Sie durch Auswahl von Als Administrator ausführen geöffnet haben):

Set-ExecutionPolicy RemoteSigned

Mehr zu Ausführungsrichtlinien finden Sie unter Ausführungsrichtlinien.

Aktivieren der Standardauthentifizierung in WinRM

Hinweis

Wie weiter oben in diesem Artikel beschrieben, erfordert das EXO V3-Modul keine Standardauthentifizierung in WinRM für REST-basierte Verbindungen mit Exchange Online PowerShell.

Für PowerShell-Remoteverbindungen muss WinRM die Standardauthentifizierung zulassen. Die Kombination aus Benutzername und Kennwort wird nicht gesendet. Der Standardauthentifizierungsheader ist erforderlich, um das OAuth-Token der Sitzung zu senden, da die clientseitige Implementierung von WinRM OAuth nicht unterstützt.

Um zu überprüfen, ob die Standardauthentifizierung für WinRM aktiviert ist, führen Sie den folgenden Befehl in der Eingabeaufforderung oder Windows PowerShell aus:

Hinweis

Die folgenden Befehle erfordern, dass WinRM aktiviert ist. Führen Sie den folgenden Befehl aus, um WinRM zu aktivieren: winrm quickconfig.

winrm get winrm/config/client/auth

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

  • In der Eingabeaufforderung:

    winrm set winrm/config/client/auth @{Basic="true"}
    
  • In Windows PowerShell:

    winrm set winrm/config/client/auth '@{Basic="true"}'
    
  • In Windows PowerShell zum Ändern der Registrierung:

    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\WinRM\Client' -Name 'AllowBasic' -Type DWord -Value '1'
    

Wenn die Standardauthentifizierung für WinRM deaktiviert ist, wird beim Versuch, eine Verbindung herzustellen, einer der folgenden Fehler gemeldet:

Die Anforderung kann vom WinRM-Client nicht verarbeitet werden. Die Standardauthentifizierung ist in der Clientkonfiguration zurzeit deaktiviert. Ändern Sie die Clientkonfiguration, und versuchen Sie es erneut.

Erstellen der PowerShell-Sitzung ist mit OAuth fehlgeschlagen.

Tipp

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.

Installieren des Exchange Online PowerShell-Moduls

Führen Sie die folgenden Schritte aus, um das Modul zum ersten Mal zu installieren:

  1. Installieren oder aktualisieren Sie das PowerShellGet-Modul wie unter Installieren von PowerShellGet beschrieben.

  2. Schließen Sie das Windows PowerShell-Fenster und öffnen Sie es erneut.

  3. Jetzt können Sie das Cmdlet Install-Module verwenden, um das Modul aus dem PowerShell-Katalog zu installieren. In der Regel benötigen Sie die neueste öffentliche Version des Moduls, aber Sie können auch eine Vorschauversion installieren, falls verfügbar.

    • Um die neueste öffentliche Version des Moduls zu installieren, führen Sie einen der folgenden Befehle aus:

      • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

        Install-Module -Name ExchangeOnlineManagement
        
      • Nur für das aktuelle Benutzerkonto:

        Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
        
    • Führen Sie den folgenden Befehl aus, um die verfügbaren Vorschauversionen des Moduls anzuzeigen:

      Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease
      
    • Führen Sie einen der folgenden Befehle aus, um die neueste verfügbare Vorschauversion des Moduls zu installieren:

      • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

        Install-Module -Name ExchangeOnlineManagement -AllowPrerelease
        
      • Nur für das aktuelle Benutzerkonto:

        Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser -AllowPrerelease
        
    • Um eine bestimmte Vorschauversion des Moduls zu installieren, ersetzen Sie <PreviewVersion> durch den erforderlichen Wert, und führen Sie einen der folgenden Befehle aus:

      • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

        Install-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease
        
      • Nur für das aktuelle Benutzerkonto:

        Install-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease -Scope CurrentUser
        

    Wenn Sie fertig sind, geben Sie Y ein, um den Lizenzvertrag anzunehmen.

Ausführliche Informationen zu Syntax und Parametern finden Sie unter Install-Module.

Aktualisieren des Exchange Online PowerShell-Moduls

Wenn das Modul bereits auf Ihrem Computer installiert ist, können Sie die Verfahren in diesem Abschnitt verwenden, um das Modul zu aktualisieren.

  1. Führen Sie den folgenden Befehl aus, um die Version des moduls anzuzeigen, das derzeit installiert ist und wo es installiert ist:

    Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation
    

    Wenn das Modul unter C:\Programme\WindowsPowerShell\Modules installiert ist, wird es für alle Benutzer installiert. Wenn das Modul im Ordner Dokumente installiert ist, wird es nur für das aktuelle Benutzerkonto installiert.

  2. Sie können das Cmdlet Update-Module verwenden, um das Modul aus dem PowerShell-Katalog zu aktualisieren. In der Regel benötigen Sie die neueste öffentliche Version des Moduls, aber Sie können auch ein Upgrade auf eine Vorschauversion durchführen, falls diese verfügbar ist.

    • Um ein Upgrade auf die neueste öffentliche Version des Moduls durchzuführen, führen Sie einen der folgenden Befehle aus, je nachdem, wie Sie das Modul ursprünglich installiert haben (alle Benutzer und nur für das aktuelle Benutzerkonto):

      • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

        Update-Module -Name ExchangeOnlineManagement
        
      • Nur für das aktuelle Benutzerkonto:

        Update-Module -Name ExchangeOnlineManagement -Scope CurrentUser
        
    • Um ein Upgrade auf eine Vorschauversion des Moduls durchzuführen, können Sie ein Upgrade auf die neueste verfügbare Vorschauversion durchführen oder den RequiredVersion-Parameter verwenden, um ein Upgrade auf eine bestimmte Vorschauversion durchzuführen.

      • Führen Sie den folgenden Befehl aus, um die verfügbaren Vorschauversionen des Moduls anzuzeigen:

        Find-Module ExchangeOnlineManagement -AllVersions -AllowPrerelease
        
      • Führen Sie einen der folgenden Befehle aus, um ein Upgrade auf die neueste verfügbare Vorschauversion des Moduls durchzuführen:

        • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

          Update-Module -Name ExchangeOnlineManagement -AllowPrerelease
          
        • Nur für das aktuelle Benutzerkonto:

          Update-Module -Name ExchangeOnlineManagement -Scope CurrentUser -AllowPrerelease
          
      • Um auf eine bestimmte Vorschauversion des Moduls zu aktualisieren, ersetzen Sie <PreviewVersion> durch den erforderlichen Wert, und führen Sie einen der folgenden Befehle aus:

        • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

          Update-Module -Name ExchangeOnlineManagement -RequiredVersion <PreviewVersion> -AllowPrerelease
          
        • Nur für das aktuelle Benutzerkonto:

          Update-Module -Name ExchangeOnlineManagement -Scope CurrentUser -RequiredVersion <PreviewVersion> -AllowPrerelease
          

    Wenn Sie fertig sind, geben Sie Y ein, um den Lizenzvertrag anzunehmen.

  3. Um zu bestätigen, dass das Update erfolgreich war, führen Sie die folgenden Befehle aus, um die Versionsinformationen des installierten Moduls zu überprüfen:

    Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement
    

Ausführliche Informationen zu Syntax und Parametern finden Sie unter Update-Module.

Problembehandlung bei der Installation des Exchange Online PowerShell-Moduls

  • Sie erhalten einen der folgenden Fehler:

    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 zum Installieren dieses Moduls, "ExchangeOnlineManagement", ab.

    WARNUNG: Vom URI "https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409" kann nicht in "" heruntergeladen werden.

    WARNUNG: Die Liste der verfügbaren Anbieter kann nicht heruntergeladen werden. Überprüfen Sie Ihre Internetverbindung.

    Aktualisieren Sie die Installation des PowerShellGet-Moduls auf die neueste Version, wie unter Installieren von PowerShellGet beschrieben. Schließen Sie unbedingt das PowerShell-Fenster, und öffnen Sie es erneut, bevor Sie noch einmal versuchen, das ExchangeOnlineManagement-Modul zu aktualisieren.

  • Ab April 2020 unterstützt der PowerShell-Katalog nur noch Verbindungen mit TLS 1.2 oder höher. Weitere Informationen finden Sie unter PowerShell-Katalog: TLS-Unterstützung.

    Um Ihre aktuellen Einstellungen im Microsoft .NET Framework zu überprüfen, führen Sie den folgenden Befehl in Windows PowerShell aus:

    [Net.ServicePointManager]::SecurityProtocol
    

    Wie im Artikel „PowerShell-Katalog: TLS-Unterstützung“ beschrieben, führen Sie zum Installieren der Module „PowerShellGet“ oder „ExchangeOnlineManagement“ den folgenden Befehl in Windows PowerShell aus, um das Sicherheitsprotokoll vorübergehend auf TLS 1.2 zu ändern, bevor Sie das Modul installieren:

    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    

    Um die starke Kryptografie im Microsoft .NET Framework ab Version 4.x dauerhaft zu aktivieren, führen Sie einen der folgenden Befehle aus, je nach Ihrer Windows-Architektur:

    • x64:

      Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Type DWord -Value '1'
      
    • x86

      Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Type DWord -Value '1'
      

    Weitere Informationen finden Sie unter SchUseStrongCrypto.

  • Sie erhalten den folgenden Fehler:

    Für die angegebenen Suchkriterien und den Modulnamen „ExchangeOnlineManagement“ wurde keine Übereinstimmung gefunden. Versuchen Sie, Get-PSRepository auszuführen, um alle verfügbaren registrierten Modulrepositorys anzuzeigen.

    Das Standard-Repository für PowerShell-Module ist nicht auf PSGallery festgelegt. Führen Sie den folgenden Befehl aus, um diesen Fehler zu beheben:

    Register-PSRepository -Default
    

Deinstallieren des Exchange Online PowerShell-Moduls

Führen Sie den folgenden Befehl aus, um die Version des moduls anzuzeigen, das derzeit installiert ist und wo es installiert ist:

Get-InstalledModule ExchangeOnlineManagement | Format-List Name,Version,InstalledLocation

Wenn das Modul unter C:\Programme\WindowsPowerShell\Modules installiert ist, wurde es für alle Benutzer installiert. Wenn das Modul im Ordner Dokumente installiert ist, wurde es nur für das aktuelle Benutzerkonto installiert.

Führen Sie zum Deinstallieren des Moduls einen der folgenden Befehle aus, je nachdem, wie Sie das Modul ursprünglich installiert haben (alle Benutzer und nur für das aktuelle Benutzerkonto):

  • In einem PowerShell-Fenster mit erhöhten Rechten (alle Benutzer):

    Uninstall-Module -Name ExchangeOnlineManagement
    
  • Nur für das aktuelle Benutzerkonto:

    Uninstall-Module -Name ExchangeOnlineManagement
    

Ausführliche Informationen zu Syntax und Parametern finden Sie unter Uninstall-Module.

Eigenschaften und Eigenschaftensätze im Exchange Online PowerShell-Modul

Herkömmliche Exchange Online-Cmdlets geben alle möglichen Objekteigenschaften in der Ausgabe zurück, darunter viele Eigenschaften, die häufig leer sind oder in vielen Szenarien nicht interessant sind. Dieses Verhalten führt zu einer verminderten Leistung (mehr Serverrechenaufwand und zusätzliche Netzwerklast). Nur selten (wenn überhaupt) benötigen Sie die gesamten Eigenschaften in der Cmdlet-Ausgabe.

Die Get-EXO*- Cmdlets im Modul verfügen über kategorisierte Ausgabeeigenschaften. Statt allen Eigenschaften gleiche Bedeutung zuzuschreiben und sie in allen Szenarien zurückzugeben, wurden bestimmte verwandte Eigenschaften in Eigenschaftensätze kategorisiert. Einfach ausgedrückt: Diese Eigenschaftensätze sind Buckets mit zwei oder mehr verwandten Eigenschaften für das Cmdlet.

Die größten und am häufigsten verwendeten Get-EXO*- Cmdlets verwenden Eigenschaftensätze:

In diesen Cmdlets werden Eigenschaftengruppen durch folgende Parameter gesteuert:

  • PropertySets: Dieser Parameter akzeptiert einen oder mehrere verfügbare, durch Kommas getrennte Eigenschaftensatznamen. Die verfügbaren Eigenschaftensätze werden unter Eigenschaftensätze in Exchange Online PowerShell-Modul-Cmdlets beschrieben.
  • Properties: Dieser Parameter akzeptiert einen oder mehrere, durch Kommas getrennte Eigenschaftennamen.

Sie können die Parameter PropertySets und Properties zusammen im selben Befehl verwenden.

Außerdem haben wir einen Minimum-Eigenschaftensatz einbezogen, der einen absoluten Mindestsatz von erforderlichen Eigenschaften für die Cmdlet-Ausgabe enthält (z. B. Identitätseigenschaften). Die Eigenschaften in den Minimum-Eigenschaftssätzen werden auch unter Eigenschaftensätze in Exchange Online PowerShell-Modul-Cmdlets beschrieben.

  • Wenn Sie die PropertySets- oder Properties-Parameter nicht verwenden, erhalten Sie automatisch die Eigenschaften im Minimum-Eigenschaftensatz.
  • Wenn Sie die PropertySets- oder Properties-Parameter verwenden, erhalten Sie die angegebenen Eigenschaften und die Eigenschaften im Minimum-Eigenschaftensatz.

In beiden Fällen wird die Ausgabe des Cmdlets viel weniger Eigenschaften enthalten, und die Rückgabe der Ergebnisse wird erheblich schneller erfolgen.

Beispielsweise werden im folgenden Beispiel, nachdem Sie eine Verbindung mit Exchange Online PowerShell hergestellt haben, nur die Eigenschaften im Minimum-Eigenschaftensatz für die ersten zehn Postfächer zurückgegeben.

Get-EXOMailbox -ResultSize 10

Im Gegensatz dazu würde die Ausgabe des gleichen Get-Mailbox-Cmdlets mindestens 230 Eigenschaften für jedes der ersten zehn Postfächer zurückgeben.

Hinweis

Auch wenn der Parameter PropertySets den Wert "All" akzeptiert, raten wir dringend davon ab, mit diesem Wert alle Eigenschaften zurückzugeben, da dadurch der Befehl verlangsamt und die Zuverlässigkeit verringert wird. Verwenden Sie immer die PropertySets- und Properties-Parameter, um die Mindestanzahl von Eigenschaften abzurufen, die in Ihrem Szenario benötigt werden.

Weitere Informationen zum Filtern im Modul finden Sie unter Filter im Exchange Online PowerShell-Modul.

Versionshinweise

Sofern nicht anders angegeben, enthält die aktuelle Version des Exchange Online PowerShell-Moduls alle Features früherer Versionen.

Aktuelle Version: Version 3.1.0

  • AccessToken-Parameter in Connect-ExchangeOnline verfügbar.
  • Fehlerbehebungen in Connect-ExchangeOnline und Get-ConnectionInformation.
  • Fehlerbehebung in Connect-IPPSSession für das Herstellen einer Verbindung mit Security & Compliance PowerShell mithilfe von CertificateThumbprint.

Frühere Releases

Version 3.0.0 (Vorschauversionen, bekannt als v2.0.6-PreviewX)

  • Features, die bereits im Abschnitt Aktualisierungen für das EXO V3-Modul) beschrieben wurden:
    • Zertifikatbasierte Authentifizierung für Security & Compliance PowerShell (Version 2.0.6-Preview5 oder höher).
    • Das Cmdlet Get-ConnectionInformation für REST-basierte Verbindungen (Version 2.0.6-Preview7 oder höher).
    • Der SkipLoadingFormatData-Schalter im Cmdlet Connect-ExchangeOnline für REST-basierte Verbindungen (Version 2.0.6-Preview8 oder höher).
  • Der Parameter DelegatedOrganization funktioniert im Cmdlet Connect-IPPSSession , solange Sie auch den Parameter AzureADAuthorizationEndpointUri im Befehl verwenden.
  • Bestimmte Cmdlets, die verwendet wurden, um in bestimmten Szenarien zur Bestätigung aufzufordern, tun dies nicht mehr. Standardmäßig wird das Cmdlet bis zum Abschluss ausgeführt.
  • Das Format des Fehlers, der bei der fehlgeschlagenen Cmdlet-Ausführung zurückgegeben wurde, wurde geringfügig geändert. Die Ausnahme enthält jetzt zusätzliche Daten (z. B. den Ausnahmetyp), und der FullyQualifiedErrorId enthält nicht .FailureCategory Das Format des Fehlers kann noch geändert werden.

Version 2.0.5

  • Neue Cmdlets Get-OwnerlessGroupPolicy und Set-OwnerlessGroupPolicy, um Microsoft 365-Gruppen ohne Besitzer zu verwalten.

    Hinweis

    Obwohl die Cmdlets im Modul verfügbar sind, ist das Feature nur für Mitglieder einer privaten Vorschau verfügbar.

  • Neue Cmdlets Get-VivaInsightsSettings und Set-VivaInsightsSettings zum Steuern des Benutzerzugriffs auf Headspace-Features in Viva Insights.

Version 2.0.4

  • PowerShell 7 wird offiziell unter Windows, Linux und Apple macOS unterstützt, wie im Abschnitt Voraussetzungen für das Exchange Online PowerShell-Modul in diesem Artikel beschrieben.

  • Das Modul in PowerShell 7 unterstützt browserbasiertes einmaliges Anmelden (Single Sign-On, SSO) und andere Anmeldemethoden. Weitere Informationen finden Sie unter Exklusive Verbindungsmethoden für PowerShell 7.

  • Die Cmdlets Get-UserAnalyticsConfig und Set-UserAnalyticsConfig wurden durch die Cmdlets Get-MyAnalyticsConfig und Set-MyAnalyticsConfig ersetzt. Zusätzlich können Sie den Zugriff auf Featureebene konfigurieren. Weitere Informationen finden Sie unter Konfigurieren von MyAnalytics.

  • Richtlinien- und Sicherheitsdurchsetzung in Echtzeit bei allen benutzerbasierten Authentifizierungen. Die fortlaufende Zugriffsevaluierung (Continuous Access Evaluation, CAE) wurde im Modul aktiviert. Weitere Informationen zu CAE finden Sie hier.

  • Die Eigenschaften LastUserActionTime und LastInteractionTime sind jetzt in der Ausgabe des Cmdlets Get-EXOMailboxStatistics verfügbar.

  • Der interaktive Anmeldeprozess verwendet jetzt eine sicherere Methode zum Abrufen von Zugriffstoken unter Verwendung sicherer Antwort-URLs.

Version 2.0.3

  • Allgemeine Verfügbarkeit der zertifikatbasierten Authentifizierung (CBA), die die Verwendung von moderner Authentifizierung bei unbeaufsichtigten Skripting- oder Hintergrundautomatisierungsszenarios ermöglicht. Die verfügbaren Zertifikatspeicherorte sind:
  • Stellen Sie in einem einzelnen PowerShell-Fenster gleichzeitig eine Verbindung mit Exchange Online PowerShell- und Security & Compliance-PowerShell her.
  • Der neue CommandName-Parameter ermöglicht es Ihnen, die in einer Sitzung importierten Exchange Online PowerShell-Cmdlets anzugeben und einzuschränken. Diese Option verringert den Speicherbedarf für PowerShell-Anwendungen mit hoher Auslastung.
  • Get-EXOMailboxFolderPermission unterstützt jetzt ExternalDirectoryObjectID im Parameter Identity.
  • Die optimierte Latenz des ersten V2-Cmdlet-Aufrufs. Laborergebnisse zeigen, dass die erste Aufrufwartezeit von 8 Sekunden auf ungefähr 1 Sekunde reduziert wurde. Die tatsächlichen Ergebnisse sind vom Ergebnis der Cmdlet-Größe und der Mandantenumgebung abhängig.

Version 1.0.1

  • GA-Version (allgemeine Verfügbarkeit) des EXO PowerShell V2-Moduls. Es ist stabil und für die Verwendung in Produktionsumgebungen einsatzbereit.
  • Das Cmdlet Get-EXOMobileDeviceStatistics unterstützt nun den Parameter Identity.
  • Erhöhte Zuverlässigkeit der automatischen Wiederbindung von Sitzungen in bestimmten Fällen, in denen ein Skript für ~50 Minuten ausgeführt wurde und aufgrund eines Fehlers in der Logik für die automatische Wiederverbindung eine Fehlermeldung vom Typ "Cmdlet nicht gefunden" angezeigt wurde.
  • Datentypfehler bei zwei häufig verwendeten "User" und "MailboxFolderUser"-Attributen zur einfachen Migration von Skripts behoben.
  • Verbesserte Unterstützung von Filtern, da jetzt vier weitere Operatoren unterstützt werden: EndsWith, Contains, Not und NotLike support. Überprüfen Sie filter im Exchange Online PowerShell-Modul auf Attribute, die in Filtern nicht unterstützt werden.

Version 0.4578.0

  • Unterstützung für die Konfiguration von Briefing-E-Mails für Ihre Organisation auf Benutzerebene mit Set-UserBriefingConfig- und Get-UserBriefingConfig-Cmdlets hinzugefügt.
  • Unterstützung für die Sitzungsbereinigung mithilfe des Disconnect-ExchangeOnline-Cmdlets. Bei diesem Cmdlet handelt es sich um das V2-Äquivalent von Get-PSSession | Remove-PSSession. Zusätzlich zum Löschen von Sitzungsobjekten und lokalen Dateien wird auch das Zugriffstoken aus dem Cache entfernt, das für die Authentifizierung bei V2-Cmdlets verwendet wird.
  • Sie können FolderId jetzt als Identitätsparameter in Get-EXOMailboxFolderPermission verwenden. Sie können den FolderId-Wert mithilfe von Get-MailboxFolder abrufen. Zum Beispiel: Get-MailboxFolderPermission -Identity <UPN>:<Folder-Path>Get-MailboxFolderPermission -Identity <UPN>:\<Folder-Id>
  • Die Zuverlässigkeit von Get-EXOMailboxStatistics wurde verbessert, da bestimmte Anforderungsroutingfehler behoben wurden, die zu Fehlern geführt haben.
  • Optimierte Speichernutzung, wenn eine Sitzung durch erneutes Verwenden eines vorhandenen Moduls mit einer neuen Sitzung erstellt wird, statt jedes Mal, wenn eine Sitzung importiert wird, eine neue Sitzung zu erstellen.

Version 0.4368.1

  • Unterstützung für PowerShell-Cmdlets zur Sicherheitskonformität & mithilfe des Cmdlets Connect-IPPSSession hinzugefügt.
  • Das Ankündigungsbanner kann mit dem Schalter ShowBanner (-ShowBanner:$false) ausgeblendet werden.
  • Beenden Sie die Ausführung des Cmdlets für Client-Ausnahmen.
  • Remote PowerShell enthielt mehrere komplexe Datentypen, die in EXO-Cmdlets absichtlich nicht unterstützt wurden, um die Leistung zu verbessern. Unterschiede bei nicht komplexen Datentypen zwischen Remote-PowerShell-Cmdlets und V2-Cmdlets wurden behoben, um eine nahtlose Migration von Verwaltungsskripts zu ermöglichen.

Version 0.3582.0

  • Unterstützung von Präfixen während der Erstellung einer Sitzung.
    • Sie können jeweils nur eine Sitzung erstellen, die Präfix-Cmdlets enthält.
    • Beachten Sie, dass den EXO V2-Cmdlets kein Präfix vorangestellt wird, da sie bereits das Präfix "EXO" aufweisen; verwenden Sie EXO also nicht als Präfix.
  • Verwenden Sie EXO V2-Cmdlets, auch wenn die WinRM-Standardauthentifizierung auf dem Clientcomputer deaktiviert ist. Beachten Sie, dass Remote-PowerShell-Cmdlets die WinRM-Standardauthentifizierung erfordern, und dass sie nicht verfügbar sind, wenn sie deaktiviert ist.
  • Der Identity-Parameter für V2-Cmdlets unterstützt nun auch Name und Alias. Beachten Sie, dass die Verwendung von Alias oder Name die Leistung von V2-Cmdlets verringert. Deshalb empfiehlt es sich nicht, sie zu verwenden.
  • Ein Problem wurde behoben, bei dem sich der Datentyp der vom V2-Cmdlet zurückgegebenen Attribute von jenem von Remote-PowerShell-Cmdlets unterschied. Es gibt noch einige Attribute, die unterschiedliche Datentypen aufweisen, und wir planen, das in den kommenden Monaten anzugehen.
  • Bug behoben: Ein häufiges Problem bei Wiederverbindungen von Sitzungen, wenn Connect-ExchangeOnline mit Credentials oder UserPrincipalName aufgerufen wurde.

Version 0.3555.1

  • Ein Fehler wurde behoben, bei dem mittels Pipeline übertragene Cmdlets aufgrund eines Authentifizierungsproblems mit folgendem Fehler fehlschlugen:

    Die Pipeline kann nicht aufgerufen werden, da sich der Runspace nicht im geöffneten Zustand befindet. Der aktuelle Status des Runspace ist "geschlossen".

Version 0.3527.4

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

Version 0.3527.3

  • Unterstützung für die Verwaltung von Exchange für einen anderen Mandanten mittels Delegierungsfluss hinzugefügt.
  • Funktioniert zusammen mit anderen PowerShell-Modulen in einem einzigen PS-Fenster.
  • Unterstützung für Positionsparameter wurde hinzugefügt.
  • Das Feld "Datum/Uhrzeit" unterstützt jetzt das Clientgebietsschema.
  • Bug behoben: PSCredential leer, wenn während Connect-ExchangeOnline übergeben.
  • Bug behoben: Client-Modulfehler, wenn Filter $null enthielt.
  • Sitzungen, die im EXO V2-Modul erstellt wurden, weisen nun Namen auf (Benennungsmuster: ExchangeOnlineInternalSession_%SomeNumber%).
  • Bug behoben: Remote-PowerShell-Cmdlets schlugen fehl aufgrund des Zeitunterschieds zwischen Ablauf des Tokens und PSSession-Leerlauf.
  • Größeres Sicherheitsupdate.
  • Bugfixes und Verbesserungen.