Dela via


Välj rätt Kommandoradsverktyg för Azure

När det gäller att hantera Azure har du många alternativ. Den här artikeln jämför språket Azure CLI och Azure PowerShell och ger en jämförelse av de gränssnittsmiljöer som de körs på.

Azure CLI, Azure PowerShell och Azure Cloud Shell har överlappande funktioner. Var och en fungerar på olika sätt, och språket förväxlas ibland med miljön. Använd den här guiden för att avgöra vilket som är rätt verktyg åt dig.

Vad är fördelen med att använda ett Azure-kommandoradsverktyg?

Azure drivs av automatisering. Varje åtgärd du vidtar i portalen översätts någonstans till kod som körs för att läsa, skapa, ändra eller ta bort resurser.

Att flytta din arbetsbelastning till Azure lyfter en del av den administrativa bördan, men inte alla. I takt med att din implementeringstakt med Azure ökar kommer även kostnaderna att öka. Även om du inte behöver oroa dig för datacentret måste du fortfarande korrigera och felsöka virtuella Azure-datorer, redundansdatabaser och konfigurera virtuella nätverk.

Genom att använda den befintliga automatiseringen som kör Azure minskar kommandoradsverktygen den kostnaden.

Vad är Kommandoradsverktyg i Azure?

Azures kommandoradsverktyg automatiserar rutinåtgärder, standardiserar databasredundans och hämtar data som ger kraftfull insikt. Kommandoradsverktyg ger dig inte bara möjlighet att skala dina uppgifter i Azure, utan de gör också mycket enklare att dela. Att dela ett skript är mycket enklare än en lång wiki-sida med tidskrävande skärmbilder.

Det är inte alltid nödvändigt att använda ett Azure-kommandoradsverktyg, men det är en användbar färdighet att ha.

Azure CLI jämfört med Azure PowerShell

Azure CLI och Azure PowerShell är kommandoradsverktyg som gör att du kan skapa och hantera Azure-resurser. Båda är plattformsoberoende och kan installeras i Windows, macOS och Linux.

Azure CLI

  • Plattformsoberoende kommandoradsgränssnitt som kan installeras på Windows, macOS, Linux
  • Körs i Windows PowerShell, Cmd eller Bash och andra Unix-gränssnitt.

Azure PowerShell

  • Plattformsoberoende PowerShell-modul, körs på Windows, macOS, Linux
  • Kräver antingen Windows PowerShell eller PowerShell

Olika gränssnittsmiljöer

Shell-miljö Azure CLI (kommandoradsgränssnittet för Azure) Azure PowerShell
Cmd Ja
Smäll Ja
Windows PowerShell Ja Ja
PowerShell Ja Ja

Windows PowerShell, PowerShell, Cmd och Bash är gränssnittsmiljöer. Gränssnittsmiljön avgör inte bara vilka verktyg du kan använda, utan ändrar även kommandoradsmiljön.

