Övning – Skapa Azure-resurser med Azure PowerShell med hjälp av ett skript
I den här lektionen fortsätter du med exemplet på ett företag som utvecklar Linux-administratörsverktyg. Målet är att använda virtuella Linux-datorer (VM) för att tillåta potentiella kunder att testa din programvara. När en resursgrupp redan har konfigurerats är det dags att skapa de virtuella datorerna.
Ditt företag säkrade en monter på en stor Linux-mässa. Du planerar att konfigurera ett demoområde med tre terminaler som var och en är ansluten till en separat virtuell Linux-dator. Du måste ta bort de virtuella datorerna och återskapa dem i slutet av varje dag så att de börjar om varje morgon. Att skapa de virtuella datorerna manuellt efter en lång dag är felbenäget, så du måste skriva ett PowerShell-skript för att automatisera processen för att skapa virtuella datorer.
Skriva ett skript för att skapa virtuella datorer
Följ de här stegen för att skriva ett skript i Azure Cloud Shell som automatiserar skapandet av virtuella datorer.
Kommentar
Vanligtvis autentiserar du till Azure med dina autentiseringsuppgifter med Connect-AzAccount
, men i Cloud Shell är du redan autentiserad, så det här steget är onödigt.
Växla till din hemmapp:
Set-Location -Path $HOME
Skapa en ny PowerShell-skriptfil:
New-Item -Name ConferenceDailyReset.ps1 -ItemType File
Öppna den integrerade Visual Studio Code-redigeraren (VS Code):
code ./ConferenceDailyReset.ps1
Dricks
Den integrerade Cloud Shell-redigeraren stöder även vim, nano och emacs om du föredrar att använda någon av dessa redigerare.
Definiera en parameter för resursgruppens namn:
Lägg till följande rad i skriptet:
param ( [string]$ResourceGroupName )
Fråga efter autentiseringsuppgifter för VM-administratör:
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
Skapa en loop som ska köras tre gånger:
$vms = 'web','app','sql' foreach ($vm in $vms) { $vm }
I loopen returnerar du namnet på varje virtuell dator:
Write-Output "Creating VM: $vm"
Skapa en virtuell dator med hjälp av variabeln
$vm
:$azVmParams = @{ ResourceGroupName = $ResourceGroupName Name = $vm Credential = $adminCredential Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 } New-AzVm @azVmParams
Spara filen:
Om du vill spara skriptet använder du snabbmenyn med ellipser (
...
) i det övre högra hörnet i redigeraren eller ctrl + S-kortkommandot .
Slutfört skript
Det färdiga skriptet bör se ut som i följande exempel:
param (
[string]$ResourceGroupName
)
$adminCredential = Get-Credential -Message 'Enter a username and password for the VM administrator.'
$vms = 'web','app','sql'
foreach ($vm in $vms) {
Write-Output "Creating VM: $vm"
$azVmParams = @{
ResourceGroupName = $ResourceGroupName
Name = $vm
Credential = $adminCredential
Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest'
OpenPorts = 22
}
New-AzVm @azVmParams
}
När du har bekräftat att skriptet ser ut som koden i föregående exempel stänger du redigeraren med snabbmenyn med ellipsen (...
) längst upp till höger i redigeraren eller kortkommandot Ctrl +
Q .
Kör skriptet
Kör skriptet med följande kommando:
./ConferenceDailyReset.ps1 -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Vänta tills det är klart. Det tar flera minuter att slutföra skriptet.
Verifiera de virtuella datorerna. När skriptet är klart kontrollerar du att det har slutförts genom att visa en lista över de virtuella datorerna i resursgruppen:
Get-AzVM -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Du bör se tre virtuella datorer – var och en med ett unikt namn.
Du har skapat ett skript som automatiserar skapandet av tre virtuella datorer, var och en i en specifik resursgrupp, vilket säkerställer att de är redo för dagliga demonstrationer på mässan. Även om skriptet är kort och enkelt, påskyndar det avsevärt en process som annars skulle vara tidskrävande och felbenägen om den utförs manuellt via Azure-portalen.