Ö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.
Anmärkning
Den här övningen är valfri. Om du vill slutföra den här övningen måste du skapa en Azure-prenumeration innan du börjar. Om du inte har något Azure-konto eller om du inte vill skapa ett för tillfället kan du läsa igenom anvisningarna så att du förstår den information som visas.
Anmärkning
Du måste använda en resursgrupp för att slutföra stegen i den här övningen. Du kan använda en resursgrupp som du redan har skapat eller skapa en ny resursgrupp specifikt för den här övningen. Om du väljer att skapa en ny resursgrupp blir det enklare att rensa alla resurser som du skapar när du slutför övningen. Om du inte har någon befintlig resursgrupp eller om du vill skapa en ny specifikt för den här övningen kan du följa stegen i Använda Azure-portalen och Azure Resource Manager för att hantera resursgrupper för att skapa en resursgrupp med hjälp av Azure-portalen, eller så kan du följa stegen i Hantera Azure-resursgrupper med hjälp av Azure CLI för att skapa en resursgrupp med hjälp av Azure CLI.
Skapa en virtuell Linux-dator med Azure PowerShell
Så här skapar du en ny virtuell Azure-dator med Azure PowerShell:
Använd cmdleten
New-AzVMför att skapa den virtuella datorn.- Ange resursgruppen för den virtuella datorn.
- Namnge den virtuella datorn enligt organisationens namngivningsstandarder.
- Välj en plats nära dig i listan över tillgängliga Azure-regioner.
- Använd Ubuntu Linux-avbildningen:
Canonical:0001-com-ubuntu-server-jammy:22_04-lts:latest. - Använd cmdleten
Get-Credentialför att ange autentiseringsuppgifterna för den virtuella datorns administratör. - Lägg till parametern OpenPorts med port
22för SSH-åtkomst. - Skapa ett offentligt IP-adressnamn för SSH-inloggning.
$azVmParams = @{ ResourceGroupName = 'myResourceGroupName' 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 @azVmParamsErsätt myResourceGroupName i föregående exempel med namnet på en befintlig resursgrupp eller namnet på den resursgrupp som du skapade för den här övningen.
Dricks
Du kan använda knappen Kopiera för 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 myResourceGroupNameVisa information om den virtuella datorn:
Om du vill visa information om den virtuella datorn visar du innehållet i variabeln.
$vmExempel på utdata>
ResourceGroupName : myResourceGroupName Id : /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroupName/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 objektetVMSizesom är associerat med avsnittet HardwareProfile kör du följande kommando:$vm.HardwareProfileDu kan också hämta information om någon av diskarna genom att köra följande kommando:
$vm.StorageProfile.OsDiskHämta tillgängliga VM-storlekar:
Skicka VM-objektet till andra cmdletar för att få tillgängliga storlekar:
$vm | Get-AzVMSizeHä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 myResourceGroupName -Name testvm-eus-01Anslut 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
bobanvä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.ResourceGroupNameAnge 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.ResourceGroupNameAnge Y och tryck på Retur när du uppmanas att fortsätta.
Visa en lista över alla resurser i resursgruppen:
Använd cmdleten
Get-AzResourceför att visa en lista över alla resurser i resursgruppen. Resultatet skickas till för attSelect-Objectreturnera specifika egenskaper:Get-AzResource -ResourceGroupName $vm.ResourceGroupName | Select-Object -Property Name, ResourceType, ResourceGroupNameDu bör se flera resurser, inklusive diskar, virtuella nätverk osv., som fortfarande finns:
Name ResourceType ResourceGroupName ---- ------------ ----------------- cloudshell Microsoft.Storage/storageAccounts myResourceGroupName testvm-eus-01 Microsoft.Network/virtualNetworks myResourceGroupName testvm-eus-01 Microsoft.Network/publicIPAddresses myResourceGroupName testvm-eus-01 Microsoft.Network/networkSecurityGroups myResourceGroupName testvm-eus-01 Microsoft.Network/networkInterfaces myResourceGroupName testvm-eus-01_OsDisk_1 Microsoft.Compute/disks myResourceGroupNameKommandot
Remove-AzVMtar 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-AzNetworkInterfaceAnge Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort nätverkssäkerhetsgruppen:
Get-AzNetworkSecurityGroup -ResourceGroupName $vm.ResourceGroupName | Remove-AzNetworkSecurityGroupAnge Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort den offentliga IP-adressen:
Get-AzPublicIpAddress -ResourceGroupName $vm.ResourceGroupName | Remove-AzPublicIpAddressAnge Y och tryck på Retur när du uppmanas att fortsätta.
Ta bort det virtuella nätverket:
Get-AzVirtualNetwork -ResourceGroupName $vm.ResourceGroupName | Remove-AzVirtualNetworkAnge 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-AzDiskAnge 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.