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

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

Le module PowerShell Exchange Online utilise l’authentification moderne pour la connexion à tous les environnements PowerShell liés à Exchange dans Microsoft 365 : Exchange Online PowerShell, Sécurité & Conformité PowerShell et PowerShell autonome Exchange Online Protection (EOP). Pour plus d’informations sur le module PowerShell Exchange Online, consultez À propos du module PowerShell 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 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 en exécutant la commande suivante :

Import-Module ExchangeOnlineManagement

Étape 2 : Se connecter et s’authentifier

Remarque

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:

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

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

  • <UPN> est 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 organization Microsoft 365. 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 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/common requise étant également la valeur par défaut, vous n’avez 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/common
    • Microsoft 365 DoD :
      • ConnectionUri : https://l5.ps.compliance.protection.office365.us/powershell-liveid/
      • AzureADAuthorizationEndpointUri : https://login.microsoftonline.us/common
    • Office 365 géré par 21Vianet :
      • ConnectionUri : https://ps.compliance.protection.partner.outlook.cn/powershell-liveid
      • AzureADAuthorizationEndpointUri : https://login.chinacloudapi.cn/common
  • Si vous êtes derrière un serveur proxy, vous pouvez utiliser le paramètre PSSessionOption dans la commande de connexion. Tout d’abord, exécutez cette commande : $ProxyOptions = New-PSSessionOption -ProxyAccessType <Value>, où <Value> est IEConfig, WinHttpConfigou AutoDetect. Ensuite, utilisez 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.

Se connecter à Security & Compliance PowerShell à 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 authentification multifacteur :

    • 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/common
      
    • 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/common
      
    • 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/common
      
  2. Dans la fenêtre de connexion qui s’ouvre, entrez votre mot de passe, puis cliquez sur Se connecter.

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

    Remarque

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

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

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

Se connecter à 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 Sécurité & Conformité PowerShell.

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

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

Dans Security & Compliance PowerShell, vous devez utiliser AzureADAuthorizationEndpointUri avec le paramètre DelegatedOrganization .

Pour plus d’informations sur les partenaires et les organisations clientes, consultez les rubriques suivantes :

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-IPPSSession -UserPrincipalName navin@contoso.onmicrosoft.com -DelegatedOrganization adatum.onmicrosoft.com -AzureADAuthorizationEndpointUri https://login.microsoftonline.com/adatum.onmicrosoft.com
    

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

Disconnect-ExchangeOnline

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

Disconnect-ExchangeOnline -Confirm:$false

Remarque

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 ?

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, c’est que vous vous êtes connecté correctement. 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 à Security & Compliance 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.

  • Il se peut que vous ne parvenez pas à vous connecter si l’adresse IP de votre client change pendant la demande de connexion. Cela peut se produire si votre organisation utilise un pool de traduction d’adresses réseau (SNAT) source contenant plusieurs adresses IP. L’erreur de connexion se présente comme suit :

    La demande pour l’interpréteur de commandes distant Windows avec l’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 le problème, utilisez un pool SNAT qui contient une adresse IP unique, ou forcez l’utilisation d’une adresse IP spécifique pour les connexions au point de terminaison du Centre de sécurité et de conformité PowerShell.