Gérer le SSO pour Microsoft avec PowerShell

Ce guide explique comment configurer ou supprimer Microsoft SSO à l’aide de commandes PowerShell, et comment synchroniser les utilisateurs entre Entra ID et votre Active Directory local. Il offre une alternative à l’assistant UserLock SSO, idéale pour les déploiements automatisés ou réalisés par script.

Publié le 17 octobre 2025

Note

Si vous configurez le SSO pour Microsoft pour la première fois, référez-vous d’abord à la page Configuration standard Microsoft.

Vue d'ensemble

Les administrateurs peuvent fédérer ou défédérer manuellement des domaines Entra ID à l’aide des modules PowerShell Microsoft Entra.
Ils peuvent également gérer les utilisateurs pour créer ou synchroniser des comptes Entra ID avec leur Active Directory local.

Cette méthode est idéale pour l’automatisation, les configurations à distance ou les scénarios de dépannage lorsque l’interface graphique n’est pas disponible.

Note

Les opérations PowerShell modifient directement les paramètres de fédération d’Entra ID. Vérifiez toujours toutes les valeurs avant de les appliquer.

Prérequis

  • ✅️ PowerShell 5.1 ou version ultérieure.

  • ✅️ Le module PowerShell Microsoft.Graph doit être installé.

  • ✅️ Des identifiants Administrateur général dans votre locataire Entra ID.

  • ✅️ Une connectivité réseau aux points de terminaison Entra ID.

  • ✅️ Un domaine vérifié dans Entra ID.

Se connecter à l’API Graph

Avant d’exécuter une commande, connectez-vous à Microsoft Graph en utilisant les autorisations nécessaires.

  1. Ouvrez un terminal PowerShell.

  2. Connectez-vous à Microsoft Graph.

    powershell
    Connect-MgGraph -Scopes "Domain.ReadWrite.All User.ReadWrite.All Directory.ReadWrite.All Directory.AccessAsUser.All"
    
  3. Lorsque cela vous est demandé, connectez-vous avec votre compte Administrateur général Entra ID.

  4. Si vous gérez plusieurs locataires, récupérez et vérifiez le contexte actuel :

    powershell
    $context = Get-MgContext; $context
  5. Connectez-vous spécifiquement à ce locataire :

    powershell
    Connect-MgGraph -NoWelcome -TenantId $context.TenantId -Scopes "Domain.ReadWrite.All User.ReadWrite.All Directory.ReadWrite.All Directory.AccessAsUser.All"

Gestion du domaine

  1. Vérifiez la méthode d’authentification utilisée par votre domaine.

    powershell
    Get-MgDomain -DomainId yourdomain.com
  2. Si le domaine est fédéré, examinez sa configuration de fédération.

    powershell
    Get-MgDomainFederationConfiguration -DomainId yourdomain.com

Fédérer un domaine avec UserLock SSO

  1. Récupérez le certificat SAML de UserLock SSO et stockez-le dans une variable PowerShell :

    powershell
    $response = Invoke-RestMethod -Uri "https://<userlock_sso>/api/infos/certificate" -Method GET
    $certData = $response.currentCertificate.rawCertificate
  2. Fédérez votre domaine en utilisant UserLock SSO :

    powershell
    New-MgDomainFederationConfiguration `
      -DomainId yourdomain.com `
      -IssuerUri "https://<userlock_sso>/.domain.com" `
      -PassiveSignInUri "https://<userlock_sso>/saml/sso" `
      -SignOutUri "https://<userlock_sso>/connect/endsession" `
      -SigningCertificate $certData `
      -FederatedIdpMfaBehavior "acceptIfMfaDoneByFederatedIdp" `
      -IsSignedAuthenticationRequestRequired `
      -PreferredAuthenticationProtocol saml

Annuler la fédération d'un domaine

Si vous devez annuler la fédération et revenir à une authentification gérée pour votre domaine, exécutez la commande suivante :

powershell
Update-MgDomain -DomainId yourdomain.com -AuthenticationType Managed

Gérer les utilisateurs

Vous devez d’abord vous connecter à l'API Graph.

Afficher les informations d'un utilisateur

powershell
Get-MgUser -UserId user@domain.com -Property "Mail, DisplayName, GivenName, Surname, UserPrincipalName, OnPremisesImmutableId" | select Mail, DisplayName, GivenName, Surname, UserPrincipalName, OnPremisesImmutableId

Synchroniser un nouvel utilisateur

Note

Cette méthode ne doit être utilisée que si vous rencontrez des problèmes avec l'assistant UserLock SSO ou les solutions Microsoft Entra

  1. Créez l’utilisateur dans le domaine par défaut en remplaçant les valeurs d’exemple dans ce script (xxx.onmicrosoft.com) :

    powershell
    $immutableId = [convert]::ToBase64String((Get-ADUser -Identity <samAccountName>| Select-Object -ExpandProperty ObjectGUID).ToByteArray())
    $PasswordProfile = @{Password = 'MySuperStrongPassword' ForceChangePasswordNextSignIn = $false}
    New-MgUser -UserPrincipalName newuser@office365domain.onmicrosoft.com -DisplayName '<Firstname> <Lastname>' -OnPremisesImmutableId $immutableId -PasswordProfile $PasswordProfile -AccountEnabled -MailNickname <Nickname>
  2. Déplacez l’utilisateur vers le domaine fédéré :

    powershell
    Update-MgUser -UserId newuser@office365domain.onmicrosoft.com -UserPrincipalName newuser@domain.com

Synchroniser un utilisateur existant

  1. Déplacez l’utilisateur vers le domaine par défaut :

    powershell
    Update-MgUser -UserId newuser@domain.com -UserPrincipalName newuser@office365domain.onmicrosoft.com
  2. Ajoutez la valeur de l’ImmutableId :

    powershell
    $immutableId = [convert]::ToBase64String((Get-ADUser -Identity <samAccountName>| Select-Object -ExpandProperty ObjectGUID).ToByteArray())
    Update-MgUser -UserId newuser@domain.com -OnPremisesImmutableId $immutableId
  3. Déplacez à nouveau l’utilisateur vers le domaine fédéré :

    powershell
    Update-MgUser -UserId newuser@office365domain.onmicrosoft.com -UserPrincipalName newuser@domain.com