Connect-ExchangeOnline

Dieses Cmdlet ist nur im Exchange Online PowerShell V2-Modul verfügbar. Mehr dazu finden Sie unter Exchange Online PowerShell V2-Modul.

Verwenden Sie Connect-ExchangeOnline cmdlet im Exchange Online PowerShell V2-Modul, um eine Verbindung mit Exchange Online PowerShell mithilfe der modernen Authentifizierung herzustellen. Dieses Cmdlet kann für MFA- oder nicht-MFA-aktivierte Konten verwendet werden.

Verwenden Sie das Cmdlet Connect-IPPSSession, um eine Verbindung mit anderen PowerShell-Umgebungen herzustellen (z. B. Security & Compliance Center PowerShell oder eigenständige Exchange Online Protection PowerShell).

Informationen zu den Parametersätzen im Abschnitt zur Syntax weiter unten finden Sie unter Syntax der Exchange-Cmdlets.

Syntax

Connect-ExchangeOnline
       [[-ConnectionUri] <String>]
       [[-AzureADAuthorizationEndpointUri] <String>]
       [[-ExchangeEnvironmentName] <ExchangeEnvironment>]
       [[-PSSessionOption] <PSSessionOption>]
       [[-DelegatedOrganization] <String>]
       [[-Prefix] <String>]
       [[-CommandName] <String[]>]
       [[-FormatTypeName] <String[]>]
       [-AppId <String>]
       [-BypassMailboxAnchoring]
       [-Certificate <X509Certificate2>]
       [-CertificateFilePath <String>]
       [-CertificatePassword <SecureString>]
       [-CertificateThumbprint <String>]
       [-Credential <PSCredential>]
       [-Device]
       [-EnableErrorReporting]
       [-InlineCredential]
       [-LogDirectoryPath <String>]
       [-LogLevel <LogLevel>]
       [-Organization <String>]
       [-PageSize <UInt32>]
       [-ShowBanner]
       [-ShowProgress <Boolean>]
       [-TrackPerformance <Boolean>]
       [-UseMultithreading <Boolean>]
       [-UserPrincipalName <String>]
       [<CommonParameters>]

Beschreibung

Mit diesem Cmdlet können Sie eine Remote-PowerShell-Verbindung mit Ihrer Exchange Online-Organisation erstellen. Mit diesem Cmdlet können Sie sich für die neuen REST-API-unterstützten Cmdlets im Exchange Online PowerShell V2-Modul und auch für alle vorhandenen Exchange Online PowerShell-Cmdlets (Remote-PowerShell-Cmdlets) authentifizieren.

Weitere Informationen zu den aktuellen und früheren öffentlichen Versionen des EXO V2-Moduls finden Sie unter Versionshinweise. Dieses Thema ist für die aktuelle öffentliche Version geschrieben. Features oder Parameter, die nur in einer Vorschauversion des Moduls verfügbar sind, werden speziell erwähnt.

Beispiele

Beispiel 1

$UserCredential = Get-Credential
Connect-ExchangeOnline -Credential $UserCredential

In diesem Beispiel wird eine Verbindung mit Exchange Online PowerShell mithilfe der modernen Authentifizierung für ein Konto hergestellt, das keine mehrstufige Authentifizierung (MFA) verwendet.

Der erste Befehl ruft den Benutzernamen und das Kennwort ab und speichert sie in der $UserCredential Variablen.

Der zweite Befehl verbindet die aktuelle PowerShell-Sitzung mithilfe der Anmeldeinformationen in $UserCredential.

Nachdem der Connect-ExchangeOnline abgeschlossen ist, wird der Kennwortschlüssel in der variablen $UserCredential geleert, und Sie können Exchange Online PowerShell-Cmdlets ausführen.

Beispiel 2

Connect-ExchangeOnline -UserPrincipalName chris@contoso.com

In diesem Beispiel wird eine Verbindung mit Exchange Online PowerShell mithilfe der modernen Authentifizierung für das Chris@contoso.com, das MFA verwendet, hergestellt.

Nachdem der Befehl erfolgreich ausgeführt wurde, können Sie ExO V2-Modul-Cmdlets und ältere Remote-PowerShell-Cmdlets ausführen.

Beispiel 3

Connect-ExchangeOnline -AppId <%App_id%> -CertificateFilePath "C:\users\navin\Documents\TestCert.pfx" -Organization "contoso.onmicrosoft.com"

