Connect-ExchangeOnline

Cette cmdlet est disponible uniquement dans Exchange Online module PowerShell V2. Si vous souhaitez obtenir plus d’informations, voir À propos du module Exchange Online PowerShell v2.

Utilisez lConnect-ExchangeOnline cmdlet dans Exchange Online module PowerShell V2 pour vous connecter Exchange Online PowerShell à l’aide de l’authentification moderne. Cette cmdlet fonctionne pour les comptes MFA ou non-MFA.

Pour vous connecter à d’autres environnements PowerShell (par exemple, centre de sécurité & conformité PowerShell ou Exchange Online Protection PowerShell autonome), utilisez l’cmdlet Connecter-IPPSSession.

Pour plus d’informations sur les jeux de paramètres dans la section Syntaxe ci-après, voir Syntaxe da la cmdlet Exchange.

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>]

Description

Cette cmdlet vous permet de créer une connexion PowerShell distante à votre Exchange Online organisation. Vous pouvez utiliser cette cmdlet pour vous authentifier pour les nouvelles cmdlets de l’API REST dans le module Exchange Online PowerShell V2, ainsi que pour toutes les cmdlets PowerShell Exchange Online existantes (cmdlets PowerShell distantes).

Pour plus d’informations sur les versions publiques actuelles et passées du module EXO v2, voir les notes de publication. Cette rubrique est écrite pour la version publique actuelle. Les fonctionnalités ou paramètres disponibles uniquement dans une version d’aperçu du module sont spécifiquement indiqués.

Exemples

Exemple 1

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

Cet exemple se connecte à Exchange Online PowerShell à l’aide de l’authentification moderne pour un compte qui n’utilise pas l’authentification multifacteur (MFA).

La première commande obtient le nom d’utilisateur et le mot de passe et les stocke dans $UserCredential variable.

La deuxième commande connecte la session PowerShell actuelle à l’aide des informations d’identification $UserCredential.

Une fois la Connect-ExchangeOnline terminée, la clé de mot de passe dans la variable $UserCredential est vidée et vous pouvez exécuter Exchange Online cmdlets PowerShell.

Exemple 2

Connect-ExchangeOnline -UserPrincipalName chris@contoso.com

Cet exemple se connecte à Exchange Online PowerShell à l’aide de l’authentification moderne pour le compte chris@contoso.com, qui utilise l’authentification multifacteur.

Une fois la commande réussie, vous pouvez exécuter des cmdlets de module ExO V2 et des cmdlets PowerShell distantes plus anciennes.

Exemple 3

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

Cet exemple se connecte à Exchange Online dans un scénario de script sans surveillance à l’aide de la clé publique d’un certificat.

Exemple 4

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

Cet exemple se connecte à Exchange Online dans un scénario de script sans surveillance à l’aide d’une empreinte numérique de certificat.

Exemple 5

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

Cet exemple se connecte à Exchange Online dans un scénario de script sans surveillance à l’aide d’un fichier de certificat. Cette méthode est particulièrement adaptée aux scénarios où le certificat est stocké sur des ordinateurs distants et récupéré lors de l’runtime. Par exemple, le certificat est stocké dans le coffre de clés Azure.

Exemple 6

Connect-ExchangeOnline -Device

Dans PowerShell 7.0.3 ou version ultérieure à l’aide du module EXO v2 version 2.0.4 ou ultérieure, cet exemple se connecte à Exchange Online dans des scénarios de script interactifs sur des ordinateurs qui n’ont pas de navigateur web.

La commande renvoie une URL et un code unique liés à la session. Vous devez ouvrir l’URL dans un navigateur sur n’importe quel ordinateur, puis entrer le code unique. Une fois la connexion terminée dans le navigateur web, la session dans la fenêtre Powershell 7 est authentifiée via le flux d’authentification Azure AD normal, et les cmdlets Exchange Online sont importées après quelques secondes.

Exemple 7

Connect-ExchangeOnline -InlineCredential

Dans PowerShell 7.0.3 ou version ultérieure à l’aide du module EXO v2 version 2.0.4 ou ultérieure, cet exemple se connecte à Exchange Online dans des scénarios de script interactifs en passant des informations d’identification directement dans la fenêtre PowerShell.

Paramètres

-AppId

Le paramètre AppId spécifie l’ID d’application du principal de service utilisé dans l’authentification basée sur les certificats (CBA). Une valeur valide est le GUID de l’ID d’application (principal de service). Par exemple, 36ee4c6c-0812-40a2-b820-b22ebd02bce3.

