Herstellen einer Verbindung zur Security & Compliance PowerShell

Dieser Artikel enthält Anweisungen zum Herstellen einer Verbindung mit Security & Compliance 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-Moduls finden Sie unter Informationen zum Exchange Online PowerShell-Moduls.

Informationen zum Herstellen einer Verbindung mit Security & Compliance-PowerShell zur Automatisierung finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts.

Was sollten Sie wissen, bevor Sie beginnen?

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-IPPSSession 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:

Connect-IPPSSession -UserPrincipalName <UPN> [-ConnectionUri <URL>] [-AzureADAuthorizationEndpointUri <URL>] [-DelegatedOrganization <String>] [-PSSessionOption $ProxyOptions]

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

  • <DER UPN> ist Ihr Konto im Benutzerprinzipalnamenformat (z. B navin@contoso.onmicrosoft.com. ).

  • Die erforderlichen ConnectionUri- und AzureADAuthorizationEndpointUri-Werte hängen von der Art Ihrer Microsoft 365-organization ab. Allgemeine Werte werden in der folgenden Liste beschrieben:

    • Microsoft 365 oder Microsoft 365 GCC:
      • ConnectionUri: Keine. Der erforderliche Wert https://ps.compliance.protection.outlook.com/powershell-liveid/ ist auch der Standardwert, sodass Sie den Parameter ConnectionUri in Microsoft 365- oder Microsoft 365 GCC-Umgebungen nicht verwenden müssen.
      • AzureADAuthorizationEndpointUri: Keine. Der erforderliche Wert https://login.microsoftonline.com/common ist auch der Standardwert, sodass Sie den Parameter AzureADAuthorizationEndpointUri in Microsoft 365- oder Microsoft 365 GCC-Umgebungen nicht verwenden müssen.
    • Microsoft 365 GCC High:
      • ConnectionUri: https://ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/common
    • Microsoft 365 DoD:
      • ConnectionUri: https://l5.ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri: https://login.microsoftonline.us/common
    • Office 365 betrieben von 21Vianet:
      • ConnectionUri: https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
      • AzureADAuthorizationEndpointUri: https://login.chinacloudapi.cn/common
  • Wenn Sie sich hinter einem Proxyserver befinden, können Sie den PSSessionOption-Parameter im Verbindungsbefehl verwenden. Führen Sie zunächst den folgenden Befehl aus: $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, wobei <Value> , WinHttpConfigoder AutoDetectistIEConfig. Verwenden Sie dann den Wert $ProxyOptions für den PSSessionOption-Parameter . Weitere Informationen finden Sie unter New-PSSessionOption.

  • Je nach Art Ihrer Organisation können Sie den Parameter UserPrincipalName möglicherweise im nächsten Schritt weglassen. Geben Sie stattdessen den Benutzernamen und das Kennwort ein, oder wählen Sie gespeicherte Anmeldeinformationen aus, nachdem Sie den Befehl Connect-IPPSSession 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.

Herstellen einer Verbindung mit Security & Compliance PowerShell über eine interaktive Anmeldeaufforderung

  1. 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 zur Security & Compliance PowerShell in einer Microsoft 365- oder Microsoft 365 GCC-Organisation hergestellt:

      Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com
      
    • In diesem Beispiel wird eine Verbindung zur Security & Compliance PowerShell in einer Microsoft GCC High-Organisation hergestellt:

      Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
      
    • In diesem Beispiel wird eine Verbindung zur Security & Compliance PowerShell in einer Microsoft 365 DoD-Organisation hergestellt:

      Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/common
      
    • In diesem Beispiel wird eine Verbindung zur Security & Compliance PowerShell in einer von 21Vianet betriebenen Office 365-Organisation hergestellt:

      Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/common
      
  2. Ein Anmeldefenster wird geöffnet. Geben Sie Ihr Kennwort ein, und klicken Sie auf Anmelden.

    Geben Sie Ihr Kennwort im Fenster „Bei Ihrem Konto anmelden“ ein.

    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.

  3. 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.

    Geben Sie Ihren Prüfcode im Fenster „Bei Ihrem Konto anmelden“ ein.