In diesem Beispiel wird eine Verbindung mit Exchange Online in einem unbeaufsichtigten Skriptszenario mithilfe des öffentlichen Schlüssels eines Zertifikats hergestellt.

Beispiel 4

Connect-ExchangeOnline -AppId <%App_id%> -CertificateThumbprint <%Thumbprint string of certificate%> -Organization "contoso.onmicrosoft.com"

In diesem Beispiel wird eine Verbindung mit Exchange Online in einem unbeaufsichtigten Skriptszenario mithilfe eines Zertifikatfingerabdrucks hergestellt.

Beispiel 5

Connect-ExchangeOnline -AppId <%App_id%> -Certificate <%X509Certificate2 object%> -Organization "contoso.onmicrosoft.com"

In diesem Beispiel wird eine Verbindung mit Exchange Online in einem unbeaufsichtigten Skriptszenario mithilfe einer Zertifikatdatei hergestellt. Diese Methode eignet sich am besten für Szenarien, in denen das Zertifikat auf Remotecomputern gespeichert und zur Laufzeit abgerufen wird. Das Zertifikat wird beispielsweise im Azure Key Vault gespeichert.

Beispiel 6

Connect-ExchangeOnline -Device

In PowerShell 7.0.3 oder höher unter Verwendung des EXO V2-Moduls, Version 2.0.4 oder höher, stellt dieses Beispiel eine Verbindung mit Exchange Online in interaktiven Skriptszenarien auf Computern ohne Webbrowser sicher.

Der Befehl gibt eine URL und einen eindeutigen Code zurück, der an die Sitzung gebunden ist. Sie müssen die URL in einem Browser auf einem beliebigen Computer öffnen und dann den eindeutigen Code eingeben. Nachdem Sie die Anmeldung im Webbrowser abgeschlossen haben, wird die Sitzung im Powershell 7-Fenster über den regulären Azure AD-Authentifizierungsfluss authentifiziert, und die Exchange Online-Cmdlets werden nach wenigen Sekunden importiert.

Beispiel 7

Connect-ExchangeOnline -InlineCredential

In PowerShell 7.0.3 oder höher unter Verwendung des EXO V2-Moduls, Version 2.0.4 oder höher, stellt dieses Beispiel eine Verbindung mit Exchange Online in interaktiven Skriptszenarien ein, indem Anmeldeinformationen direkt im PowerShell-Fenster übergeben werden.

Parameter

-AppId

Der Parameter AppId gibt die Anwendungs-ID des Dienstprinzipal an, der in der zertifikatbasierten Authentifizierung (CBA) verwendet wird. Ein gültiger Wert ist die GUID der Anwendungs-ID (Dienstprinzipal). Beispiel: 36ee4c6c-0812-40a2-b820-b22ebd02bce3.

Weitere Informationen finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts im EXO V2-Modul.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-AzureADAuthorizationEndpointUri

Hinweis: Wenn Sie den Parameter ExchangeEnvironmentName verwenden, müssen Sie nicht die Parameter AzureADAuthorizationEndpointUri oder ConnectionUri verwenden.

Der Parameter AzureADAuthorizationEndpointUri gibt den Azure AD-Autorisierungsendpunkt an, der OAuth2-Zugriffstoken ausgibt. Die folgenden Exchange Online PowerShell-Umgebungen und zugehörigen Werte werden unterstützt:

  • Microsoft 365 oder Microsoft 365 GCC: Verwenden Sie diesen Parameter nicht. Der erforderliche Wert ist , aber das ist auch der Standardwert, daher müssen Sie https://login.microsoftonline.com/common diesen Parameter nicht verwenden.
  • Office 365 Deutschland: https://login.microsoftonline.de/common
  • Microsoft 365 GCC High oder Microsoft 365 DoD: https://login.microsoftonline.us/common

Wenn Sie den Parameter UserPrincipalName verwenden, müssen Sie den Parameter AzureADAuthorizationEndpointUri nicht für MFA- oder Verbundbenutzer in Umgebungen verwenden, in denen dies normalerweise erforderlich ist (UserPrincipalName oder AzureADAuthorizationEndpointUri ist erforderlich; OK, um beides zu verwenden).

Hinweis: Die MFA-Authentifizierung oder Verbundauthentifizierung ist in Office 365, betrieben von 21Vianet, nicht verfügbar.

Type:String
Position:1
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-BypassMailboxAnchoring