Pour plus d’informations, voir Authentification d’application uniquement pour les scripts sans surveillance dans le module EXO v2.

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

Remarque: si vous utilisez le paramètre ExchangeEnvironmentName, vous n’avez pas besoin d’utiliser les paramètres AzureADAuthorizationEndpointUri ou ConnectionUri.

Le paramètre AzureADAuthorizationEndpointUri spécifie le point de terminaison Azure AD’autorisation qui peut émettre des jetons d’accès OAuth2. Les informations suivantes Exchange Online environnements PowerShell et les valeurs associées sont pris en charge :

  • Microsoft 365 ou Microsoft 365 Cloud de la communauté du secteur public : n’utilisez pas ce paramètre. La valeur requise est , mais il s’agit également de la valeur par défaut, vous n’avez donc pas besoin https://login.microsoftonline.com/common d’utiliser ce paramètre.
  • Office 365 Allemagne:https://login.microsoftonline.de/common
  • Microsoft 365 Cloud de la communauté du secteur public Haut ou Microsoft 365 DoD :https://login.microsoftonline.us/common

Si vous utilisez le paramètre UserPrincipalName, vous n’avez pas besoin d’utiliser le paramètre AzureADAuthorizationEndpointUri pour les utilisateurs fédérés ou mfa dans les environnements qui en ont normalement besoin (UserPrincipalName ou AzureADAuthorizationEndpointUri est requis ; OK pour utiliser les deux).

Remarque: l’authentification MFA ou l’authentification fédérée n’est pas disponible dans Office 365 géré par 21Vianet.

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

Le commutateur BypassMailboxAnchoring ignore l’utilisation du conseil d’ancrage de boîte aux lettres. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

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

Le paramètre Certificate spécifie le certificat utilisé pour l' acba. Une valeur valide est la valeur de l’objet X509Certificate2 du certificat.

N’utilisez pas ce paramètre avec les paramètres CertificateFilePath ou CertificateThumbprint.

Pour plus d’informations sur l’authentification par application seule, voir l’authentification d’application uniquement pour les scripts sans surveillance dans le module EXO v2.

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

Le paramètre CertificateFilePath spécifie le certificat utilisé pour l’opa. Une valeur valide est le chemin d’accès public complet au fichier de certificat.

N’utilisez pas ce paramètre avec les paramètres Certificate ou CertificateThumbprint.

Pour plus d’informations sur l’authentification par application seule, voir l’authentification d’application uniquement pour les scripts sans surveillance dans le module EXO v2.

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

Le paramètre CertificatePassword spécifie le mot de passe requis pour ouvrir le fichier de certificat lorsque vous utilisez le paramètre CertificateFilePath pour identifier le certificat utilisé pour l’opa.

Ce paramètre utilise la syntaxe (ConvertTo-SecureString -String '<password>' -AsPlainText -Force) . Ou, avant d’exécuter cette commande, stockez le mot de passe en tant que variable (par exemple, ), puis utilisez le nom de $password = Read-Host "Enter password" -AsSecureString la variable ( ) pour ce $password paramètre.

Pour plus d’informations sur l’authentification par application seule, voir l’authentification d’application uniquement pour les scripts sans surveillance dans le module EXO v2.

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

Le paramètre CertificateThumbprint spécifie le certificat utilisé pour l' certificat de certification. Une valeur valide est la valeur d’empreinte numérique du certificat. Par exemple, 83213AEAC56D61C97AEE5C1528F4AC5EBA7321C1.

N’utilisez pas ce paramètre avec les paramètres Certificate ou CertificateFilePath.

Pour plus d’informations sur l’authentification par application seule, voir l’authentification d’application uniquement pour les scripts sans surveillance dans le module EXO v2.

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

Le paramètre CommandName spécifie la liste séparée par des virgules des commandes à importer dans la session. Utilisez ce paramètre pour les applications ou les scripts qui utilisent un ensemble spécifique d’cmdlets. La réduction du nombre d’cmdlets dans la session permet d’améliorer les performances et de réduire l’encombrement mémoire de l’application ou du script.

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

Remarque: si vous utilisez le paramètre ExchangeEnvironmentName, vous n’avez pas besoin d’utiliser les paramètres AzureADAuthorizationEndpointUri ou ConnectionUri.

