Auswählen des richtigen Azure-Befehlszeilentools

Azure kann auf verschiedenste Weise verwaltet werden. In diesem Artikel werden die Azure CLI und die Azure PowerShell-Sprache sowie die Shellumgebungen, in denen sie ausgeführt werden, miteinander verglichen.

Die Funktionen von Azure CLI, Azure PowerShell und Azure Cloud Shell überschneiden sich zum Teil. Die Funktionsweise ist allerdings jeweils unterschiedlich, und die Sprache wird bisweilen mit der Umgebung verwechselt. In diesem Leitfaden erfahren Sie, welches Tool das richtige für Sie ist.

Welchen Vorteil hat die Verwendung eines Azure-Befehlszeilentools?

Azure basiert auf Automatisierungen. Jede Aktion, die Sie im Portal ausführen, hat die Ausführung von Code zur Folge, um Ressourcen zu lesen, zu erstellen, zu ändern oder zu löschen.

In Azure verringert sich zwar der Verwaltungsaufwand für Ihre Workload, einige Verwaltungsaufgaben müssen aber trotzdem noch ausgeführt werden. Mit zunehmender Nutzung von Azure erhöht sich auch der Aufwand. Zwar müssen Sie sich nicht um das Rechenzentrum kümmern, aber Dinge wie Patching und Problembehandlung für virtuelle Azure-Computer, Datenbankfailover oder das Konfigurieren virtueller Netzwerke stehen weiterhin auf der Tagesordnung.

Befehlszeilentools nutzen die bereits vorhandene Automatisierung für Azure und verringern so diesen Aufwand.

Worum handelt es sich bei Azure-Befehlszeilentools?

Azure-Befehlszeilentools automatisieren Routinevorgänge, standardisieren Datenbankfailover und pullen Daten, die wichtige Erkenntnisse liefern. Mit Befehlszeilentools können Sie nicht nur Ihre Aufgaben in Azure skalieren, sondern auch die Freigabe vereinfachen. Ein Skript lässt sich viel einfacher freigeben als eine lange Wiki-Seite mit zeitaufwendigen Screenshots.

Die Verwendung eines Azure-Befehlszeilentools ist nicht immer erforderlich, kann aber bisweilen hilfreich sein.

Vergleich von Azure CLI und Azure PowerShell

Azure CLI und Azure PowerShell sind Befehlszeilentools, mit denen Sie Azure-Ressourcen erstellen und verwalten können. Beide sind plattformübergreifend und unter Windows, macOS und Linux installierbar.

Azure-Befehlszeilenschnittstelle

  • Plattformübergreifende Befehlszeilenschnittstelle, installierbar unter Windows, macOS und Linux
  • Kann in Windows PowerShell, Cmd sowie in Bash und anderen Unix-Shells ausgeführt werden

Azure PowerShell

  • Plattformübergreifendes PowerShell-Modul, das unter Windows, macOS, Linux ausgeführt werden kann
  • Erfordert Windows PowerShell oder PowerShell

Verschiedene Shellumgebungen

Shellumgebung Azure CLI Azure PowerShell
Cmd Ja
Bash Ja
Windows PowerShell Ja Ja
PowerShell Ja Ja

Windows PowerShell, PowerShell, Cmd, und Bash sind Shellumgebungen. Ihre Shellumgebung bestimmt nicht nur, welche Tools Sie verwenden können, sondern hat auch Einfluss auf Ihre Befehlszeilenumgebung.

