Connexion à Exchange Online PowerShell
Cet article fournit des directives pour établir une connexion BlueSecure à Exchange Online PowerShell en utilisant le module PowerShell Exchange Online, avec ou sans authentification multifacteur (MFA).
Le module PowerShell Exchange Online emploie l’authentification moderne pour accéder à différents environnements PowerShell associés à Exchange dans Microsoft 365, tels que Exchange Online PowerShell, Sécurité & Conformité PowerShell, et le PowerShell autonome pour Exchange Online Protection (EOP). Pour en savoir plus sur le module PowerShell Exchange Online, référez-vous à la section À propos du module PowerShell Exchange Online.
Pour connecter Exchange Online PowerShell à des scripts automatisés, reportez-vous aux sections Authentification d’application uniquement pour les scripts sans assistance et Utiliser des identités managées Azure pour se connecter à Exchange Online PowerShell.
Si vous souhaitez vous connecter à Exchange Online PowerShell via C#, consultez la section Utiliser C# pour vous connecter à Exchange Online PowerShell.
Ce qu’il faut savoir avant de commencer
- Les conditions requises pour l’installation et l’utilisation du module sont décrites dans Installer et gérer le module PowerShell Exchange Online. NotesLes connexions PowerShell distantes sont déconseillées dans Exchange Online PowerShell. Pour plus d’informations, consultez Dépréciation de PowerShell à distance dans Exchange Online.Les connexions d’API REST dans le module Exchange Online PowerShell V3 nécessitent les modules PowerShellGet et PackageManagement. Pour plus d’informations, consultez PowerShellObtenir des connexions REST dans Windows.
- Après votre connexion, les cmdlets et les paramètres auxquels vous avez ou n’avez pas accès sont contrôlés par un contrôle d’accès basé sur les rôles (RBAC). Pour plus d’informations, voir Permissions en échange en ligne.Pour trouver les autorisations requises pour exécuter une cmdlet d’Exchange Online spécifique, voir Trouver les autorisations requises pour exécuter une cmdlet Exchange.
Étape 1 : Charger le module PowerShell Exchange Online
Notes : Si le module est déjà installé, vous pouvez généralement ignorer cette étape et exécuter Connect-ExchangeOnline sans charger manuellement le module au préalable.
Après avoir installé le module, ouvrez une fenêtre PowerShell et chargez-le en exécutant la commande suivante :
PowerShell :
Import-Module ExchangeOnlineManagement
Étape 2 : Se connecter et s’authentifier
.
Les commandes de connexion échoueront probablement si le chemin du profil du compte que vous avez utilisé pour vous connecter contient des caractères PowerShell spéciaux (par exemple, $). La solution de contournement consiste à se connecter à l’aide d’un autre compte qui n’a pas de caractères spéciaux dans le chemin d’accès du profil.
La commande à exécuter utilise la syntaxe suivante:
PowerShell :
Connect-ExchangeOnline -UserPrincipalName <UPN> [-ExchangeEnvironmentName <Value>] [-ShowBanner:$false] [-DelegatedOrganization <String>] [-SkipLoadingFormatData]
Pour obtenir des informations de syntaxe et de paramètre détaillées, voir Connect-ExchangeOnline.
- <UPN> est votre compte au format de nom d’utilisateur principal (par exemple,
[email protected]). - Avec le module EXO V3 (v3.0.0 ou version ultérieure) et l’arrêt des connexions d’authentification de base (PowerShell à distance) vers Exchange Online, vous utilisez uniquement des applets de commande d’API REST. Pour plus d’informations, consultez Connexions d’API REST dans le module EXO V3.
- Lorsque vous utilisez le paramètre ExchangeEnvironmentName, vous n’avez pas besoin d’utiliser les paramètres ConnectionUri ou AzureADAuthorizationEndPointUrl.
- Le paramètre l’Organisation Déléguée indique l’organisation cliente que vous voulez gérer en tant que partenaire Microsoft agréé. Pour plus d’informations, consultez les exemples de connexion plus loin dans cet article.
- Selon la nature de votre organization, vous pouvez peut-être omettre le paramètre UserPrincipalName dans la commande de connexion. Au lieu de cela, vous entrez le nom d’utilisateur et le mot de passe, ou sélectionnez les informations d’identification stockées après exécution de la commande Connect-ExchangeOnline. Si cela ne fonctionne pas, vous devez utiliser le paramètre UserPrincipalName.
- Si vous n’utilisez pas MFA, vous devez pouvoir utiliser le paramètre Credential à la place du paramètre UserPrincipalName. Tout d’abord, exécutez la commande
$Credential = Get-Credential, entrez votre nom d’utilisateur et votre mot de passe, puis utilisez le nom de la variable pour le paramètre Credential (-Credential $Credential). Si cela ne fonctionne pas, vous devez utiliser le paramètre UserPrincipalName. - Utilisez le commutateur SkipLoadingFormatData pour éviter les erreurs lors de la connexion à Exchange Online PowerShell à partir d’un service Windows.
- L’utilisation du module dans PowerShell 7 nécessite la version 2.0.4 ou ultérieure.
Les exemples de connexion dans les sections suivantes utilisent l’authentification moderne et ne peuvent pas utiliser l’authentification de base.
Se connecter à Exchange Online PowerShell avec une invite de connexion interactive
- Les exemples suivants fonctionnent dans Windows PowerShell 5.1 et PowerShell 7 pour les comptes avec ou sans authentification multifacteur :
- Cet exemple se connecte à Exchange Online PowerShell dans une organisation Microsoft 365 ou Microsoft 365 GCC:PowerShellCopier
Connect-ExchangeOnline -UserPrincipalName [email protected] - Cet exemple se connecte à Exchange Online PowerShell dans une organisation Microsoft GCC High :PowerShellCopier
Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365USGovGCCHigh - Cet exemple se connecte à Exchange Online PowerShell dans une organisation Microsoft 365 DoD :PowerShellCopier
Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365USGovDoD - Cet exemple se connecte à Exchange Online PowerShell dans une organisation Office 365 Allemagne :PowerShellCopier
Connect-ExchangeOnline -UserPrincipalName [email protected] -ExchangeEnvironmentName O365GermanyCloud
- Cet exemple se connecte à Exchange Online PowerShell dans une organisation Microsoft 365 ou Microsoft 365 GCC:PowerShellCopier
- Dans la fenêtre de connexion qui s’ouvre, entrez votre mot de passe, puis cliquez sur Se connecter.