Le paramètre ConnectionUri spécifie le point de terminaison de connexion pour la session PowerShell Exchange Online distante. Les informations suivantes Exchange Online environnements PowerShell et les valeurs associées sont pris en charge :

  • Microsoft 365 ou Microsoft 365 Cloud de la communauté du secteur public : n’utilisez pas ce paramètre. La valeur requise est , mais il s’agit également de la valeur par défaut, vous n’avez donc pas besoin https://outlook.office365.com/powershell-liveid/ d’utiliser ce paramètre.
  • Office 365 Allemagne:https://outlook.office.de/PowerShell-LiveID
  • Office 365 géré par 21Vianet :https://partner.outlook.cn/PowerShell
  • Microsoft 365 Cloud de la communauté du secteur public élevé :https://outlook.office365.us/powershell-liveid
  • Microsoft 365 DoD :https://webmail.apps.mil/powershell-liveid

Remarque : si votre organisation est une Exchange sur site et que vous avez une licence d’accès cal Exchange Enterprise avec services pour Exchange Online Protection, utilisez cette cmdlet sans le paramètre ConnectionUri pour vous connecter à EOP PowerShell (les mêmes instructions de connexion que Exchange Online PowerShell dans Microsoft 365 ou Microsoft Cloud de la communauté du secteur public).

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

Le paramètre Credential spécifie le nom d’utilisateur et le mot de passe utilisés pour se connecter Exchange Online PowerShell. En règle générale, vous utilisez ce paramètre dans des scripts ou lorsque vous avez besoin de fournir différentes informations d’identification qui ont les autorisations requises. N’utilisez pas ce paramètre pour les comptes qui utilisent l’authentification multifacteur (MFA).

Avant d’exécuter la Connect-ExchangeOnline, stockez le nom d’utilisateur et le mot de passe dans une variable (par exemple, $UserCredential = Get-Credential ). Ensuite, utilisez le nom de la variable ( $UserCredential ) pour ce paramètre.

Une fois la Connect-ExchangeOnline terminée, la clé de mot de passe de la variable est vidée.

Pour spécifier le mot de passe d’un fichier de certificat, n’utilisez pas ce paramètre . utilisez plutôt le paramètre CertificatePassword.

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

Le paramètre DelegatedOrganization spécifie l’organisation client que vous souhaitez gérer (par exemple, contosoelectronics.onmicrosoft.com). Ce paramètre fonctionne uniquement si l’organisation cliente a accepté votre gestion déléguée via le programme CSP.

Une fois l’authentification effectuée, les cmdlets de cette session sont mappées à l’organisation du client et toutes les opérations de cette session sont réalisées sur l’organisation du client.

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

Remarque: ce paramètre est disponible uniquement dans la version 2.0.4 ou ultérieure, et uniquement dans PowerShell 7.

Le commutateur Device spécifie s’il faut authentifier de manière interactive les ordinateurs qui n’ont pas de navigateur web pour prendre en charge l’authentification unique (SSO). Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

La commande renvoie une URL et un code unique liés à la session. Vous devez ouvrir l’URL dans un navigateur sur n’importe quel ordinateur, puis entrer le code unique. Une fois la connexion terminée dans le navigateur web, la session dans la fenêtre Powershell 7 est authentifiée via le flux d’authentification Azure AD normal, et les cmdlets Exchange Online sont importées après quelques secondes.

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

Le commutateur EnableErrorReporting spécifie s’il faut activer le rapport d’erreurs. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

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

ExchangeEnvironmentName spécifie l’environnement Exchange Online et élimine la nécessité d’utiliser les paramètres AzureADAuthorizationEndpointUri et ConnectionUri. Les environnements Exchange Online PowerShell suivants sont pris en charge :

  • Microsoft 365 ou Microsoft 365 Cloud de la communauté du secteur public : n’utilisez pas ce paramètre. La valeur requise est , mais il s’agit également de la valeur par défaut, vous n’avez donc pas besoin O365Default d’utiliser ce paramètre.
  • Office 365 Allemagne:O365GermanyCloud
  • Office 365 géré par 21Vianet :O365China
  • Microsoft 365 Cloud de la communauté du secteur public élevé :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

Le paramètre FormatTypeName spécifie le format de sortie de la cmdlet.

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

Remarque: ce paramètre est disponible uniquement dans la version 2.0.4 ou ultérieure, et uniquement dans PowerShell 7.

Le commutateur InlineCredential spécifie s’il faut passer les informations d’identification directement dans Windows PowerShell fenêtre. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