So wird beispielsweise in Bash ein umgekehrter Schrägstrich (\) als Zeilenfortsetzungszeichen verwendet, in Windows PowerShell dagegen ein Backtick (`). Die Unterschiede bei der Shellumgebung haben keine Auswirkung auf die Funktionsweise von Azure CLI und Azure PowerShell. Sie beeinflussen jedoch die Verwendung der Befehlszeile.

Azure CLI verfügt über ein Installationsprogramm, das die zugehörigen Befehle in allen vier Shellumgebungen ausführbar macht.

Bei Azure PowerShell handelt es sich um eine Reihe von Cmdlets, die als PowerShell-Modul namens Az verpackt sind, nicht als ausführbare Datei. Zum Installieren des Moduls Az muss Windows PowerShell oder PowerShell verwendet werden.

Windows PowerShell ist die standardmäßige Skriptshell, die bei den meisten Windows-Betriebssystemen vorinstalliert ist. PowerShell ist eine eigenständige Installation mit .NET Core als Runtime, was die Installation unter macOS, Linux und Windows ermöglicht.

Die wichtigsten Punkte:

  • AzureRM ist ein PowerShell-Modul, auf das weiterhin bei der Azure-Verwaltung mit PowerShell verwiesen wird. Es wurde jedoch durch Azure PowerShell ersetzt und wird offiziell am 29. Februar 2024 ausgemustert.

Wenn Sie AzureRM verwenden, können Sie Azure PowerShell von AzureRM zu Az migrieren.

Informationen zu Azure Cloud Shell

Azure Cloud Shell ist eine gehostete Shellumgebung, die in einem Ubuntu-Container ausgeführt wird.

Cloud Shell bietet zwei Shellumgebungen: Bash (mit Azure CLI vorinstalliert) und PowerShell (mit Azure PowerShell vorinstalliert). Über eine Dropdownliste im oberen Bereich des Cloud Shell-Fensters können Sie problemlos zwischen den beiden Umgebungen wechseln.

Cloud Shell ist über einen Webbrowser erreichbar und verfügt über Integrationen für Windows-Terminal und Visual Studio Code.

Azure CloudShell Bash and PowerShell environments

Hinweis

Möglicherweise spiegelt Azure Cloud Shell nicht immer direkt die neuesten Azure PowerShell- und Azure CLI-Versionen wider, da der Veröffentlichungszeitplan für alle drei Tools unterschiedlich ist. Im Allgemeinen wird jedoch davon ausgegangen, dass Azure Cloud Shell immer die neuesten Versionen beider Tools enthält.

Welches Azure-Befehlszeilentool ist das richtige für Sie?

Berücksichtigen Sie bei der Wahl des richtigen Tools Ihre bisherige Erfahrung sowie die aktuelle Arbeitsumgebung.

Die Azure CLI-Syntax ähnelt der Syntax von Bash-Skripts. Wenn Sie in erster Linie mit Linux-Systemen arbeiten, bietet Ihnen die Azure CLI eine vertrautere Erfahrung.

Azure PowerShell ist ein PowerShell-Modul. Wenn Sie in erster Linie mit Windows-Systemen arbeiten, ist Azure PowerShell die bessere Wahl für Sie. Die Befehle basieren auf einer Verb-Nomen-Namenskonvention, und Daten werden als Objekte zurückgegeben.

Entscheiden Sie sich für das Tool, das besser zu Ihrer Erfahrung passt und Ihre Einarbeitungszeit verkürzt. Nutzen Sie Microsoft Learning, um sich mit der Verwaltung von Azure über die Befehlszeile vertraut zu machen.

Es schadet jedoch nichts, auch für andere Methoden offen zu sein. Verwenden Sie ein anderes Tool, wenn es sinnvoll ist.

Die wichtigsten Punkte:

  • Zwischen Azure CLI und Azure PowerShell ist nicht immer Featureparität für Azure-Dienste gegeben.

Gegenüberstellung von Azure CLI- und Azure PowerShell-Befehlen

Befehle für Anmeldung, Abonnement und Standort:

Get-Help Azure CLI Azure PowerShell
Über Webbrowser anmelden az login Connect-AzAccount
Verfügbare Abonnements abrufen az account list Get-AzSubscription
Abonnement festlegen az account set – -subscription <Abonnement-ID> Set-AzContext -Subscription <Abonnement-ID>
Azure-Standorte auflisten az account list-locations Get-AzLocation

Suchen nach Versionen, Anzeigen der Hilfe und Anzeigen der Befehlshilfe:

Get-Help Azure CLI Azure PowerShell
Version suchen az --version Get-InstalledModule -Name Az
Hilfe erhalten az --help Get-Help
Befehlshilfe anzeigen az vm --help Get-Help -Name New-AzVM

Erstellen einer Ressourcengruppe, eines virtuellen Computers und eines Speicherkontos:

Get-Help Azure CLI Azure PowerShell
Ressourcengruppe erstellen az group create --name <Ressourcengruppenname> --location eastus New-AzResourceGroup -Name <Ressourcengruppenname> -Location eastus
Erstellen eines virtuellen Azure-Computers az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Kennwort>' New-AzVM -ResourceGroupName <Ressourcengruppenname> -Name myVM -Image UbuntuLTS -Credential (Get-Credential)
Erstellen eines Azure-Speicherkontos az storage account create --name <Speicherkontoname> --resource-group <Ressourcengruppenname> --location eastus --sku Standard_LRS --kind StorageV2 New-AzStorageAccount -Name <Speicherkontoname> -ResourceGroupName <Ressourcengruppenname> -Location eastus -SkuName Standard_LRS -Kind StorageV2

Verwalten virtueller Azure-Computer:

Get-Help Azure CLI Azure PowerShell
VM auflisten az vm list Get-AzVM
VM neu starten az vm restart --name myVM --resource-group <Ressourcengruppenname> Restart-AzVM -Name myVM -ResourceGroupName <Ressourcengruppenname>
Beenden der VM az vm stop --name myVM --resource-group <Ressourcengruppenname> Stop-AzVM -Name myVM -ResourceGroupName <Ressourcengruppenname>
VM beenden und Zuordnung aufheben az vm deallocate --name myVM --resource-group <Ressourcengruppenname> Stop-AzVM -Name myVM -ResourceGroupName <Ressourcengruppenname>
VM starten az vm start --name myVM --resource-group <Ressourcengruppenname> Start-AzVM -Name myVM -ResourceGroupName <Ressourcengruppenname>
Löschen eines virtuellen Computers az vm delete --name myVM --resource-group <Ressourcengruppenname> Remove-AzVM -Name myVM -ResourceGroupName <Ressourcengruppenname>

Auswählen von Eigenschaften und Ändern von Ausgabeformaten:

Get-Help Azure CLI Azure PowerShell
Alle Abonnementinformationen anzeigen az account list --all Get-AzSubscription | Select-Object -Property *
Als Tabelle ausgeben az account list -o table Get-AzSubscription | Format-Table
Als JSON ausgeben az account show Get-AzSubscription | ConvertTo-Json

Die wichtigsten Punkte:

Nächste Schritte

Azure CLI:

Azure PowerShell: