Skapa virtuella datorer med Azure PowerShell
I den här självstudiekursen får du lära dig alla steg som ingår i att konfigurera en virtuell dator med Azure PowerShell. Självstudiekursen handlar även om utdatafrågor, återanvändning av Azure-resurser och resursrensning.
Den här självstudiekursen 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 din terminal.
Skapa en resursgrupp
I Azure är alla resurser tilldelade i en resurshanteringsgrupp. Resursgrupper innehåller logiska grupperingar av resurser som gör dem lättare att arbeta med som en samling.
I den här självstudiekursen går alla skapade resurser in i en enda grupp med namnet TutorialResources .
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/TutorialResources
Skapa administratörsautentiseringsuppgifter för den virtuella maskinerna
Innan du kan skapa en ny virtuell dator måste du skapa ett autentiseringsobjekt som innehåller användarnamn och lösenord för administratörskontot för Windows VM.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Ange användarnamn och lösenord när du uppmanas att göra det. Det resulterande objektet för autentiseringsuppgifter överförs 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. Den Azure PowerShell skapar de här resurserna åt dig baserat på de kommandoradsargument du anger. För läsbarheten använder vi PowerShell-splatting för att överföra parametrar till Azure PowerShell cmdlets.
Skapa en ny virtuell dator som kör Windows.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
}
$newVM1 = New-AzVM @vmParams
När den virtuella maskinerna skapas ser du vilka parametervärden som används och Azure-resurser som skapas. PowerShell visar en förloppslist enligt nedan.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
När den virtuella maskinerna är klara kan vi visa resultaten i Azure Portal eller genom att kontrollera $ den nyaVM1-variabeln.
$newVM1
ResourceGroupName : TutorialResources
Id : /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM1
VmId : 12345678-9abc-def0-1234-56789abcedf0
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ärdena som visas inom kparenteser ä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 maskinerna vi just skapade. I det här exemplet verifierar vi namnet på den virtuella maskinerna och det administratörskonto vi skapade.
$newVM1.OSProfile | Select-Object ComputerName,AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
Vi kan använda Azure PowerShell för att få specifik information om nätverkskonfigurationen.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object Name,PrivateIpAddress
I det här exemplet använder vi PowerShell-pipelinen för att skicka det $ nyaVM1-objektet till Get-AzNetworkInterface cmdleten. Från det resulterande nätverksgränssnittsobjektet väljer vi det kapslade IpConfigurations-objektet. Från objektet IpConfigurations väljer vi egenskaperna Name och PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
För att bekräfta att den virtuella maskinerna körs måste vi ansluta via Fjärrskrivbord. Då måste vi kunna den offentliga IP-adressen.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp | Select-Object Name,IpAddress,@{label='FQDN';expression={$_.DnsSettings.Fqdn}}
I det här exemplet använder och Get-AzPublicIpAddress lagrar vi resultaten 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 din lokala dator kan du köra följande kommando för att ansluta till den virtuella datorn via Fjärrskrivbord.
mstsc.exe /v <PUBLIC_IP_ADDRESS>
Mer information om att fråga efter objektegenskaper finns i Fråga för Azure-resurser.
Skapa en ny VM på det befintliga undernätet
Den andra virtuella maskinerna 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/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/TutorialResources/providers/Microsoft.Compute/virtualMachines/TutorialVM2
VmId : 12345678-9abc-def0-1234-56789abcedf1
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 få steg för att få den offentliga IP-adressen för den nya virtuella maskinerna eftersom den returneras med egenskapen FullyQualifiedDomainName för det $ nyaVM2-objektet. Använd följande kommando för att ansluta med Fjärrskrivbord.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Rensning
Nu när självstudiekursen är klar är det dags att rensa upp i de skapade resurserna. Du kan ta bort enskilda resurser med kommandot, men det säkraste sättet att ta bort alla resurser i en resursgrupp är att Remove-AzResource ta bort gruppen med Remove-AzResourceGroup kommandot.
$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älvstudiekursen och det är garanterad att de ordnas i rätt ordning. Parametern -AsJob hindrar PowerShell från att blockeras medan borttagningen sker. Använd följande kommando för att vänta tills borttagningen är klar:
Wait-Job -Id $job.Id
När rensningen är klar är självstudiekursen klar. Fortsätt till en sammanfattning av allt du 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 maskiner med nya eller befintliga resurser, använda uttryck och andra Azure PowerShell-kommandon för att samla in data som ska lagras i skalvariabler och tittat på några av de resurser som skapas för virtuella Azure-maskiner.
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 längre in på de funktioner som behandlas i den här självstudiekursen.
Ingående dokumentation Azure PowerShell dokument
Det kan ta tid att utforska den fullständiga Azure PowerShell dokumentationen.
Mer information om kommandona som används i den här självstudiekursen finns i följande artiklar.
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- Wait-Job
Det finns även artiklar som går djupare in på de funktioner som visades i självstudiekursen.
Exempelskript
Om du vill komma igång direkt med specifika aktiviteter 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 med dem.
Send-Feedbackär ett inbyggt kommando Azure PowerShell kan ge feedback i fri form till teamet.- Arkivera en funktionsbegäran eller en felrapport på den Azure PowerShell lagringsplatsen.
- Ställ en fråga eller få ett förtydligande genom att spara ett problem i Azure PowerShell av dokumentarkivet.
Vi hoppas att du tycker om 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.