UserLock Documentation
UserLock Documentation
Vous êtes ici: Cas d'utilisation > Authentification unique (SSO) > Avancé > Commandes Powershell pour Microsoft 365

Commandes Powershell pour Microsoft 365

Microsoft 365 et Azure AD (devenu Microsoft Entra ID) peuvent être configurés entièrement avec Powershell. Ce document contient de multiples commandes très utiles par rapport à la fédération du domaine et de l’authentification unique (SSO).

Le module MSOnline, nécessaire pour ces commandes, est installé lors du premier lancement de l’outil de configuration de Microsoft 365 (Configuration Office365 tool)

Connexion aux services Microsoft 365

Les identifiants doivent être les identifiants d’un administrateur global de Microsoft 365.

$creds = Get-Credential
Connect-MsolService -Credential $creds

Fédération du Domaine

Afficher les paramètres du domaine

Get-MsolDomain -DomainName domain.com

Afficher les paramètres de fédération du domaine

Get-MsolDomainFederationSettings -DomainName domain.com

Fédérer un domaine avec UserLock

  1. Récupérer les données du certificat: https://<userlockssourl>/api/infos/certificate ou: Single-sign on -> Configuration -> Télécharger le cetificat Saml dans le panneau d’accès rapide.
  2. Les enregistrer dans une variable Powershell $certData = "MIICrDCCAZSgAwIBAgI...4Dc6EKzvrg=="
  3. Utiliser la commande suivante Set-MsolDomainAuthentication -DomainName domain.com -Authentication Federated -PassiveLogOnUri https://<userlockssourl>/saml/sso -SigningCertificate $certData -IssuerUri https//<userlockssourl> -PreferredAuthenticationProtocol Samlp -LogOffUri https://<userlockssourl>/connect/endsession

Annuler la fédération

Set-MsolDomainAuthentication -DomainName domain.com -Authentication Managed

Gestion des Utilisateurs

Afficher les informations de l’utilisateur

Pour afficher les propriétés d’utilisateurs Microsoft 365, il est possible d’utiliser la commande Get-MsolUser:
Get-MsolUser -UserPrincipalName user@office365domain.onmicrosoft.com

Pour afficher toutes les propriétés, ajouter la commande Format-List *: Get-MsolUser -UserPrincipalName user@office365domain.onmicrosoft.com | Format-List *

Synchroniser un utilisateur

Désactiver Azure AD Connect

Dans un premier temps, si Azure AD Connect est actif, vous devez le désactiver sinon aucune des opérations suivantes ne seront autorisées.

Pour désactiver temporairement Azure AD Connect, vous pouvez lancer la commande suivante: Set-MsolDirSyncEnabled -EnableDirSync $false

Pour réactiver la synchronisation d’Azure AD Connect, lancez la commande suivante : Set-MsolDirSyncEnabled -EnableDirSync $true

L’ ImmutableId

Pour autoriser un utilisateur de Microsoft 365 à se connecter avec ses identifiants AD, il est nécessaire de synchroniser son ImmutableID, cette propriété étant partagée par l’utilisateur local (AD) et l’utilisateur Microsoft 365 (Azure AD).

Appelée ImmutableId dans Azure AD, la propriété locale correspondante est l’objectGUID de l’utilisateur. Les deux propriétés doivent correspondre pour qu’Azure AD reconnaisse un utilisateur AD. Donc, avant de synchroniser l’ImmutableId, il est nécessaire de récupérer la liste des objectGUID locaux pour les utilisateurs AD. Pour cela, exécuter les étapes suivantes :

  1. Ouvrir un cmd prompt
  2. Exécuter la commande suivante: ldifde -f C:\Temp\ImmutableIds.txt -l
    "userPrincipalName,samAccountName,proxyAddresses,objectGUID,mail" -r "(&(objectCategory=person)(objectClass=User)(givenname=*))"

Note: Vous aurez probablement besoin de créer un dossier Temp dans le disque C: ou de changer le chemin du fichier généré dans la commande précédente.

Lorsqu’un utilisateur n’existe pas encore dans Azure AD

