Övning – Skapa en Azure-resurs interaktivt med Azure PowerShell
I det ursprungliga scenariot måste du skapa virtuella datorer (VM) för att testa crm-programvaran (Customer Relationship Management). När en ny version är tillgänglig vill du starta en ny virtuell dator för att testa hela installationsupplevelsen från en ren avbildning. När testningen är klar kan du ta bort den virtuella datorn.
Nu ska vi prova kommandona för att skapa en virtuell dator.
Skapa en virtuell Linux-dator med Azure PowerShell
Eftersom du använder Sandbox-miljön i Azure behöver du inte skapa en resursgrupp. Använd i stället den befintliga sandbox-resursgruppen
Så här skapar du en ny virtuell Azure-dator med Azure PowerShell:
Använd cmdleten
New-AzVM
för att skapa den virtuella datorn.Ange sandbox-resursgruppen: [resursgruppsnamn för sandbox-miljö]
. Namnge den virtuella datorn enligt organisationens namngivningsstandarder.
Välj en plats nära dig i listan över tillgängliga Azure Sandbox-platser.
- westus2
- USA, södra centrala
- centralus
- eastus
- Europa, västra
- Asien, sydöstra
- Japan, östra
- Brasilien, södra
- Australien, sydöstra
- centralindia
Använd Ubuntu Linux-avbildningen:
Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest
.Använd cmdleten
Get-Credential
för att ange autentiseringsuppgifterna för den virtuella datorns administratör.Lägg till parametern OpenPorts med port
22
för SSH-åtkomst.Skapa ett offentligt IP-adressnamn för SSH-inloggning.
$azVmParams = @{ ResourceGroupName = '<rgn>[sandbox resource group name]</rgn>' Name = 'testvm-eus-01' Credential = (Get-Credential) Location = 'eastus' Image = 'Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest' OpenPorts = 22 PublicIpAddressName = 'testvm-eus-01' } New-AzVm @azVmParams
Dricks
Du kan använda knappen Kopiera till att kopiera kommandon till Urklipp. Om du vill klistra in högerklickar du på en ny rad i Cloud Shell-terminalen och väljer Klistra in eller använder kortkommandot Skift+Insert (⌘+V på macOS).
Ange autentiseringsuppgifter:
När du uppmanas till det anger du ett användarnamn och lösenord enligt riktlinjerna: lösenord måste vara 12–123 tecken långa och uppfylla tre av följande fyra komplexitetskrav: gemener, versaler, siffror och specialtecken (Regex matchar [\W_]). Mer information finns i Vanliga frågor och svar om virtuella Linux-datorer.
Vänta tills den virtuella datorn har skapats:
Det tar några minuter att skapa den virtuella datorn.
Fråga den virtuella datorn:
När du är klar frågar du den virtuella datorn och tilldelar VM-objektet till en variabel (
$vm
).$vm = Get-AzVM -Name testvm-eus-01 -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
Visa information om den virtuella datorn:
Om du vill visa information om den virtuella datorn visar du innehållet i variabeln.
$vm
Exempel på utdata>
ResourceGroupName : <rgn>[sandbox resource group name]</rgn> Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/<rgn>[sandbox resource group name]</rgn>/providers/Microsoft.Compute/virtualMachines/testvm-eus-01 VmId : 00000000-0000-0000-0000-000000000000 Name : testvm-eus-01 Type : Microsoft.Compute/virtualMachines Location : eastus Tags : {} HardwareProfile : {VmSize} NetworkProfile : {NetworkInterfaces} OSProfile : {ComputerName, AdminUsername, LinuxConfiguration, Secrets} ProvisioningState : Succeeded StorageProfile : {ImageReference, OsDisk, DataDisks} ...
Granska egenskaper för virtuella datorer:
Du kan inspektera komplexa objekt via operatorn för medlemsåtkomst (
.
). Om du till exempel vill se egenskaperna i objektetVMSize
som är associerat med avsnittet HardwareProfile kör du följande kommando:$vm.HardwareProfile
Du kan också hämta information om någon av diskarna genom att köra följande kommando:
$vm.StorageProfile.OsDisk
Hämta tillgängliga VM-storlekar:
Skicka VM-objektet till andra cmdletar för att få tillgängliga storlekar:
$vm | Get-AzVMSize
Hämta den offentliga IP-adressen:
Hämta den offentliga IP-adressen för att ansluta till den virtuella datorn och lagra den i en variabel.
$ip = Get-AzPublicIpAddress -ResourceGroupName <rgn>[sandbox resource group name]</rgn> -Name testvm-eus-01
Anslut till den virtuella datorn:
Anslut till den virtuella datorn med SSH med hjälp av IP-adressen från variabeln. Om användarnamnet till exempel är
bob
använder du följande kommando:ssh bob@$($ip.IpAddress)
Logga ut genom att skriva avsluta.
Ta bort en virtuell dator
Om du vill prova fler kommandon tar vi bort den virtuella datorn. Följ de här stegen:
Stäng av den virtuella datorn:
Kör följande kommando:
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort den virtuella datorn:
När den virtuella datorn stoppas tar du bort den genom att köra cmdleten
Remove-AzVM
.Remove-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Visa en lista över alla resurser i resursgruppen:
Använd cmdleten
Get-AzResource
för att visa en lista över alla resurser i resursgruppen. Resultatet skickas till för attSelect-Object
returnera specifika egenskaper:Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupName
Du bör se flera resurser, inklusive diskar, virtuella nätverk osv., som fortfarande finns:
Name ResourceType ResourceGroupName ---- ------------ ----------------- cloudshell Microsoft.Storage/storageAccounts <rgn>[sandbox resource group name]</rgn> testvm-eus-01 Microsoft.Network/virtualNetworks <rgn>[sandbox resource group name]</rgn> testvm-eus-01 Microsoft.Network/publicIPAddresses <rgn>[sandbox resource group name]</rgn> testvm-eus-01 Microsoft.Network/networkSecurityGroups <rgn>[sandbox resource group name]</rgn> testvm-eus-01 Microsoft.Network/networkInterfaces <rgn>[sandbox resource group name]</rgn> testvm-eus-01_OsDisk_1 Microsoft.Compute/disks <rgn>[sandbox resource group name]</rgn>
Kommandot
Remove-AzVM
tar bara bort den virtuella datorn. Den rensar inte någon av de andra resurserna. Om du vill rensa dem manuellt följer du dessa steg:Ta bort nätverksgränssnittet:
Get-AzNetworkInterface -ResourceGroupName $vm.ResourceGroupName -Name $vm.Name | Remove-AzNetworkInterface
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort nätverkssäkerhetsgruppen:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroup
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort den offentliga IP-adressen:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddress
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort det virtuella nätverket:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetwork
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort de hanterade OS-diskarna:
Get-AzDisk -ResourceGroupName $vm.ResourceGroupName -DiskName $vm.StorageProfile.OSDisk.Name | Remove-AzDisk
Ange Y och tryck på Retur när du uppmanas att fortsätta.
Kontrollera att alla resurser har tagits bort:
Kontrollera resursgruppen för att se till att alla resurser tas bort:
Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupName
Medan du har kört dessa kommandon interaktivt är en bättre metod att skriva ett PowerShell-skript. Med skript kan du återanvända logiken för att skapa eller ta bort en virtuell dator i framtiden
Nu ska vi titta på hur du automatiserar dessa uppgifter med hjälp av ett PowerShell-skript.