Eine kleine aber feine Änderung die es gibt. Wer es kennt, wer es nutzt, die Azure CLI PowerShell.
Ich habe für ein anderes Projekt ein PowerShell Modul gebaut, das die verschiedensten AzureRM* Module verwendet, z.B. New-AzureRMVM. So, nun war es relativ einfach, dieses Modul in die Azure Cloud Shell zu konvertieren. Die Befehle waren bis dato immer gleich. Bis dato.
Jetzt heißen die Befehle in der Azure Cloud Shell aber anders, z.B. anstatt New-AzureRMVM, New-AZVM.
Hier der wertvolle Input:
Hey Dennis, the new Az module has an Enable-AzureRmAlias cmdlet that will aliases for the new *-Az* cmdlets back to the *-AzureRm* cmdlets to avoid breaking existing scripts. Would you mind giving that a try and letting me know if you have any other issues?
— Cormac McCarthy (@cormacpayne) 20. September 2018
Also einmal folgenden Befehl auf der Azure Cloud Shell ausführen, und alles sollte wieder gehen:
Enable-AzureRmAlias
Danke Cormac McCarthy 🙂
Module
Einzig was noch passieren kann, ist wenn man die Module importiert oder überprüft, dass es an der Stelle fehlschlägt. Das geht nicht über einen Alias, also z.B.
# Original on-prem import-module AzureRM.Network -ErrorAction Stop # Later in Azure import-module AzureRM.Network.Netcore -ErrorAction Stop # This is it now import-module Az.Network -ErrorAction Stop
Was bleibt übrig? In meinem Fall habe ich ein eigenes Release für on-prem und ein eigenes für Cloud erstellt. Beides wird über ein Skript automatisch erstellt. Funktionen sind shared, so dass der Code nur einmal gewartet werden muss. Über den Enable-AzureRMAlias Befehl funktioneren die bestehenden Befehle weiterhin. Ein Beispiel gibt es hier: https://github.com/Hobmaier/VMD/blob/master/New-VMDPSModule.ps1
Zusammenfassung
Die Azure Cloud Shell entwickelt sich und wer mit der Preview begonnen hat, wundert sich über den ein oder anderen Namenswechsel der Module. Dennoch kann man viele Code-Teile wiederverwenden, wenn man die Aliase aktiviert.