Se connecter à la sécurité et conformité PowerShell

Cet article contient des instructions sur la connexion au PowerShell Sécurité & Conformité à l’aide du module Exchange Online PowerShell avec ou sans authentification multifacteur (MFA).

Le module Exchange Online PowerShell utilise l’authentification moderne pour se connecter à Exchange Online PowerShell et à & de sécurité PowerShell. Pour plus d’informations sur le module PowerShell pour Exchange Online, consultez l’article À propos du module PowerShell pour Exchange Online.

Pour vous connecter à Security & Compliance PowerShell pour l’automatisation, consultez Authentification d’application uniquement pour les scripts sans assistance.

Ce qu'il faut savoir avant de commencer

Étape 1 : charger le module PowerShell d’Exchange Online

Remarque

Si le module est déjà installé, vous pouvez généralement ignorer cette étape et exécuter Connect-IPPSSession sans charger manuellement le module au préalable.

Après avoir installé le module, ouvrez une fenêtre PowerShell et chargez le module en exécutant la commande suivante :

Import-Module ExchangeOnlineManagement

Étape 2 : Se connecter et s’authentifier

Remarque

  • Les commandes de connexion échouent 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 consiste à se connecter à l’aide d’un autre compte qui ne comporte pas de caractères spéciaux dans le chemin d’accès du profil.

  • Si vous prévoyez d’exécuter des applets de commande eDiscovery (*-ComplianceSearch ou New-ComplianceSearchAction), la connexion doit répondre aux exigences suivantes :

    • Version 3.9.0 (août 2025) ou ultérieure du module Exchange Online PowerShell.

    • La commande connect doit inclure le commutateur EnableSearchOnlySession .

      Si votre connexion PowerShell Sécurité & Conformité ne répond pas à ces exigences, vous recevez le message d’erreur suivant lorsque vous tentez d’exécuter les applets de commande eDiscovery :

      Please close the current PowerShell session and open a new session using Connect-IPPSSession with the -EnableSearchOnlySession flag. This requires using ExchangeOnlineManagement v3.9.0 or higher.

La commande à exécuter utilise la syntaxe suivante:

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

Pour obtenir des informations de syntaxe et de paramètre détaillées, consultez Connect-IPPSSession.

  • <UPN> correspond à votre compte au format de nom d’utilisateur principal (par exemple, navin@contoso.onmicrosoft.com).

  • Les valeurs ConnectionUri et AzureADAuthorizationEndpointUri requises dépendent de la nature de votre Microsoft 365 organisation. Les valeurs courantes sont décrites dans la liste suivante :

    • Microsoft 365 ou Microsoft 365 GCC :
      • ConnectionUri : Aucun. La valeur https://ps.compliance.protection.outlook.com/powershell-liveid/ requise étant également la valeur par défaut, vous n’avez donc pas besoin d’utiliser le paramètre ConnectionUri dans les environnements Microsoft 365 ou Microsoft 365 GCC.
      • AzureADAuthorizationEndpointUri : Aucun. La valeur https://login.microsoftonline.com/organizationsrequise, mais il s’agit également de la valeur par défaut. Vous n’avez donc pas besoin d’utiliser le paramètre AzureADAuthorizationEndpointUri dans les environnements Microsoft 365 ou Microsoft 365 GCC.
    • Microsoft 365 GCC High :
      • ConnectionUri : https://ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri :https://login.microsoftonline.us/organizations*
    • Microsoft 365 DoD :
      • ConnectionUri : https://l5.ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri :https://login.microsoftonline.us/organizations*
    • Office 365 géré par 21Vianet :
      • ConnectionUri : https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
      • AzureADAuthorizationEndpointUri :https://login.chinacloudapi.cn/organizations*

    * La valeur AzureADAuthorizationEndpointUri se terminant par /organizations autorise uniquement les comptes professionnels ou scolaires. L’ancienne valeur URI se terminant par /common fonctionne toujours, mais peut vous inviter à choisir entre un compte personnel et un compte professionnel ou scolaire. Nous recommandons la valeur d’URI dans les scénarios d’entreprise où les /organizations comptes de consommateurs doivent être exclus.

  • Si vous vous trouvez derrière un serveur proxy, vous pouvez utiliser le paramètre PSSessionOption dans la commande de connexion. Tout d’abord, exécutez la commande suivante : $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, où <la valeur> est IEConfig, WinHttpConfigou AutoDetect. Utilisez ensuite la valeur $ProxyOptions du paramètre PSSessionOption . Pour plus d’informations, voir Nouveau-PSSessionOption.

  • Selon la nature de votre organisation, vous pourrez peut-être omettre le paramètre UserPrincipalName à l’étape suivante. 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 Connecter-IPPSSession. 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.