Die Option BypassMailboxAnchoring umgeht die Verwendung des Hinweises zur Postfachankerung. Sie müssen keinen Wert für diese Option angeben.

Type:SwitchParameter
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Certificate

Der Parameter Certificate gibt das Zertifikat an, das für CBA verwendet wird. Ein gültiger Wert ist der X509Certificate2-Objektwert des Zertifikats.

Verwenden Sie diesen Parameter nicht mit den Parametern CertificateFilePath oder CertificateThumbprint.

Weitere Informationen zu CBA finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts im EXO V2-Modul.

Type:X509Certificate2
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CertificateFilePath

Der Parameter CertificateFilePath gibt das Zertifikat an, das für CBA verwendet wird. Ein gültiger Wert ist der vollständige öffentliche Pfad zur Zertifikatdatei.

Verwenden Sie diesen Parameter nicht mit den Parametern Certificate oder CertificateThumbprint.

Weitere Informationen zu CBA finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts im EXO V2-Modul.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CertificatePassword

Der Parameter CertificatePassword gibt das Kennwort an, das zum Öffnen der Zertifikatdatei erforderlich ist, wenn Sie den Parameter CertificateFilePath verwenden, um das Zertifikat zu identifizieren, das für CBA verwendet wird.

Dieser Parameter verwendet die Syntax (ConvertTo-SecureString -String '<password>' -AsPlainText -Force) . Bevor Sie diesen Befehl ausführen, speichern Sie das Kennwort als Variable (z. B. ), und verwenden Sie dann den Variablennamen $password = Read-Host "Enter password" -AsSecureString ( ) für diesen $password Parameter.

Weitere Informationen zu CBA finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts im EXO V2-Modul.

Type:SecureString
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CertificateThumbprint

Der Parameter CertificateThumbprint gibt das Zertifikat an, das für CBA verwendet wird. Ein gültiger Wert ist der Fingerabdruckwert des Zertifikats. Beispiel: 83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1.

Verwenden Sie diesen Parameter nicht mit den Parametern Certificate oder CertificateFilePath.

Weitere Informationen zu CBA finden Sie unter Nur-App-Authentifizierung für unbeaufsichtigte Skripts im EXO V2-Modul.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-CommandName

Der Parameter CommandName gibt die durch Kommas getrennte Liste der Befehle an, die in die Sitzung importiert werden. Verwenden Sie diesen Parameter für Anwendungen oder Skripts, die eine bestimmte Gruppe von Cmdlets verwenden. Die Reduzierung der Anzahl von Cmdlets in der Sitzung trägt zur Verbesserung der Leistung bei und reduziert den Arbeitsspeicherbedarf der Anwendung oder des Skripts.

Type:String[]
Position:6
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ConnectionUri

Hinweis: Wenn Sie den Parameter ExchangeEnvironmentName verwenden, müssen Sie nicht die Parameter AzureADAuthorizationEndpointUri oder ConnectionUri verwenden.

Der Parameter ConnectionUri gibt den Verbindungsendpunkt für die Exchange Online PowerShell-Remotesitzung an. Die folgenden Exchange Online PowerShell-Umgebungen und zugehörigen Werte werden unterstützt:

  • Microsoft 365 oder Microsoft 365 GCC: Verwenden Sie diesen Parameter nicht. Der erforderliche Wert ist , aber das ist auch der Standardwert, daher müssen Sie https://outlook.office365.com/powershell-liveid/ diesen Parameter nicht verwenden.
  • Office 365 Deutschland: https://outlook.office.de/PowerShell-LiveID
  • Office 365, betrieben von 21Vianet: https://partner.outlook.cn/PowerShell
  • Microsoft 365 GCC High: https://outlook.office365.us/powershell-liveid
  • Microsoft 365 DoD: https://webmail.apps.mil/powershell-liveid

Hinweis: Wenn Ihre Organisation über lokale Exchange verfügt und Sie über Exchange Enterprise CAL with Services-Lizenzen für Exchange Online Protection verfügen, verwenden Sie dieses Cmdlet ohne den ConnectionUri-Parameter, um eine Verbindung mit EOP PowerShell herzustellen (die gleichen Verbindungsanweisungen wie Exchange Online PowerShell in Microsoft 365 oder Microsoft GCC).

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Credential