För linjefortsättningstecknet använder Bash till exempel omvänt snedstreck \ medan Windows PowerShell använder backtick `. Skillnaderna i shell-miljön ändrar inte hur Azure CLI och Azure PowerShell fungerar. De ändrar dock din kommandoradsupplevelse.

Azure CLI har ett installationsprogram som gör dess kommandon körbara i alla fyra gränssnittsmiljöerna.

Azure PowerShell är en uppsättning cmdletar som paketeras som en PowerShell-modul med namnet Az; inte en körbar fil. Windows PowerShell eller PowerShell måste användas för att installera modulen Az .

Windows PowerShell är standardskriptgränssnittet som är förinstallerat med de flesta Windows-operativsystem. PowerShell är en fristående installation som använder .NET Core som körningstid, vilket gör att den kan installeras på macOS, Linux och Windows.

Viktiga punkter:

  • AzureRM är en PowerShell-modul som fortfarande refereras för Azure-administration med PowerShell. Den har dock ersatts av Azure PowerShell och har ett officiellt slutdatum för pensionering den 29 februari 2024.

Om du använder AzureRM kan du migrera Azure PowerShell från AzureRM till Az.

Hur är det med Azure Cloud Shell?

Azure Cloud Shell är en värdbaserad gränssnittsmiljö som körs på en Ubuntu-container.

Cloud Shell tillhandahåller två gränssnittsmiljöer: Bash (med Azure CLI förinstallerat) och PowerShell (med Azure PowerShell förinstallerat). Med en listruta överst i Cloud Shell-fönstret kan du enkelt växla mellan de två miljöerna.

Cloud Shell är tillgängligt i en webbläsare och har integreringar för Windows Terminal och Visual Studio Code.

Azure CloudShell Bash- och PowerShell-miljöer

Anmärkning

Azure Cloud Shell kanske inte alltid direkt återspeglar de senaste Versionerna av Azure PowerShell och Azure CLI eftersom publiceringsschemat för alla tre verktygen skiljer sig åt. Azure Cloud Shell tros dock vanligtvis alltid innehålla de senaste versionerna av båda verktygen.

Vilket Kommandoradsverktyg i Azure passar dig?

När du väljer rätt verktyg bör du tänka på din tidigare erfarenhet och aktuella arbetsmiljö.

Azure CLI-syntaxen liknar bash-skript. Om du främst arbetar med Linux-system känns Azure CLI mer naturligt.

Azure PowerShell är en PowerShell-modul. Om du främst arbetar med Windows-system passar Azure PowerShell naturligt. Kommandon följer ett verb-substantiv namngivningsschema och data returneras som objekt.

Välj det verktyg som använder din upplevelse och förkortar inlärningskurvan. Dra nytta av Microsofts utbildning för att bli skicklig på att hantera Azure på kommandoraden.

Med det sagt, att vara öppensinnad kommer bara att förbättra dina förmågor. Använd ett annat verktyg när det är logiskt.

Viktiga punkter:

  • Funktionsparitet för Azure-tjänster finns inte alltid mellan Azure CLI och Azure PowerShell.

Azure CLI jämfört med Azure PowerShell: Kommandojämförelse sida vid sida

Inloggnings-, prenumerations- och platskommandon:

Befallning Azure CLI (kommandoradsgränssnittet för Azure) Azure PowerShell
Logga in med webbläsare az login Connect-AzAccount
Hämta tillgängliga prenumerationer az-konto lista Get-AzSubscription
Ange prenumeration Använd `az account set --subscription <SubscriptionId>` för att ställa in den specifika prenumerationen du vill använda. <Set-AzContext -Subscription Prenumerations-ID>
Lista Azure-platser az account list-locations Get-AzLocation

Hitta versioner, få hjälp och visa kommandohjälp:

Befallning Azure CLI (kommandoradsgränssnittet för Azure) Azure PowerShell
Hitta version az --version Get-InstalledModule -Name Az
Få hjälp az --help Få hjälp
Visa kommandohjälp az vm --help Get-Help -Name New-AzVM

Skapa en resursgrupp, virtuell dator och ett lagringskonto:

Befallning Azure CLI (kommandoradsgränssnittet för Azure) Azure PowerShell
Skapa resursgrupp az group create --name <ResourceGroupName> --location eastus (Skapar en resursgrupp med namnet angivet i "ResourceGroupName" på platsen 'eastus') <New-AzResourceGroup -Name ResourceGroupName> -Location eastus
Skapa en virtuell Azure-dator az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Password>' <New-AzVM -ResourceGroupName ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential)
Skapa ett Azure Storage-konto Detta kommando skapar ett nytt Azure-lagringskonto med namnet "StorageAccountName" inom resursgruppen "ResourceGroupName" i regionen 'eastus', med 'Standard_LRS' som SKU och 'StorageV2' som typ: az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 New-AzStorageAccount -Name <StorageAccountName> -ResourceGroupName <ResourceGroupName> -Plats eastus -SkuNamn Standard_LRS -Typ StorageV2

Hantera virtuella Azure-datorer:

Befallning Azure CLI (kommandoradsgränssnittet för Azure) Azure PowerShell
Visa lista över virtuella datorer az vm lista Get-AzVM
Starta om virtuell dator az vm restart --name myVM --resource-group <ResourceGroupName> Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Stoppa virtuell dator az vm stop --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Stoppa och frigöra virtuell maskin az vm deallocate --name myVM --resource-group <ResourceGroupName> Kommentar: Kommandot "az vm deallocate" stänger av en virtuell maskin (VM) i Azure utan att radera den, vilket frigör resurser i resursgruppen som heter ResourceGroupName. Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Starta VM az vm start --name myVM --resource-group <ResourceGroupName> Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Ta bort virtuell dator az vm delete --name myVM --resource-group <ResourceGroupName> # Kommandorad för att ta bort en virtuell maskin Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>

Välj Egenskaper och Ändra utdataformat:

Befallning Azure CLI (kommandoradsgränssnittet för Azure) Azure PowerShell
Visa all prenumerationsinformation az konto lista --alla Get-AzSubscription | Select-Object -Property *
Utdata som en tabell az account list -o table Get-AzSubscription | Format-Table
Utdata som JSON az account show Get-AzSubscription | ConvertTo-Json

Viktiga punkter:

Nästa steg

Azure CLI:

Azure PowerShell: