Vous utilisez probablement déjà PowerShell pour administrer votre Tenant M365. Pour autant, saviez-vous que vous pouvez éviter d’avoir à vous authentifier avec votre compte Global Admin. En effet, vous pouvez créer et configurer une Managed Identity afin de pouvoir vous connecter en PowerShell avec une Application Registered.
Par défaut, lorsque vous voulez vous connecter en PowerShell à votre Tenant, vous exécutez probablement la commande suivante en précisant le niveau de permissions (Scopes) dont vous avez besoin. Une fois connecter, vous pouvez ainsi intervenir sur Entra ID au niveau des users, des groupes, etc.
Connect-MgGraph -Scopes "User.Read.All", "Group.ReadWrite.All"
Sauf qu’avec cette méthode vous devez généralement vous identifier sur une page de votre navigateur avec un prompt Microsoft qui va permettre de vous identifier. Vous devez alors saisir votre login/password ainsi que votre renforcement MFA. Mais il y a plus simple.
Une fois identifié avec votre compte Global Admin, rendez-vous dans Entra ID puis App Registrations. Créez une nouvelle application registration. Donnez lui le nom dont vous avez envie (un truc parlant).
Conservez les options par défaut puis notez les éléments suivants (nous allons en avoir besoin plus tard) :
Dans la section Certificates & secrets, rendez-vous dans Client secrets et créez un nouveau client secret. Choisissez une description puis une durée de validité. Notez qu’une fois l’expiration atteinte, vous devez générer à nouveau ce secret.
Notez bien la value pour le client secret – elle ne va s’afficher qu’une seule fois et nous en aurons besoin plus tard.
Il nous reste maintenant plus qu’à donner les permissions à notre App Registration. C’est le même principe que pour les Scopes en PowerShell sauf que là nous allons saisir exactement ce que notre App Registration a le droit de faire.
Pour cela, dirigez-vous dans la section API permissions. Cliquez sur Add a permission et choisissez les Scopes dont vous allez avoir besoin en fonction de si vous souhaitez agir sur les Users, les Groups, les Conditional Access, etc.
Sélectionnez Microsoft Graph puis Application permissions.
Par exemple pour gérer (créer, modifier, supprimer) des utilisateurs et des groupes, utilisez les permissions ci-dessous :
User.ReadWrite.All
Group.ReadWrite.All
Une fois que c’est fait, n’oubliez pas de cliquer sur le bouton Grant admin consent for TENANT NAME. Si tout est bien configuré, vous devez avoir chaque ligne de permissions avec une coche verte sur la fenêtre à droite (comme sur mon screenshot ci-dessus).
Il ne vous reste plus qu’à tester les quelques lignes de PowerShell ci-dessous pour vous connecter en 1 seule exécution sans avoir à vous authentifier manuellement sur la mire d’authentification Microsoft.
# Variables requises
$tenantId = "nnn-nnn-nnn-nnn-nnn"
$clientId = "nnn-nnn-nnn-nnn-nnn"
$clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# Connexion en PowerShell
$secureSecret = ConvertTo-SecureString $clientSecret -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($clientId, $secureSecret)
Connect-MgGraph -TenantId $tenantId -ClientSecretCredential $credential -NoWelcome
Si vous avez tout bien fait, la connexion sera immédiate.
Pour vérifier que vous êtes bien connecté, vous pouvez même exécuter la commande suivante et vérifier votre statut :
Get-MgContext
Comme vous le voyez ci-dessus, nous sommes bien connectés via notre App Registration puisque nous retrouvons bien le nom au niveau de AppName. Même chose, vous pouvez retrouver les permissions que vous aviez choisi précédemment dans le tableau Scopes.
Vous pouvez maintenant exécuter des scripts pour créer/modifier/supprimer des utilisateurs ou groupes (ou tout plein d’autres choses.
Pour vous déconnecter proprement, utilisez la commande suivante :
Disconnect-MgGraph | Out-Null
Affinity Révolutionne le Marché : Une Suite Unique et Gratuite, un Défi pour Photoshop Introduction…
Fini les pubs sur AKRIL.NET : explications Après plusieurs années à afficher des publicités sur…
Mico : le nouveau visage de l'IA sur Windows qui surpasse Clippy Introduction Mico, le…
Vibe Coding : comment l'IA tue les juniors développeurs (et ce qui nous attend dans…
Microsoft : Trois nouvelles applications compagnons installées automatiquement sur votre PC Introduction Les utilisateurs de…
Game One : L'histoire et la fermeture définitive de la chaîne culte Introduction Game One,…