Skapa virtuella datorer med Azure PowerShell
I den här självstudien får du lära dig alla steg som ingår i att konfigurera en virtuell dator med Azure PowerShell. Självstudien omfattar även utdatafrågor, återanvändning av Azure-resurser och resursrensning.
Den här självstudien kan slutföras med den interaktiva upplevelsen som erbjuds via Azure Cloud Shell, eller så kan du installera Azure PowerShell lokalt.
Använd ctrl-shift-v (cmd-shift-v på macOS) för att klistra in självstudietext i Azure Cloud Shell.
Logga in
Om du använder en lokal installation av Azure PowerShell måste du logga in innan du utför några andra steg.
Connect-AzAccount
Slutför inloggningsprocessen genom att följa stegen som visas i terminalen.
Skapa en resursgrupp
I Azure allokeras alla resurser i en resurshanteringsgrupp. Resursgrupper tillhandahåller logiska grupper av resurser som gör dem enklare att arbeta med som en samling.
I den här självstudien går alla skapade resurser till en enda grupp med namnet TutorialResources
.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
Skapa administratörsautentiseringsuppgifter för den virtuella datorn
Innan du kan skapa en ny virtuell dator måste du skapa ett autentiseringsobjekt som innehåller användarnamnet och lösenordet för administratörskontot för den virtuella Windows-datorn.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Ange användarnamnet och lösenordet när du uppmanas att göra det. Det resulterande objektet för autentiseringsuppgifter skickas som en parameter i nästa steg.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Skapa en virtuell dator
Virtuella datorer i Azure har ett stort antal beroenden. Azure PowerShell skapar dessa resurser åt dig baserat på de kommandoradsargument som du anger. För läsbarhet använder vi PowerShell-splattning för att skicka parametrar till Azure PowerShell-cmdletarna.
Skapa en ny virtuell dator som kör Windows.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
När den virtuella datorn skapas ser du de parametervärden som används och Azure-resurser som skapas. PowerShell visar ett förloppsfält enligt nedan.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
När den virtuella datorn är klar kan vi visa resultatet i Azure-portalen eller genom att granska variabeln $newVM1
.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM1
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
Egenskapsvärden som anges i klammerparenteser är kapslade objekt. I nästa steg visar vi hur du visar specifika värden i dessa kapslade objekt.
Hämta VM-information med frågor
Nu ska vi få mer detaljerad information från den virtuella dator som vi nyss skapade. I det här exemplet kontrollerar vi namnet på den virtuella datorn och det administratörskonto som vi skapade.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Vi kan använda andra Azure PowerShell-kommandon för att hämta specifik information om nätverkskonfigurationen.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
I det här exemplet använder vi PowerShell-pipelinen för att skicka objektet $newVM 1 till cmdleten Get-AzNetworkInterface
. Från det resulterande nätverksgränssnittsobjektet väljer vi det kapslade IpConfigurations-objektet. Från objektet IpConfigurations väljer vi egenskaperna Namn och PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
För att bekräfta att den virtuella datorn körs måste vi ansluta via Fjärrskrivbord. För det behöver vi känna till den offentliga IP-adressen.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
I det här exemplet använder vi Get-AzPublicIpAddress
och lagrar resultatet i variabeln $publicIp
. Från den här variabeln väljer vi egenskaper och använder ett uttryck för att hämta den kapslade Fqdn-egenskapen.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Från den lokala datorn kan du köra följande kommando för att ansluta till den virtuella datorn via Fjärrskrivbord.
mstsc.exe /v $publicIp.IpAddress
Mer information om att fråga efter objektegenskaper finns i Fråga efter Azure-resurser.
Skapa en ny virtuell dator i det befintliga undernätet
Den andra virtuella datorn använder det befintliga undernätet.
$vm2Params = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM2'
ImageName = 'Win2016Datacenter'
VirtualNetworkName = 'TutorialVM1'
SubnetName = 'TutorialVM1'
PublicIpAddressName = 'tutorialPublicIp2'
Credential = $cred
OpenPorts = 3389
}
$newVM2 = New-AzVM @vm2Params
$newVM2
ResourceGroupName : TutorialResources
Id : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 00000000-0000-0000-0000-000000000000
Name : TutorialVM2
Type : Microsoft.Compute/virtualMachines
Location : eastus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : tutorialvm2-dfa5af.eastus.cloudapp.azure.com
Du kan hoppa över några steg för att hämta den offentliga IP-adressen för den nya virtuella datorn eftersom den returneras i egenskapen FullyQualifiedDomainName för $newVM2
-objektet. Använd följande kommando för att ansluta med fjärrskrivbord.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Rensning
Nu när självstudien är klar är det dags att rensa de skapade resurserna. Du kan ta bort enskilda resurser med kommandot Remove-AzResource
, men det säkraste sättet att ta bort alla resurser i en resursgrupp är att ta bort gruppen med hjälp av kommandot Remove-AzResourceGroup
.
$job = Remove-AzResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzResource...
Det här kommandot tar bort de resurser som skapades under självstudien och kommer garanterat att frigöra dem i rätt ordning. Parametern AsJob
hindrar PowerShell från att blockeras medan borttagningen sker. Om du vill vänta tills borttagningen är klar använder du följande kommando:
Wait-Job -Id $job.Id
När rensningen är klar är självstudien klar. Fortsätt för en sammanfattning av allt du har lärt dig och länkar till resurser som hjälper dig med nästa steg.
Sammanfattning
Grattis! Du har lärt dig att skapa virtuella datorer med nya eller befintliga resurser, använda uttryck och andra Azure PowerShell-kommandon för att samla in data som ska lagras i gränssnittsvariabler och tittat på några av de resurser som skapas för virtuella Azure-datorer.
Vart du går härifrån beror på hur du planerar att använda Azure PowerShell. Det finns en mängd olika material som går djupare på de funktioner som beskrivs i den här självstudien.
Djupgående Dokumentation om Azure PowerShell
Du kanske vill ta dig tid att utforska den fullständiga Azure PowerShell-dokumentationen uppsättning.
Mer information om kommandona som används i den här självstudien finns i följande artiklar.
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
Det finns också artiklar som går djupare in i de funktioner som visades i självstudien.
Exempelskript
Om du vill komma igång direkt med specifika uppgifter kan du titta på några exempelskript.
Feedback
Om du vill ge feedback, förslag eller ställa frågor finns det ett antal sätt för dig att komma i kontakt.
-
Send-Feedback
är ett inbyggt kommando för Azure PowerShell som gör att du kan ge kostnadsfri feedback till teamet. - Skicka en funktionsbegäran eller en felrapport på Azure PowerShell-lagringsplats.
- Ställ en fråga eller få förtydliganden genom att lämna in ett problem i Azure PowerShell-dokumentationslagringsplatsen.
Vi hoppas att du gillar att använda Azure PowerShell!
Har du ett problem med det här avsnittet? Ge oss då feedback så att vi kan förbättra avsnittet.
Azure PowerShell