Der Parameter Credential gibt den Benutzernamen und das Kennwort an, die zum Herstellen einer Verbindung mit Exchange Online PowerShell verwendet werden. Normalerweise verwenden Sie diesen Parameter in Skripts oder wenn Sie unterschiedliche Anmeldeinformationen bereitstellen müssen, die über die erforderlichen Berechtigungen verfügen. Verwenden Sie diesen Parameter nicht für Konten, die mehrstufige Authentifizierung (MFA) verwenden.

Speichern Sie vor dem Ausführen Connect-ExchangeOnline den Benutzernamen und das Kennwort in einer Variablen (z. B. $UserCredential = Get-Credential ). Verwenden Sie dann den Variablennamen ( $UserCredential ) für diesen Parameter.

Nachdem der Connect-ExchangeOnline abgeschlossen ist, wird der Kennwortschlüssel in der Variablen geleert.

Verwenden Sie diesen Parameter nicht, um das Kennwort für eine Zertifikatdatei anzugeben. verwenden Sie stattdessen den Parameter CertificatePassword.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-DelegatedOrganization

Der Parameter DelegatedOrganization gibt die Kundenorganisation an, die Sie verwalten möchten (z. B. contosoelectronics.onmicrosoft.com). Dieser Parameter funktioniert nur, wenn die Kundenorganisation Ihrer delegierten Verwaltung über das #A0 zugestimmt hat.

Nach der erfolgreichen Authentifizierung werden die Cmdlets in dieser Sitzung der Kundenorganisation zugeordnet, und alle Vorgänge in dieser Sitzung werden in der Kundenorganisation durchgeführt.

Type:String
Position:4
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Device

Hinweis: Dieser Parameter ist nur in Version 2.0.4 oder höher und nur in PowerShell 7 verfügbar.

Die Option Device gibt an, ob computer, die nicht über Webbrowser zur Unterstützung der einmaligen Anmeldung (Single Sign-On, SSO) verfügen, interaktiv authentifiziert werden. Sie müssen keinen Wert für diese Option angeben.

Der Befehl gibt eine URL und einen eindeutigen Code zurück, der an die Sitzung gebunden ist. Sie müssen die URL in einem Browser auf einem beliebigen Computer öffnen und dann den eindeutigen Code eingeben. Nachdem Sie die Anmeldung im Webbrowser abgeschlossen haben, wird die Sitzung im Powershell 7-Fenster über den regulären Azure AD-Authentifizierungsfluss authentifiziert, und die Exchange Online-Cmdlets werden nach wenigen Sekunden importiert.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-EnableErrorReporting

Die Option EnableErrorReporting gibt an, ob die Fehlerberichterstellung aktiviert werden soll. Sie müssen keinen Wert für diese Option angeben.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ExchangeEnvironmentName

ExchangeEnvironmentName gibt die Exchange Online-Umgebung an und entfällt die Verwendung der Parameter AzureADAuthorizationEndpointUri und ConnectionUri. Die folgenden Exchange Online PowerShell-Umgebungen werden unterstützt:

  • Microsoft 365 oder Microsoft 365 GCC: Verwenden Sie diesen Parameter nicht. Der erforderliche Wert ist , aber das ist auch der Standardwert, daher müssen Sie O365Default diesen Parameter nicht verwenden.
  • Office 365 Deutschland: O365GermanyCloud
  • Office 365, betrieben von 21Vianet: O365China
  • Microsoft 365 GCC High: O365USGovGCCHigh
  • Microsoft 365 DoD: O365USGovDoD
Type:ExchangeEnvironment
Position:2
Default value:O365Default
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-FormatTypeName

Der Parameter FormatTypeName gibt das Ausgabeformat des Cmdlets an.

Type:String[]
Position:7
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-InlineCredential

Hinweis: Dieser Parameter ist nur in Version 2.0.4 oder höher und nur in PowerShell 7 verfügbar.

Die Option InlineCredential gibt an, ob Anmeldeinformationen direkt im Fenster Windows PowerShell werden. Sie müssen keinen Wert für diese Option angeben.

Diese Option ähnelt dem Parameter Credential, aber mit einer zusätzlichen Sicherheit. Die Option InlineCredential erfordert nicht, dass Sie die Anmeldeinformationen lokal im Skript speichern, und Sie können Anmeldeinformationen direkt in einer interaktiven PowerShell-Sitzung eingeben.

Diese Option funktioniert nicht mit Konten, die MFA verwenden.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-LogDirectoryPath

