Herstellen einer Verbindung mit Exchange Online PowerShell
Artikel
Dieser Artikel enthält Anweisungen zum Herstellen einer Verbindung mit Exchange Online PowerShell mithilfe des Exchange Online PowerShell-Moduls mit oder ohne Multi-Factor Authentication (MFA).
Das Exchange Online PowerShell-Modul verwendet moderne Authentifizierung 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. Weitere Informationen zum Exchange Online PowerShell-Modul finden Sie unter Informationen zum Exchange Online PowerShell-Modul.
Nachdem Sie eine Verbindung hergestellt haben, wird über die rollenbasierte Zugriffssteuerung (RBAC) gesteuert, auf welche Cmdlets und Parameter Sie Zugriff haben bzw. nicht haben. Weitere Informationen finden Sie unter Berechtigungen in Exchange Online.
Liegt ein Problem vor? Stellen Sie eine Frage im Exchange Online-Forum.
Schritt 1: Laden des Exchange Online PowerShell-Moduls
Hinweis
Wenn das Modul bereits installiert ist, können Sie diesen Schritt in der Regel überspringen und Connect-ExchangeOnline ausführen, ohne das Modul zuerst manuell zu laden.
Nachdem Sie das Modul installiert haben, öffnen Sie ein PowerShell-Fenster, und laden Sie das Modul, indem Sie den folgenden Befehl ausführen:
Import-Module ExchangeOnlineManagement
Schritt 2: Verbinden und Authentifizieren
Hinweis
Verbindungsbefehle schlagen wahrscheinlich fehl, wenn der Profilpfad des Kontos, das Sie für die Verbindung verwendet haben, $spezielle PowerShell-Zeichen enthält (z. B. ). Die Problemumgehung besteht darin, eine Verbindung mit einem anderen Konto herzustellen, das keine Sonderzeichen im Profilpfad enthält.
Die Syntax des Befehls, den Sie ausführen müssen, sieht so aus:
Wenn Sie den ExchangeEnvironmentName-Parameter verwenden, müssen Sie nicht die ConnectionUri oder AzureADAuthorizationEndPointUrl-Parameter verwenden. Allgemeine Werte für den ExchangeEnvironmentName-Parameter werden in der folgenden Tabelle beschrieben:
Umgebung
Wert
Microsoft 365 oder Microsoft 365 GCC
n/v*
Microsoft 365 GCC High
O365USGovGCCHigh
Microsoft 365 DoD
O365USGovDoD
Office 365 Deutschland
O365GermanyCloud
Office 365, betrieben von 21Vianet
O365China
* Der erforderliche Wert O365Default ist auch der Standardwert, sodass Sie den Parameter ExchangeEnvironmentName in Microsoft 365- oder Microsoft 365 GCC-Umgebungen nicht verwenden müssen.
Der Parameter DelegatedOrganization gibt die Kundenorganisation an, die Sie als autorisierter Microsoft Partner verwalten möchten. Weitere Informationen finden Sie in den Verbindungsbeispielen weiter unten in diesem Artikel.
Je nach Art Ihrer Organisation können Sie den Parameter UserPrincipalName im Verbindungsbefehl möglicherweise weglassen. Geben Sie stattdessen den Benutzernamen und das Kennwort ein, oder wählen Sie gespeicherte Anmeldeinformationen aus, nachdem Sie den Befehl Connect-ExchangeOnline ausgeführt haben. Wenn dies nicht funktioniert, müssen Sie den Parameter UserPrincipalName verwenden.
Wenn keine MFA verwendet wird, kann häufig der Parameter Credential anstelle des Parameters UserPrincipalName verwendet werden. Führen Sie zuerst den Befehl $Credential = Get-Credential aus, geben Sie Ihren Benutzernamen und Ihr Kennwort ein, und verwenden Sie dann den Variablennamen für den Credential-Parameter (-Credential $Credential). Wenn dies nicht funktioniert, müssen Sie den Parameter UserPrincipalName verwenden.
Verwenden Sie den Schalter SkipLoadingFormatData , um Fehler beim Herstellen einer Verbindung mit Exchange Online PowerShell aus einem Windows-Dienst zu vermeiden.
Für die Verwendung des Moduls in PowerShell 7 ist mindestens Version 2.0.4 erforderlich.
Die Verbindungsbeispiele in den folgenden Abschnitten verwenden die moderne Authentifizierung und sind nicht in der Lage, die Standardauthentifizierung zu verwenden.
Herstellen einer Verbindung mit Exchange Online PowerShell über eine interaktive Anmeldeaufforderung
Die folgenden Beispiele funktionieren in Windows PowerShell 5.1 und PowerShell 7 für Konten mit oder ohne MFA:
In diesem Beispiel wird eine Verbindung mit Exchange Online PowerShell in einer Microsoft 365- oder Microsoft 365 GCC-Organisation hergestellt:
Ein Anmeldefenster wird geöffnet. Geben Sie Ihr Kennwort ein, und klicken Sie auf Anmelden.
Hinweis
In PowerShell 7 wird standardmäßig das browserbasierte einmalige Anmelden (Single Sign-On, SSO) verwendet, sodass die Anmeldeaufforderung in Ihrem Standardwebbrowser anstelle eines eigenständigen Dialogfelds geöffnet wird.
Nur bei MFA: Ein Prüfcode wird generiert und gemäß der für Ihr Konto festgelegten Antwortoption zugestellt (z. B. als SMS oder in der Microsoft Authenticator-App auf Ihrem Gerät).
Ein Verifizierungsfenster wird geöffnet. Geben Sie den Prüfcode ein, und klicken Sie auf Bestätigen.
Exklusive Verbindungsmethoden für PowerShell 7
In PowerShell 7 für Konten ohne MFA wird in diesem Beispiel im PowerShell-Fenster zur Eingabe von Anmeldeinformationen aufgefordert:
In PowerShell 7 für Konten mit oder ohne MFA wird in diesem Beispiel ein anderer Computer verwendet, um die Verbindung zu authentifizieren und abzuschließen. In der Regel verwenden Sie diese Methode auf Computern ohne Webbrowser (Benutzer können ihre Anmeldeinformationen in PowerShell 7 nicht eingeben):
Führen Sie den folgenden Befehl auf dem Computer aus, auf dem Sie eine Verbindung herstellen möchten:
Connect-ExchangeOnline -Device
Der Verbindungsbefehl wartet bei der folgenden Ausgabe:
Um sich anzumelden, verwenden Sie einen Webbrowser, um die Seite https://microsoft.com/devicelogin zu öffnen, und geben Sie den Code <XXXXXXXXX ein> , um sich zu authentifizieren.
Beachten Sie den <XXXXXXXXX-Codewert> .
Öffnen https://microsoft.com/devicelogin Sie auf jedem anderen Gerät mit Webbrowser und Internetzugriff, und geben Sie den <XXXXXXXXXXX-Codewert> aus dem vorherigen Schritt ein.
Geben Sie Ihre Anmeldeinformationen auf den resultierenden Seiten ein.
Klicken Sie in der Bestätigungsaufforderung auf Weiter. In der nächsten Meldung sollte der Erfolg angezeigt werden, und Sie können den Browser oder die Registerkarte schließen.
Der Befehl aus Schritt 1 stellt weiterhin eine Verbindung mit Exchange Online PowerShell her.
Herstellen einer Verbindung mit Exchange Online PowerShell ohne Anmeldeaufforderung (unbeaufsichtigte Skripts)
Stellen Sie sicher, dass Sie die Sitzung trennen, wenn Sie fertig sind. Wenn Sie das PowerShell-Fenster schließen, ohne die Sitzung zu trennen, können Sie alle verfügbaren Sitzungen verwenden, und Sie müssen warten, bis die Sitzungen ablaufen. Führen Sie den folgenden Befehl aus, um die Sitzung zu trennen:
Disconnect-ExchangeOnline
Führen Sie den folgenden Befehl aus, um die Verbindung ohne Bestätigungsaufforderung automatisch zu trennen:
Disconnect-ExchangeOnline -Confirm:$false
Hinweis
Der Befehl disconnect schlägt wahrscheinlich fehl, wenn der Profilpfad des Kontos, das Sie für die Verbindung verwendet haben, $spezielle PowerShell-Zeichen enthält (z. B. ). Die Problemumgehung besteht darin, eine Verbindung mit einem anderen Konto herzustellen, das keine Sonderzeichen im Profilpfad enthält.
Woher wissen Sie, dass Die Verbindung erfolgreich hergestellt wurde?
Wenn Sie keine Fehler erhalten, haben Sie erfolgreich eine Verbindung hergestellt. Ein Kurzer Test besteht darin, ein Exchange Online PowerShell-Cmdlet auszuführen, z. B. Get-AcceptedDomain, und die Ergebnisse anzuzeigen.
Wenn Sie Fehlermeldungen erhalten, überprüfen Sie die folgenden Anforderungen:
Ein häufig auftretendes Problem ist ein falsches Kennwort. Führen Sie die Verbindungsschritte erneut aus, und achten Sie genau auf den Benutzernamen und das Kennwort, die Sie verwenden.
Der TCP-Port 80 muss für den Datenverkehr zwischen Ihrem lokalen Computer und Microsoft 365 geöffnet sein. Er ist wahrscheinlich offen, es kann jedoch vorkommen, dass Ihre Organisation eine eingeschränkte Internetzugriffsrichtlinie verfolgt.
Wenn in Ihrer Organisation die Verbundauthentifizierung verwendet wird und Ihr Identitätsanbieter (IDP) und/oder Sicherheitstokendienst (STS) nicht öffentlich verfügbar sind, können Sie kein Verbundkonto verwenden, um eine Verbindung mit Exchange Online PowerShell herzustellen. Erstellen und verwenden Sie stattdessen ein nicht verbundenes Konto in Microsoft 365, um eine Verbindung mit Exchange Online PowerShell herzustellen.
REST-basierte Verbindungen mit Exchange Online PowerShell erfordern das PowerShellGet-Modul und abhängig das PackageManagement-Modul, sodass Sie Fehler erhalten, wenn Sie versuchen, eine Verbindung herzustellen, ohne sie installiert zu haben. Beispielsweise kann der folgende Fehler angezeigt werden:
Der Begriff "Update-ModuleManifest" wird nicht als Name eines Cmdlets, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt. Überprüfen Sie die Schreibweise des Namens, überprüfen Sie, ob ein Pfad enthalten war und ob der Pfad korrekt ist, und versuchen Sie es erneut.
Nachdem Sie eine Verbindung hergestellt haben, erhalten Sie möglicherweise einen Fehler, der wie folgt aussieht:
Die Datei oder Assembly "System.IdentityModel.Tokens.Jwt,Version=<Version>, Culture=neutral, PublicKeyToken=<TokenValue>" konnte nicht geladen werden. Eine bestimmte Datei konnte nicht gefunden oder geladen werden.
Dieser Fehler tritt auf, wenn das Exchange Online PowerShell-Modul mit einem anderen Modul in Konflikt tritt, das in den Runspace importiert wird. Versuchen Sie, eine Verbindung in einem neuen Windows PowerShell-Fenster herzustellen, bevor Sie andere Module importieren.
Anhang: Vergleich alter und neuer Verbindungsmethoden
In diesem Abschnitt wird versucht, ältere Verbindungsmethoden zu vergleichen, die durch das Exchange Online PowerShell-Modul ersetzt wurden. Die Prozeduren Standardauthentifizierung und OAuth-Token sind nur als Verlaufsreferenz enthalten und werden nicht mehr unterstützt.
Herstellen einer Verbindung ohne mehrstufige Authentifizierung
Exchange Online PowerShell-Modul mit interaktiver Anmeldeinformationsaufforderung:
Veranschaulichen der Features von Microsoft Entra ID, um Identitätslösungen zu modernisieren sowie Hybridlösungen und Identitätsgovernance zu implementieren