Si un utilisateur n’existe pas encore il peut être créé avec la commande Msol-NewUser. Cependant si le domaine cible est déjà fédéré, il n’est pas possible de le créer directement dedans.
Il faut d’abord créer un utilisateur dans le domaine par défaut avec l’ImmutableId avant de le déplacer dans le domaine fédéré.

Le domaine par défaut se termine généralement par onmicrosoft.com. Exemple: office365domain.onmicrosoft.com
Le domaine fédéré est le domaine des adresses mails de vos utilisateurs. Exemple: domain.com.

  1. Recherchez l'ImmutableId de vos utilisateurs AD dans le fichier ImmutableIds.txt (propriété objectGUID)
  2. Créez l’utilisateur dans le domaine par default (xxx.onmicrosoft.com) New-MsolUser -DisplayName 'New User' -UserPrincipalName newuser@office365domain.onmicrosoft.com -ImmutableId 'immutableId' -Password 'a useless password'
  3. Déplacez l’utilisateur dans le domaine fédéré: Set-MsolUserPrincipalUserName -UserPrincipalName newuser@office365domain.onmicrosoft.com -NewUserPrincipalName newuser@domain.com

Note 1: Il n’est pas possible d’assigner un ImmutableId à un utilisateur d’un domaine fédéré, d’où l’étape dans le domaine par défaut même à la création de l’utilisateur.

Note 2: le mot de passe ne sera pas utilisé tant que l’utilisateur est dans le domaine fédéré, les identifiants AD seront utilisés.

Lorsqu’un utilisateur existe déjà dans Azure AD

Si l’utilisateur existe déjà, il n’est pas possible d’utiliser la commande New-MsolUser. Cependant vous pouvez utiliser la commande Set-MsolUser pour définir l’ImmutableId. Dans un premier temps, vérifiez que l’ImmutableId est bien invalide en affichant les propriétés de l’utilisateur (voir ci-dessus). Comparez l’ImmutableId avec objectGUID. Si les deux correspondent, il n’y a rien à faire, l’utilisateur est déjà correctement synchronisé.

Comme il n’est pas possible d’attribuer un ImmutableId à un utilisateur d’un domaine fédéré, vous devez d’abord de le déplacer dans le domaine par défaut. Ensuite, la commande Set-MsolUser pourra être utilisée afin de mettre à jour l’ImmutableId avec l’objectGUID trouvé dans ImmutableIds.txt. Pour terminer, l’utilisateur pourra être transféré de nouveau dans le domaine fédéré.

  1. Déplacer l’utilisateur dans le domaine par défaut :
    Set-MsolUserPrincipalUserName -UserPrincipalName user@domain.com -NewUserPrincipalName user@office365domain.onmicrosoft.com
  2. Mettre à jour l’ImmutableId:
    Set-MsolUser -UserPrincipalName user@office365domain.onmicrosoft.com -ImmutableId UserImmutableId
  3. Transférer l’utilisateur dans le domaine fédéré :
    Set-MsolUserPrincipalUserName -UserPrincipalName user@office365domain.onmicrosoft.com -NewUserPrincipalName user@domain.com

Changer le mot de passe (Azure AD DS seulement)

Il n’est pas possible de changer le mot de passe d’un compte fédéré, il est donc nécessaire de transférer l’utilisateur dans le domaine par défaut, changer son mot de passe puis de le reconfigurer dans le domaine fédéré.

  1. Déplacez l’utilisateur dans le domaine par default (xxx.onmicrosoft.com) Set-MsolUserPrincipalUserName -UserPrincipalName user@domain.com -NewUserPrincipalName user@office365domain.onmicrosoft.com
  2. Demandez à l’utilisateur de se connecter à pour qu’il puisse changer son mot de passe.
  3. Lorsque le mot de passe est modifié, replacez l’utilisateur dans le domaine fédéré: Set-MsolUserPrincipalUserName -UserPrincipalName newuser@office365domain.onmicrosoft.com -NewUserPrincipalName newuser@domain.com

Débloquer un compte (Azure AD DS seulement)

Le déblocage d’un compte n'est pas possible en utilisant Azure AD DS.