Note : Dans PowerShell 7, l’authentification unique (SSO) basée sur un navigateur est utilisée par défaut. Par conséquent, l’invite de connexion s’ouvre dans votre navigateur web par défaut au lieu d’une boîte de dialogue autonome.
- Authentification MFA uniquement : un code de vérification est généré et fourni en fonction de l’option de réponse configurée pour votre compte (par exemple, un SMS ou l’application Microsoft Authenticator sur votre appareil).
- Dans la fenêtre de vérification qui s’ouvre, entrez le code de vérification, puis cliquez sur Vérifier.

Méthodes de connexion exclusives PowerShell 7
- Dans PowerShell 7 pour les comptes sans authentification multifacteur, cet exemple demande des informations d’identification dans la fenêtre PowerShell :
Connect-ExchangeOnline -UserPrincipalName [email protected] -InlineCredential
- Dans PowerShell 7 pour les comptes avec ou sans authentification multifacteur, cet exemple utilise un autre ordinateur pour authentifier et terminer la connexion. En règle générale, vous utilisez cette méthode sur les ordinateurs qui n’ont pas de navigateur web (les utilisateurs ne peuvent pas entrer leurs informations d’identification dans PowerShell 7)
Connect-ExchangeOnline -Device
- La commande de connexion attend la sortie suivante :Pour vous connecter, utilisez un navigateur web pour ouvrir la page https://microsoft.com/devicelogin et entrez le code <XXXXXXXXX> pour l’authentification.Notez la valeur de <code XXXXXXXXX> .
- Sur tout autre appareil disposant d’un navigateur web et d’un accès à Internet, ouvrez https://microsoft.com/devicelogin et entrez la <valeur de code XXXXXXXXX> de l’étape précédente.
- Entrez vos informations d’identification dans les pages obtenues.
- Dans l’invite de confirmation, cliquez sur Continuer. Le message suivant doit indiquer la réussite et vous pouvez fermer le navigateur ou l’onglet.
- La commande de l’étape 1 continue de vous connecter à Exchange Online PowerShell.
Se connecter à Exchange Online PowerShell sans invite de connexion (scripts sans assistance)
Pour obtenir des instructions complètes, consultez Authentification d’application uniquement pour les scripts sans assistance dans Exchange Online PowerShell et Sécurité & Conformité PowerShell.
Se connecter à Exchange Online PowerShell dans les organisations clientes
Pour plus d’informations sur les partenaires et les organisations clientes, consultez les rubriques suivantes :
- Qu’est-ce que le programme Fournisseur de solutions Cloud (CSP) ?.
- Présentation des privilèges d’administrateur délégué granulaires (GDAP)
Cet exemple se connecte aux organisations clientes dans les scénarios suivants :
- Connectez-vous à un client organization à l’aide d’un compte CSP.
- Connectez-vous à un organization client à l’aide d’un GDAP.
- Connectez-vous à un client organization en tant qu’utilisateur invité.
Connect-ExchangeOnline -UserPrincipalName [email protected] -DelegatedOrganization adatum.onmicrosoft.com
Se connecter à Exchange Online PowerShell à l’aide d’une identité managée
Pour plus d’informations, consultez Utiliser des identités managées Azure pour se connecter à Exchange Online PowerShell.
- Identité managée affectée par le système :
Connect-ExchangeOnline -ManagedIdentity -Organization "cohovinyard.onmicrosoft.com"
- Identité managée affectée pour plusieurs utilisateurs :
Get-Mailbox -ResultSize unlimited -RecipientTypeDetails UserMailbox | Set-MailboxJunkEmailConfiguration -TrustedSendersAndDomains @{Add="microsaft.cloud"} -ErrorAction SilentlyContinue
En remplaçant microsfat.cloud par le domaince concerné.
- Identité managée affectée par l’utilisateur:
Connect-ExchangeOnline -ManagedIdentity -Organization "constoso.onmicrosoft.com" -ManagedIdentityAccountId <ManagedIdentityAccountIdGuid>
Étape 3 : Se déconnecter lorsque vous avez terminé
Veillez à déconnecter la session lorsque vous avez terminé. Si vous fermez la fenêtre PowerShell sans déconnecter la session, vous pouvez utiliser toutes les sessions disponibles et vous devez attendre l’expiration des sessions. Pour déconnecter la session, exécutez la commande suivante :
PowerShell
Disconnect-ExchangeOnline
Pour vous déconnecter en mode silencieux sans invite de confirmation, exécutez la commande suivante :
PowerShell
Disconnect-ExchangeOnline -Confirm:$false
Notes : La commande disconnect échoue probablement si le chemin d’accès du profil du compte que vous avez utilisé pour vous connecter contient des caractères PowerShell spéciaux (par exemple, $). La solution de contournement consiste à se connecter à l’aide d’un autre compte qui n’a pas de caractères spéciaux dans le chemin d’accès du profil.
Comment savez-vous que vous êtes connecté avec succès ?
Si vous ne recevez aucune erreur, c’est que vous vous êtes connecté correctement. Un test rapide consiste à exécuter une applet de commande PowerShell Exchange Online, par exemple Get-AcceptedDomain, et à voir les résultats.
Si vous recevez des erreurs, vérifiez les conditions requises suivantes :
- Un mot de passe incorrect est un problème courant. Réexécutez les étapes de connexion et accordez une attention particulière au nom d’utilisateur et au mot de passe que vous utilisez.
- Le compte auquel vous utilisez pour vous connecter doit être activé pour l’accès à PowerShell. Pour plus d’informations, consultez Activer ou désactiver l’accès à Exchange Online PowerShell.
- Le trafic du port TCP 80 doit être ouvert entre votre ordinateur local et Microsoft 365. Il est probablement ouvert, mais vous devez y penser si votre organisation a une stratégie restrictive d’accès à Internet.
- Si votre organisation utilise l’authentification fédérée et que votre fournisseur d’identité (IDP) et/ou le service d’émission de jeton de sécurité (STS) n’est pas disponible publiquement, vous ne pouvez pas utiliser un compte fédéré pour vous connecter à Exchange Online PowerShell. Au lieu de cela, créez et utilisez un compte non fédéré dans Microsoft 365 pour vous connecter à Exchange Online PowerShell.
- Les connexions REST à Exchange Online PowerShell nécessitent le module PowerShellGet et, par dépendance, le module PackageManagement. Vous recevrez donc des erreurs si vous essayez de vous connecter sans les avoir installés. Par exemple, vous pouvez voir l’erreur suivante :Le terme « Update-ModuleManifest » n’est pas reconnu comme le nom d’une applet de commande, d’une fonction, d’un fichier de script ou d’un programme opérable. Vérifiez l’orthographe du nom ou, si un chemin d’accès a été inclus, vérifiez que le chemin est correct, puis réessayez.Pour plus d’informations sur les exigences des modules PowerShellGet et PackageManagement, consultez PowerShellGet pour les connexions REST dans Windows.
- Après vous être connecté, vous pouvez recevoir une erreur qui ressemble à ceci :Impossible de charger le fichier ou l’assembly ‘System.IdentityModel.Tokens.Jwt,Version=<Version>, Culture=neutral, PublicKeyToken=<TokenValue>’. Impossible de trouver ou de charger un fichier spécifique.Cette erreur se produit lorsque le module PowerShell Exchange Online est en conflit avec un autre module importé dans l’instance d’exécution. Essayez de vous connecter dans une nouvelle fenêtre Windows PowerShell avant d’importer d’autres modules.
Plus d’info : https://learn.microsoft.com/fr-fr/powershell/exchange/exchange-online-powershell?view=exchange-ps