Microsoft Graph PowerShell v3 : fini Windows PowerShell 5.1

Microsoft Graph PowerShell v3 : fini Windows PowerShell 5.1 — illustration Ctrl+Alt+Prod (Microsoft Graph PowerShell v3)

Écrit par

dans

Si tes scripts d’administration M365 tournent encore sous Windows PowerShell 5.1 avec le module Microsoft.Graph, tu as jusqu’au quatrième trimestre 2026 pour changer ça. Dans un billet publié le 16 septembre 2026, l’équipe Microsoft 365 Dev a confirmé que la version 3.0.0 du Microsoft Graph PowerShell SDK n’aura plus de support explicite pour Windows PowerShell 5.1 — seul PowerShell 7.x restera maintenu.

Ce n’est pas une surprise brutale : Microsoft prépare le terrain depuis des mois avec le retrait progressif d’Azure AD PowerShell au profit de Graph. Mais c’est la première fois que la coupure entre les deux moteurs PowerShell est posée aussi clairement, avec un calendrier précis plutôt qu’une recommandation vague.

Ce qui change concrètement

La v3 change surtout l’outillage qui génère les cmdlets à partir du schéma de l’API Graph — l’équipe la présente comme « minimalement disruptive », l’essentiel de l’usage existant devant continuer à fonctionner tel quel. Des divergences volontaires sont prévues, elles seront documentées au fil des billets alpha et bêta à venir. Le changement qui compte vraiment pour toi est ailleurs : les modules v3.x ne cibleront que PowerShell 7.x — alors que la documentation officielle du SDK présente encore aujourd’hui la compatibilité avec Windows PowerShell 5.1 comme un avantage du produit.

Le calendrier annoncé tient en deux temps :

  • Maintenant à ~12 mois : période de retrait. La branche v2.x reste compatible avec Windows PowerShell 5.1 et continue de recevoir des correctifs de sécurité si nécessaire, mais les bugs spécifiques à 5.1 ne seront plus activement investigués.
  • Q4 2026 : sortie de la v3.0.0. Après ce point, plus aucune nouvelle version v2 n’est publiée, sauf correctif de sécurité critique.

Dans les commentaires du billet, Gavin Barron de l’équipe Graph précise que la v2.36.1 (ou plus récente) reste fonctionnelle sans limite de date connue, et que les versions antérieures à celle-ci ne peuvent déjà plus utiliser l’authentification interactive par navigateur (Interactive Browser Credential) — un détail qui pousse à une mise à jour immédiate, indépendamment de la question du support 5.1.

Pourquoi Microsoft fait ce choix

L’argument technique tient en une phrase : PowerShell 7.x, construit sur le .NET moderne, règle une bonne partie des problèmes de chargement d’assemblies et de conflits de dépendances qui touchent encore 5.1. La v2 du SDK utilisait déjà les Assembly Load Contexts de PowerShell Core pour limiter ces conflits — Microsoft reconnaît elle-même que ce n’est « pas une solution parfaite », et plusieurs commentateurs du billet signalent des conflits persistants quand Graph charge dans la même session que les modules Teams ou Exchange Online. Concentrer l’effort d’ingénierie sur un seul runtime plutôt que de maintenir deux chemins de compatibilité en parallèle, c’est ce qui doit permettre des correctifs plus rapides à l’avenir.

Ce que ça implique pour tes scripts

Si tu administres des tenants Microsoft 365 ou Entra ID via PowerShell, trois choses à vérifier dès maintenant plutôt qu’au moment où la v3 sort :

  • Vérifie ta version actuelle du module avec Get-InstalledModule Microsoft.Graph, et mets à jour vers au moins la 2.36.1 si tu es en dessous — l’authentification interactive en dépend déjà.
  • Si tes scripts tournent encore sous Windows PowerShell 5.1 (console powershell.exe, pas pwsh.exe), planifie leur portage vers PowerShell 7 maintenant. C’est généralement direct pour du code Graph pur, moins pour les scripts qui mélangent Graph avec des modules legacy comme ActiveDirectory ou certains modules IIS/Scheduled Task, dont la compatibilité avec PowerShell 7 reste incertaine selon les retours des lecteurs du billet.
  • Si tu exploites System Center Orchestrator 2025, le sujet est plus épineux : son activité de script .NET ne supporte que Windows PowerShell, et Microsoft n’a pour l’instant donné aucune réponse sur ce cas précis dans les commentaires du billet.
# Vérifier la version installée du SDK Graph
Get-InstalledModule Microsoft.Graph | Select-Object Name, Version

# Mettre à jour vers la dernière version disponible
Update-Module Microsoft.Graph

# Confirmer le moteur PowerShell utilisé (7.x attendu, pas 5.1)
$PSVersionTable.PSVersion

Pour la bascule elle-même, la documentation officielle sur la migration de Windows PowerShell 5.1 vers PowerShell 7 reste la référence à suivre : emplacement du profil différent, bascule du switch -UseWindowsPowerShell pour les modules encore incompatibles, et liste à jour des modules qui fonctionnent nativement en 7.x.

Une tendance plus large

Ce retrait de 5.1 côté Graph s’inscrit dans un mouvement de fond déjà documenté sur ce blog : la feuille de route 2026 de Microsoft pour PowerShell pousse clairement vers 7.x comme plateforme unique, et la Preview 5 de la 7.7 confirme que tout l’investissement produit se concentre désormais là. Windows PowerShell 5.1 n’est pas officiellement retiré de Windows — il reste là, maintenu via les canaux de support Windows standard — mais chaque module d’automatisation majeur qui lâche son support actif est un signal de plus qu’il est temps de migrer, pas une raison de paniquer.

FAQ

Mes scripts PowerShell 5.1 avec Graph vont-ils casser du jour au lendemain ?

Non. La v2.x continue de fonctionner sous 5.1 ; ce qui change, c’est que les bugs spécifiques à 5.1 ne seront plus corrigés activement, et qu’aucune nouvelle fonctionnalité Graph ne sera testée sur ce runtime au-delà de la v2.

Dois-je attendre la sortie de la v3 pour migrer vers PowerShell 7 ?

Non, l’inverse : migre maintenant, pendant que tu as le temps, plutôt que dans l’urgence quand la v3 sortira au T4 2026 et que la v2 cessera de recevoir des mises à jour.

Et pour Azure PowerShell ou le module Active Directory ?

Ces modules sont déjà listés comme compatibles PowerShell 7 par Microsoft. Le point de friction concerne surtout les modules plus anciens ou très spécialisés (certains modules IIS, Scheduled Task, ou l’activité .NET de System Center Orchestrator), à tester au cas par cas avant de basculer en production.

Pour la suite

Commence par un simple Get-InstalledModule Microsoft.Graph sur tes postes d’administration et tes serveurs de script — si tu es sous la 2.36.1, la mise à jour est gratuite et immédiate. Pour la bascule complète vers PowerShell 7, mieux vaut la traiter comme un projet planifié sur les prochains mois que comme un correctif de dernière minute à l’approche du T4 2026.

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *