PowerShell & Scripting
Azure PowerShell (Az-Modul)
Allgemeine Infos
Azure PowerShell ist die Sammlung offizieller PowerShell-Module, mit denen Du Azure-Ressourcen interaktiv oder per Skript verwaltest. Das Az-Modul ist ein Rollup-Modul: Es installiert Az.Accounts als Basis und über 100 dienstspezifische Module wie Az.Compute, Az.Network, Az.Storage oder Az.KeyVault. Die Cmdlets folgen dem Schema Verb-AzNomen (Get-AzVM, New-AzResourceGroup), rufen die API von Azure Resource Manager auf und decken Steuerungs- und Datenebene ab.
Microsoft aktualisiert Az monatlich, Breaking Changes kommen in höchstens zwei Hauptversionen pro Jahr. Aktuell ist Version 16.4.0 vom 6. Oktober 2026. Unterstützt wird nur die jeweils neueste Neben- und Patchversion, eine Hauptversion erhält rund sechs Monate Support (Standard Term Support). Seit September 2025 verlangt Azure PowerShell bei der Anmeldung mit einem Entra-Benutzerkonto Multifaktor-Authentifizierung. Der Vorgänger AzureRM mit *-AzureRM*-Cmdlets ist laut Microsoft veraltet und wird weder gepflegt noch unterstützt, das Paket AzPreview enthält zusätzlich Preview-Module und ist nicht für Produktion gedacht.
Abgrenzung: Die Azure CLI ist ein eigenständiges Befehlszeilenwerkzeug (az) mit eigener Syntax, Azure PowerShell liefert .NET-Objekte für die PowerShell-Pipeline. Das Graph PowerShell SDK und Microsoft Entra PowerShell verwalten Entra ID und Microsoft 365, Microsoft zählt sie ausdrücklich nicht zu Azure PowerShell. Bicep und ARM-Templates beschreiben Ressourcen deklarativ, Azure PowerShell arbeitet Schritte imperativ ab. Azure Automation ist eine Plattform, auf der Az-Skripte als Runbooks laufen.
Funktionsweise & Details
Der typische Ablauf:
- Installation: Unter PowerShell 7 (empfohlen) per Install-Module -Name Az -Repository PSGallery. Für Windows PowerShell 5.1 gibt es zusätzlich einen MSI-Installer, der .NET Framework 4.7.2 oder neuer voraussetzt. In Azure Cloud Shell und in den Docker-Images ist Az vorinstalliert.
- Anmeldung: Connect-AzAccount meldet Dich interaktiv an, unter Windows standardmäßig über den Web Account Manager (WAM). Für Automatisierung gibt es -Identity für Managed Identities, -ServicePrincipal mit -ApplicationId und -CertificateThumbprint für Dienstprinzipale, -FederatedToken für Token eines vertrauten Identitätsanbieters sowie -UseDeviceAuthentication für die Anmeldung per Gerätecode.
- Kontext: Nach der Anmeldung arbeiten die Cmdlets gegen das Standardabonnement, Set-AzContext wechselt Abonnement oder Tenant. Mit Kontextpersistenz bleibt die Anmeldung über Sitzungen hinweg erhalten.
- Befehle finden: Get-Command -Verb Get -Noun AzVM* -Module Az.Compute listet passende Cmdlets. Die Rückgaben sind .NET-Objekte, die Du per Get-Member untersuchst.
- Pflege: Update-Module -Name Az holt die neue Version, entfernt alte Versionen aber nicht. Disable-AzDataCollection schaltet die standardmäßig aktive Telemetrie ab.
Vorteile & Nutzen
- Objektorientiert: Ergebnisse sind .NET-Objekte, die Du filterst, sortierst und an andere Cmdlets weiterreichst, statt Textausgaben zu zerlegen
- Breite Abdeckung: Über 100 Dienstmodule decken fast alle Azure-Dienste ab, einschließlich Datenebene wie Key-Vault-Geheimnisse oder Storage-Inhalte
- Plattformübergreifend: Dieselben Skripte laufen unter Windows, Linux, macOS, in Cloud Shell und in Containern
- Sichere Automatisierung: Managed Identities und Dienstprinzipale mit Zertifikat ersetzen gespeicherte Passwörter in Runbooks und Pipelines
- Planbare Änderungen: Breaking Changes sind auf höchstens zwei Hauptversionen pro Jahr begrenzt, das erleichtert die Pflege von Skripten
Praxisbeispiel
Ein Ingenieurdienstleister mit 250 Mitarbeitenden betreibt rund 40 virtuelle Maschinen in Azure, von denen die Test- und Entwicklungs-VMs nachts ungenutzt laufen. Die IT schreibt ein Skript mit Get-AzVM und Stop-AzVM, das VMs anhand eines Tags abends herunterfährt, und lässt es als Runbook in Azure Automation laufen. Die Anmeldung erfolgt per Connect-AzAccount -Identity über die Managed Identity des Automation-Kontos, die nur auf die betroffenen Ressourcengruppen berechtigt ist. Im Skript liegen keine Passwörter, und die Rechenkosten der Test-VMs sinken spürbar.
Worauf sollte man achten?
- Wenn Ladezeit und Plattenplatz zählen, nur die benötigten Untermodule wie Az.Accounts und Az.Compute installieren statt des kompletten Rollups mit über 100 Modulen
- Skripte mit Benutzername und Passwort scheitern an der MFA-Pflicht seit September 2025: Auf Managed Identity, Dienstprinzipal mit Zertifikat oder Federated Token umstellen
- Vor dem Wechsel auf eine neue Hauptversion den Migrationsleitfaden lesen, Skripte in einer Testumgebung laufen lassen und Versionen auf Automatisierungsservern festschreiben
- Vor der Installation mit Get-Module -Name AzureRM -ListAvailable nach Altbeständen suchen und AzureRM-Skripte auf Az-Cmdlets umstellen
- Microsoft baut die Microsoft Artifact Registry als vertrauenswürdige Quelle für eigene Module auf, Az.Accounts ist dort bereits per PSResourceGet installierbar
Lizenz & Verfügbarkeit
Azure PowerShell ist kostenlos, der Quellcode liegt auf GitHub (Azure/azure-powershell). Kosten entstehen nur für die verwalteten Ressourcen im jeweiligen Azure-Abonnement. Unterstützt werden PowerShell 7 (empfohlen) und Windows PowerShell 5.1, jeweils nur innerhalb ihres eigenen Lebenszyklus, Az 14.x und älter ist außer Support. Stand: Oktober 2026.
Fazit
Azure PowerShell ist die erste Wahl, wenn Du Azure aus PowerShell heraus automatisierst und Ergebnisse als Objekte weiterverarbeiten willst. Halte das Modul aktuell und stelle Automatisierungen auf Managed Identities oder Zertifikate um.
Weiterführende Links
Verwandte Artikel
PHscripts.de | PSscripts.de
PowerShell 7: Module und WPF‑GUIs – ein Praxisleitfaden
PowerShell
PowerShell | Artifact Registry ersetzt PowerShell Gallery
Microsoft 365
MS365 Entra ID | Enterprise Apps - User Consent deaktivieren & Audit per PowerShell
Microsoft Entra ID