M365Con 2027 – conférence en ligne gratuite · 11–22 Jan 2027 · 120 sessions→ m365con.net

2025-12-08

Utiliser l'identité managée avec PowerShell pour Microsoft Graph

Utiliser l'identité managée avec PowerShell pour Microsoft Graph
Vous écrivez toujours du PowerShell avec les modules MSOnline et AzureAD en 2025 ? Cet épisode explique pourquoi cette pile est obsolète et comment adopter une approche API-first avec du REST pur et Microsoft Graph. Nous détaillons le schéma central « jeton, en-têtes, appel REST », trois flux d'authentification réels (code d'appareil, identifiants client avec certificats et identité managée), ainsi que le piège de l'audience du jeton qui fait échouer la plupart des scripts Graph. Vous verrez comment créer une automatisation Graph multiplateforme qui fonctionne sans accroc sous Linux, dans les conteneurs, GitHub Actions, Azure Functions et Azure Automation, sans dépendances fragiles aux modules. Nous appliquons ensuite ce schéma à des scénarios d'entreprise : nettoyage des appareils Intune, intégration des identités et détection puis correction de la dérive de conformité, avec des permissions Graph en moindre privilège, une logique de nouvelles tentatives robuste, des fonctions de pagination et des journaux d'audit complets dans Log Analytics. Si vous êtes administrateur Azure, Intune ou Microsoft 365...

Alors que les entreprises dépendent de plus en plus de Microsoft 365, l'automatisation des tâches de gestion devient essentielle. Vous pouvez améliorer l'efficacité et gagner un temps précieux en intégrant PowerShell + Graph API. Cette combinaison puissante offre des capacités de gestion robustes qui rationalisent les opérations.

Cependant, de nombreux utilisateurs rencontrent des difficultés. Par exemple, certaines fonctionnalités clés ne disposent pas de points de terminaison documentés, ce qui complique les efforts d'automatisation. De plus, les API héritées peuvent entraîner des échecs silencieux, ce qui nuit à la maintenabilité de vos scripts. Ne vous inquiétez pas ! Cet article décompose ces concepts complexes en étapes simples et concrètes, en vous guidant avec des solutions claires.

Points clés

  • Intégrez PowerShell à Graph API pour automatiser les tâches Microsoft 365 et améliorer l'efficacité.
  • Assurez-vous que votre système respecte les prérequis, comme PowerShell 7 ou version supérieure et le dernier module Microsoft Graph, pour une exécution fluide.
  • Comprenez les autorisations et les étendues pour contrôler ce que vos scripts peuvent accéder dans Microsoft 365, en suivant le principe du moindre privilège.
  • Enregistrez votre application dans Azure AD pour créer une identité sécurisée pour vos scripts, permettant un accès sûr à Microsoft Graph.
  • Choisissez le flux d'authentification approprié, comme le flux de code d'appareil ou le flux d'identité managée, pour sécuriser efficacement vos jetons d'accès.
  • Construisez des requêtes HTTP bien formées avec PowerShell pour interagir avec Microsoft Graph API et récupérer des données.
  • Gérez soigneusement les erreurs et les limites d'API pour garantir le bon fonctionnement de vos scripts et éviter les interruptions.
  • Optimisez vos scripts en récupérant sélectivement les propriétés et en regroupant les requêtes afin d'améliorer les performances et de réduire la consommation de ressources.

Prérequis pour PowerShell + Graph API

Avant de commencer à automatiser les tâches Microsoft 365 avec PowerShell + Graph API, vous devez préparer correctement votre système et votre environnement. Cette préparation garantit une exécution fluide et un accès sécurisé aux ressources de Microsoft Graph.

Installation des modules PowerShell

Vous devez installer les bons modules PowerShell pour interagir avec Microsoft Graph API. Le SDK PowerShell de Microsoft Graph fournit toutes les applets de commande nécessaires à cette intégration. Pour éviter les erreurs, vérifiez que votre système respecte ces exigences minimales :

Exigence Description
Version de PowerShell PowerShell version 7 ou supérieure est requis.
.NET Framework .NET Framework 4.7.2 ou ultérieur est nécessaire sur macOS.
PowerShellGet Mettez à jour PowerShellGet vers la dernière version.
Stratégie d'exécution Définissez la stratégie d'exécution sur remote signed ou moins restrictive.