Connectez-vous au PowerShell Sécurité & Conformité à l’aide d’une invite de connexion interactive

  1. Les exemples suivants fonctionnent dans Windows PowerShell 5.1 et PowerShell 7 pour les comptes avec ou sans MFA :

    • Cet exemple se connecte à la sécurité et conformité PowerShell dans une organisation GCC Microsoft 365 ou Microsoft 365 :

      Connect-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com
      
    • Cet exemple se connecte à la sécurité et conformité PowerShell dans une organisation Microsoft GCC High :

      Connect-IPPSSession -UserPrincipalName chris@govt.us -ConnectionUri https://ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizations
      
    • Cet exemple se connecte à la sécurité et conformité PowerShell dans une organisation Microsoft 365 DoD :

      Connect-IPPSSession -UserPrincipalName michelle@govt.mil -ConnectionUri https://l5.ps.compliance.protection.office365.us/powershell-liveid/ -AzureADAuthorizationEndpointUri https://login.microsoftonline.us/organizations
      
    • Cet exemple se connecte à la sécurité et conformité PowerShell dans une organisation Office 365 gérée par 21Vianet :

      Connect-IPPSSession -UserPrincipalName li@fabrikam.cn -ConnectionUri https://ps.compliance.protection.partner.outlook.cn/powershell-liveid -AzureADAuthorizationEndpointUri https://login.chinacloudapi.cn/organizations
      
  2. Dans la fenêtre de connexion qui s’ouvre, entrez votre mot de passe, puis sélectionnez Se connecter.

    Entrer votre mot de passe dans la fenêtre Connectez-vous à votre compte.

    Remarque

    Dans PowerShell 7, l’authentification unique basée sur le navigateur (SSO) est utilisée par défaut, de sorte que l’invite de connexion s’ouvre dans votre navigateur web par défaut au lieu d’une boîte de dialogue autonome.

  3. MFA uniquement : un code de vérification est généré et envoyé 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 sélectionnez Vérifier.

    Entrer votre code de vérification dans la fenêtre Connectez-vous à votre compte.

Connectez-vous à Security & Compliance 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 PowerShell Sécurité & conformité.

Se connecter à Sécurité & Conformité PowerShell dans les organisations clientes

Les procédures de cette section nécessitent la version 3.0.0 ou ultérieure du module.

Dans le PowerShell Sécurité & Conformité, vous devez utiliser AzureADAuthorizationEndpointUri avec le paramètre DelegatedOrganization .

Pour plus d’informations sur les partenaires et les organisations clientes, consultez les articles suivants :

Cet exemple se connecte aux organisations clientes dans les scénarios suivants :

  • Connectez-vous à une organisation cliente à l’aide d’un compte CSP.

  • Connectez-vous à une organisation cliente à l’aide d’un GDAP.

  • Connectez-vous à une organization cliente en tant qu’invité.

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

Étape 3 : déconnectez-vous 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 pourriez utiliser toutes les sessions disponibles et vous devez attendre leur expiration. Pour déconnecter la session, exécutez la commande suivante :

Disconnect-ExchangeOnline

Pour vous déconnecter silencieusement sans invite de confirmation, exécutez la commande suivante :

Disconnect-ExchangeOnline -Confirm:$false

Remarque

La commande de déconnexion é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 consiste à se connecter à l’aide d’un autre compte qui ne comporte pas de caractères spéciaux dans le chemin d’accès du profil.

Comment savez-vous que vous vous êtes connecté avec succès ?

Les applets de commande de la sécurité et conformité PowerShell sont importées dans votre session Windows PowerShell locale comme indiqué par une barre de progression. Si vous ne recevez aucune erreur, la connexion est établie. Un test rapide consiste à exécuter une cmdlet de sécurité et de conformité PowerShell, par exemple, Get-RetentionCompliancePolicyet consulter les résultats.

Si vous recevez des erreurs, vérifiez les conditions requises suivantes :

  • Un mot de passe incorrect est un problème courant. Exécutez à nouveau les trois étapes et portez une attention particulière au nom d’utilisateur et au mot de passe que vous utilisez.

  • Le compte que vous utilisez pour vous connecter doit être activé pour 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.

  • Les connexions REST au PowerShell Sécurité & Conformité nécessitent le module PowerShellGet. Par dépendance, le module PowerShellGet nécessite le module PackageManagement. Vous obtenez des erreurs si vous essayez de vous connecter sans que les deux modules soient installés. Par exemple, le message d’erreur suivant peut s’afficher :

    Le terme « Update-ModuleManifest » n’est pas reconnu comme nom de cmdlet, d’une fonction, d’un fichier de script ou d’un programme utilisable. 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 relatives aux modules PowerShellGet et PackageManagement, consultez PowerShellGet pour les connexions REST dans Windows.

  • Il se peut que vous ne parvenez pas à vous connecter si l’adresse IP de votre client change pendant la demande de connexion. L’échec se produit si votre organisation utilise un pool SNAT (Network Address Translation) source avec plusieurs adresses IP. L’erreur de connexion se présente comme suit :

    La demande d’interpréteur de commandes distant Windows avec ID> ShellId <a échoué, car l’interpréteur de commandes est introuvable sur le serveur. Causes possibles : la ShellId spécifiée est incorrecte ou l’interpréteur de la Shell n’existe plus sur le serveur. Fournissez les ShellId correctes ou créez un nouveau shell et recommencez l’opération.

    Pour résoudre ce problème, procédez comme suit :

    • Utilise un pool SNAT qui contient une seule adresse IP.
    • Forcer l’utilisation d’une adresse IP spécifique pour les connexions au point de terminaison PowerShell Sécurité & Conformité.