Jean-Sébastien DUCHENE Blog's

Actualité, Tips, Articles sur l'ensemble des Technologies Microsoft (Microsoft Intune, ConfigMgr, Microsoft Defender, Microsoft Purview, Microsoft Azure, Windows...)

Microsoft a annoncé il y a quelques temps la fin de support des modules PowerShell AzureRM pour le 29 février 2024. Passée cette date, il est possible que les scripts ne soient plus fonctionnels. Si vous les utilisez, les propriétaires d’abonnements/subscriptions Azure ont dû recevoir des notifications par email pour les prévenir. J’avais longtemps fait trainer la mise à jour de quelques-uns de mes scripts que j’utilise une fois par an (en moyenne) et j’ai profité de cette période calme pour me pencher sur leur migration.

J’ai découvert avec surprise que Microsoft avait travaillé le sujet en proposant une mécanique de migration qui je l’avoue est relativement robuste. Cela s’est traduit par la conservation de la philosophie des cmdlets et des paramètres associés. Sur les quelques scripts sur lesquels je l’ai utilisé, la boite à outils de migration s’est révélée très performante.

Vous devez tout d’abord installer la boite à outils via la cmdlet :

Install-Module -Name Az.Tools.Migration

 

Vous devez ensuite lancer la commande suivante afin d’établir et évaluer le plan de migration :

New-AzUpgradeModulePlan -FromAzureRmVersion <Version AzureRM / En général 6.13.1> -ToAzVersion latest -DirectoryPath '<Chemin vers les scripts' -OutVariable Plan

Le résultat vous montre toutes les occurrences de cmdlets d’AzureRM, les lignes concernées, le type de mise à niveau et le résultat du plan de migration avec le remplacement associé. Dès lors que vous observez ReadyToUpgrade sur le résultat, vous pouvez être serein sur la mise à niveau.

Vous pouvez aussi utiliser la commande suivante si votre script comprend un très grand nombre d’occurrences de cmdlets, paramètres, etc. pour identifier celles et ceux qui pourraient poser problème :

$Plan | Where-Object PlanResult -ne ReadyToUpgrade | Format-List

 

L’étape suivante revient à lancer la dynamique de migration en utilisant la commande suivante et en observant le résultat de la migration :

Invoke-AzUpgradeModulePlan -Plan $Plan -FileEditMode SaveChangesToNewFiles -OutVariable Results

Vous pouvez aussi utiliser la commande suivante si votre script comprend un très grand nombre d’occurrences de cmdlets, paramètres, etc. pour identifier celles et ceux qui n’ont pas pu être migrés :

$Results | Where-Object UpgradeResult -ne UpgradeCompleted | Format-List

Une fois la migration terminée, vous pouvez ouvrir le script pour observer les changements et tenter d’exécuter le script pour valider son fonctionnement.

Plus d’informations sur : Automatically migrate PowerShell scripts from AzureRM to the Az PowerShell module | Microsoft Learn

 

Facebook Like