Vous pouvez mettre à jour PowerShellGet en exécutant Install-Module PowerShellGet -Force et définir la stratégie d'exécution avec Set-ExecutionPolicy RemoteSigned. Ensuite, installez le module Microsoft Graph à l'aide de :

Install-Module Microsoft.Graph -Scope CurrentUser

Cette commande télécharge la dernière version stable du module, vous permettant d'appeler facilement les points de terminaison de Microsoft Graph.

Configuration de l'environnement Microsoft 365

Configurer correctement votre environnement Microsoft 365 est essentiel pour l'automatisation. Suivez ces étapes pour commencer :

  1. Vérifiez que votre système respecte les exigences : PowerShell 7.2 ou ultérieur, .NET Framework 4.7.2 ou plus récent, et le dernier module PowerShellGet.
  2. Installez le module PowerShell Microsoft Graph comme indiqué ci-dessus.
  3. Connectez-vous à votre locataire Microsoft 365 en important le module et en vous authentifiant avec les étendues nécessaires. Par exemple :
Connect-MgGraph -Scopes "User.ReadWrite.All","Directory.ReadWrite.All"

Cette commande vous demande de vous connecter et accorde à votre session les autorisations de lecture et d'écriture sur les données des utilisateurs et de l'annuaire. Vous pouvez ajuster les étendues selon les besoins de votre automatisation.

Comprendre les autorisations et les étendues

Les autorisations et les étendues définissent ce que vos scripts peuvent accéder ou modifier dans Microsoft 365. L'API Microsoft Graph utilise deux types d'autorisations principaux :

  • Autorisations déléguées : elles s'appliquent lorsque vous exécutez des scripts en tant qu'utilisateur connecté. Elles limitent l'accès aux données que l'utilisateur possède ou auxquelles il peut accéder.
  • Autorisations d'application : elles permettent à votre application ou script d'accéder aux données de l'ensemble de l'organisation sans utilisateur connecté.

Les autorisations courantes incluent *.Read.All pour un accès en lecture seule et *.ReadWrite.All pour des capacités complètes de lecture et d'écriture. Par exemple, SecurityActions.Read.All vous permet de consulter les actions de sécurité, tandis que SecurityActions.ReadWrite.All vous permet de les modifier.

Les autorisations d'application nécessitent le consentement d'un administrateur. Un administrateur du locataire doit approuver ces autorisations pour garantir la sécurité. De plus, les utilisateurs doivent disposer des rôles Microsoft Entra appropriés, comme Lecteur de sécurité, pour accéder aux données sensibles. Ce contrôle d'accès basé sur les rôles ajoute une couche de sécurité supplémentaire.

Lorsque vous vous connectez avec le SDK PowerShell de Microsoft Graph, spécifiez uniquement les étendues dont votre script a besoin. Cette pratique respecte le principe du moindre privilège et réduit les risques de sécurité. Gardez à l'esprit que les autorisations accordées à votre application s'appliquent à tous les utilisateurs de cette application ; examinez-les et gérez-les régulièrement.

En comprenant et en configurant soigneusement les autorisations, vous protégez votre environnement tout en permettant une automatisation puissante avec PowerShell + Graph API.

Identité de l'application dans Azure AD

Enregistrement d'une nouvelle application

Pour automatiser les tâches Microsoft 365 avec PowerShell et Graph API, vous devez d'abord enregistrer une application dans Azure Active Directory (Azure AD). Cette application agit comme une identité que vos scripts utilisent pour accéder à Microsoft Graph en toute sécurité. Suivez ces étapes pour enregistrer votre application :

  1. Ouvrez le portail Azure et accédez à Azure Active Directory > Inscriptions d'applications > Nouvelle inscription.
  2. Donnez à votre application un nom explicite, par exemple « Mon application Graph ».
  3. Choisissez les types de comptes pris en charge :
    • Locataire unique : seuls les utilisateurs de votre locataire Azure AD peuvent se connecter.
    • Multilocataire : les utilisateurs de n'importe quel locataire Azure AD peuvent se connecter.
    • Multilocataire et comptes personnels : inclut les utilisateurs Azure AD et les comptes Microsoft personnels.

Apple Podcasts · Spotify · YouTube · YouTube Music

Use Managed Identity with PowerShell for Microsoft Graph (English)