Ce commutateur est similaire au paramètre Credential, mais avec une sécurité supplémentaire. Le commutateur InlineCredential ne vous oblige pas à stocker les informations d’identification localement dans le script, et vous pouvez entrer les informations d’identification directement dans une session PowerShell interactive.

Ce commutateur ne fonctionne pas avec les comptes qui utilisent l’mf.

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

Le paramètre LogDirectoryPath spécifie l’emplacement des fichiers journaux. L’emplacement par défaut est %TMP%\EXOCmdletTelemetry\EXOCmdletTelemetry-yyyymmdd-hhmmss.csv .

Si vous spécifiez un emplacement personnalisé et un nom de fichier contenant des espaces, inséz-la entre guillemets (« ).

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

Le paramètre LogLevel spécifie le niveau de journalisation. Les valeurs valides sont Default et All.

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

Le paramètre Organization spécifie l’organisation utilisée dans l’authentification d’application uniquement. N’oubliez pas d’utiliser un domaine .onmicrosoft.com pour la valeur du paramètre. Sinon, vous pouvez rencontrer des problèmes d’autorisation cryptiques lorsque vous exécutez des commandes dans un contexte d’application.

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

Le paramètre PageSize indique le nombre maximal d’entrées par page. La valeur valide pour ce paramètre est un entier compris entre 1 et 5 000. Par défaut, la valeur 1 000 s’applique.

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

Le paramètre Prefix spécifie un alias à ajouter à des noms dans les noms des anciennes cmdlets PowerShell distantes (cmdlet avec des noms qui ne commencent pas déjà par EXO). Une valeur valide est une chaîne de texte sans espaces ou caractères spéciaux comme des sous-cros, des astérisques, etc., et vous ne pouvez pas utiliser la valeur EXO (ce préfixe est réservé aux cmdlets de module PowerShell V2).

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

Le paramètre PSSessionOption spécifie les options de session PowerShell à utiliser dans votre connexion pour Exchange Online. Vous stockez la sortie de la commande New-PSSessionOption dans une variable, par exemple :

$Options = New-PSSessionOption <Settings>

Et vous utilisez le nom de la variable comme valeur pour ce paramètre (par exemple, $Options ).

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

Le commutateur ShowBanner affiche ou masque le message de bannière qui s’affiche lorsque vous exécutez Connecter-ExchangeOnline. Il n’est pas nécessaire de spécifier une valeur pour ce commutateur.

  • Pour afficher la bannière, vous n’avez pas besoin d’utiliser ce commutateur (la bannière est affichée par défaut).
  • Pour masquer la bannière, utilisez la syntaxe exacte suivante : -ShowBanner:$false .
Type:SwitchParameter
Position:Named
Default value:$true
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-ShowProgress

Le paramètre ShowProgress spécifie s’il faut afficher ou masquer la barre de progression des cmdlets importées lorsque vous vous connectez. Les valeurs valides sont les suivantes :

  • $true : la barre de progression s’affiche. Il s’agit de la valeur par défaut.
  • $false : actuellement, cette valeur n’a aucun effet.
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-TrackPerformance

Le paramètre TrackPerformance mesure des événements supplémentaires (par exemple, la charge processeur et la mémoire consommées). Les valeurs valides sont les suivantes :

  • $true : le suivi des performances est activé.
  • $false : le suivi des performances est désactivé. Il s’agit de la valeur par défaut.

Ce paramètre fonctionne uniquement lorsque la journalisation est activée.

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

Le paramètre UseMultithreading spécifie s’il faut désactiver ou activer le multithreading dans le module EXO v2. Les valeurs valides sont les suivantes :

  • $true : activez le multi-threading. Il s’agit de la valeur par défaut.
  • $false : désactivez le multi-threading. Notez que cette valeur dégrade les performances des cmdlets V2.
Type:Boolean
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Online
-UserPrincipalName

Le paramètre UserPrincipalName spécifie le compte que vous souhaitez utiliser pour vous connecter (par exemple, navin@contoso.onmicrosoft.com). L’utilisation de ce paramètre vous permet d’ignorer la boîte de dialogue nom d’utilisateur dans l’invite d’authentification moderne pour les informations d’identification (il vous suffit d’entrer votre mot de passe).

Si vous utilisez le paramètre UserPrincipalName, vous n’avez pas besoin d’utiliser le paramètre AzureADAuthorizationEndpointUri pour les utilisateurs fédérés ou mfa dans les environnements qui en ont normalement besoin (UserPrincipalName ou AzureADAuthorizationEndpointUri est requis ; OK pour utiliser les deux).

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

Entrées

Sorties