Herstellen einer Verbindung mit Security & Compliance PowerShell ohne Anmeldeaufforderung (unbeaufsichtigte Skripts)

Vollständige Anweisungen finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts in Exchange Online PowerShell und Security & Compliance PowerShell.

Herstellen einer Verbindung mit Security & Compliance PowerShell in Kundenorganisationen

Für die Verfahren in diesem Abschnitt ist mindestens Version 3.0.0 des Moduls erforderlich.

In Security & Compliance PowerShell müssen Sie AzureADAuthorizationEndpointUri mit dem Parameter DelegatedOrganization verwenden.

Weitere Informationen zu Partnern und Kundenorganisationen finden Sie in den folgenden Themen:

In diesem Beispiel wird in den folgenden Szenarien eine Verbindung mit Kundenorganisationen hergestellt:

  • Stellen Sie mithilfe eines CSP-Kontos eine Verbindung mit einem Kunden organization her.

  • Stellen Sie mithilfe eines GDAP eine Verbindung mit einem Kunden organization her.

  • Stellen Sie eine Verbindung mit einem Kunden organization als Gastbenutzer her.

    Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com -DelegatedOrganization adatum.onmicrosoft.com -AzureADAuthorizationEndpointUri https://login.microsoftonline.com/adatum.onmicrosoft.com
    

Schritt 3: Trennen, wenn Sie fertig sind

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?

Die Security & Compliance PowerShell-Cmdlets werden in Ihre lokale Windows PowerShell-Sitzung importiert, und der Fortschritt wird in der Statusleiste angezeigt. Wenn Sie keine Fehler erhalten, haben Sie erfolgreich eine Verbindung hergestellt. Als schnellen Test können Sie ein Security & Compliance PowerShell-Cmdlet ausführen, beispielsweise Get-RetentionCompliancePolicy, und die Ergebnisse überprüfen.

Wenn Sie Fehlermeldungen erhalten, überprüfen Sie die folgenden Anforderungen:

  • Ein häufig auftretendes Problem ist ein falsches Kennwort. Führen Sie die drei Schritte erneut durch, und achten Sie besonders auf die Eingabe des verwendeten Benutzernamens und Kennworts.

  • Das Konto, das Sie zum Herstellen einer Verbindung verwenden, muss für PowerShell aktiviert sein. Weitere Informationen finden Sie unter Aktivieren oder Deaktivieren des Zugriffs auf Exchange Online PowerShell.

  • 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.

  • REST-basierte Verbindungen mit Security & Compliance 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.

    Weitere Informationen zu den PowerShellGet- und PackageManagement-Modulanforderungen finden Sie unter PowerShellGet für REST-basierte Verbindungen in Windows.

  • Möglicherweise können Sie keine Verbindung herstellen, wenn sich Ihre Client-IP-Adresse während der Verbindungsanforderung ändert. Dies kann vorkommen, wenn in Ihrer Organisation ein SNAT-Pool (Source Network Address Translation, Quell-Netzwerkadressenübersetzung) verwendet wird, der mehrere IP-Adressen enthält. Der Verbindungsfehler sieht wie folgt aus:

    Bei der Anforderung für die Windows-Remoteshell mit ShellId-ID <> ist ein Fehler aufgetreten, da die Shell auf dem Server nicht gefunden wurde. Mögliche Ursachen sind: Die angegebene Shell-ID ist falsch, oder die Shell ist nicht mehr auf dem Server vorhanden. Stellen Sie die richtige Shell-ID bereit, oder erstellen Sie eine neue Shell, und wiederholen Sie den Vorgang.

    Um das Problem zu beheben, verwenden Sie einen SNAT-Pool mit einer einzelnen IP-Adresse, oder erzwingen Sie die Verwendung einer bestimmten IP-Adresse für Verbindungen mit dem PowerShell-Endpunkt von Security & Compliance Center.