Der Parameter LogDirectoryPath gibt den Speicherort der Protokolldateien an. Der Standardspeicherort ist %TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv .

Wenn Sie einen benutzerdefinierten Speicherort und Dateinamen angeben, der Leerzeichen enthält, setzen Sie den Wert in Anführungszeichen (").

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-LogLevel

Der Parameter LogLevel gibt die Protokollierungsstufe an. Gültige Werte sind Default und All.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Organization

Der Parameter Organization gibt die Organisation an, die in der Nur-App-Authentifizierung verwendet wird.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-PageSize

Der PageSize-Parameter gibt die maximale Anzahl von Einträgen pro Seite an. Gültige Eingabewerte für diesen Parameter sind ganze Zahlen zwischen 1 und 5000. Der Standardwert ist 1000.

Type:UInt32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-Prefix

Der Parameter Prefix gibt einen Alias an, der Nomen in den Namen älterer Remote-PowerShell-Cmdlets hinzugefügt werden soll (Cmdlet mit Substantiven, die noch nicht mit EXO beginnen). Ein gültiger Wert ist eine Textzeichenfolge ohne Leerzeichen oder Sonderzeichen wie Unterschenkel, Sternchen usw., und Sie können den Wert EXO nicht verwenden (dieses Präfix ist für PowerShell V2-Modul-Cmdlets reserviert).

Type:String
Position:5
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-PSSessionOption

Der Parameter PSSessionOption gibt die PowerShell-Sitzungsoptionen an, die in Ihrer Verbindung mit Exchange Online verwendet werden. Sie speichern die Ausgabe des New-PSSessionOption-Befehls in einer Variablen, z. B.:

$Options = New-PSSessionOption <Settings>

Und Sie verwenden den Variablennamen als Wert für diesen Parameter (z. B. $Options ).

Type:PSSessionOption
Position:3
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ShowBanner

Die Option ShowBanner zeigt oder blendet die Bannernachricht ein, die angezeigt wird, wenn Sie Connect-ExchangeOnline ausführen. Sie müssen keinen Wert für diese Option angeben.

  • Zum Anzeigen des Banners müssen Sie diese Option nicht verwenden (das Banner wird standardmäßig angezeigt).
  • Verwenden Sie die genaue Syntax, um das Banner auszublenden: -ShowBanner:$false .
Type:SwitchParameter
Position:Named
Default value:$true
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ShowProgress

Der Parameter ShowProgress gibt an, ob die Statusleiste importierter Cmdlets angezeigt oder ausgeblendet werden soll, wenn Sie eine Verbindung herstellen. Gültige Werte sind:

  • $true: Die Statusleiste wird angezeigt. Dies ist der Standardwert.
  • $false: Derzeit hat dieser Wert keine Auswirkung.
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-TrackPerformance

Der Parameter TrackPerformance misst zusätzliche Ereignisse (z. B. cpu load and memory consumed). Gültige Werte sind:

  • $true: Die Leistungsverfolgung ist aktiviert.
  • $false: Die Leistungsverfolgung ist deaktiviert. Dies ist der Standardwert.

Dieser Parameter funktioniert nur, wenn die Protokollierung aktiviert ist.

Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-UseMultithreading

Der Parameter UseMultithreading gibt an, ob multithreading im EXO V2-Modul deaktiviert oder aktiviert werden soll. Gültige Werte sind:

  • $true: Aktivieren sie Multithreading. Dies ist der Standardwert.
  • $false: Multithreading deaktivieren. Beachten Sie, dass dieser Wert die Leistung von V2-Cmdlets beeinträchtigt.
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-UserPrincipalName

Der Parameter UserPrincipalName gibt das Konto an, mit dem Sie eine Verbindung herstellen möchten (z. B. navin@contoso.onmicrosoft.com). Mit diesem Parameter können Sie das Dialogfeld Benutzername in der modernen Authentifizierungsaufforderung für Anmeldeinformationen überspringen (Sie müssen nur Ihr Kennwort eingeben).

Wenn Sie den Parameter UserPrincipalName verwenden, müssen Sie den Parameter AzureADAuthorizationEndpointUri nicht für MFA- oder Verbundbenutzer in Umgebungen verwenden, in denen dies normalerweise erforderlich ist (UserPrincipalName oder AzureADAuthorizationEndpointUri ist erforderlich; OK, um beides zu verwenden).

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online

Eingaben

Ausgaben