Virtuele machines maken met Azure PowerShell
In deze zelfstudie leert u alle stappen die nodig zijn om een virtuele machine in te stellen met Azure PowerShell. Onder de zelfstudie vallen ook uitvoerquery's, het hergebruiken van Azure-resources en het opschonen van resources.
Deze zelfstudie kan worden voltooid met de interactieve ervaring die wordt aangeboden via Azure Cloud Shell, maar u kunt ook Azure PowerShell lokaal installeren.
Gebruik Ctrl + Shift + V (Cmd + Shift + V in macOS) om tekst uit de zelfstudie in Azure Cloud Shell te plakken.
Aanmelden
Als u een lokale installatie van Azure PowerShell gebruikt, moet u zich aanmelden voordat u een van de volgende stappen uitvoert.
Connect-AzAccount
Voltooi het aanmeldingsproces door de weergegeven stappen in uw terminal te volgen.
Een brongroep maken
In Azure worden alle resources toegewezen in een resourcebeheergroep. Resourcegroepen bieden logische groeperingen van resources, waardoor het gemakkelijker is om met resources als verzameling te werken.
Voor deze zelfstudie worden alle gemaakte resources opgenomen in één groep met de naam TutorialResources
.
New-AzResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/TutorialResources
Beheerdersreferenties maken voor de VM
Voordat u een nieuwe virtuele machine kunt maken, moet u een referentieobject maken dat de gebruikersnaam en het wachtwoord bevat voor het beheerdersaccount van de virtuele Windows-machine.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Geef de gebruikersnaam en het wachtwoord op wanneer u daarom wordt gevraagd. Het resulterende referentieobject wordt in de volgende stap als parameter doorgegeven.
Windows PowerShell credential request.
Enter a username and password for the virtual machine.
User: tutorAdmin
Password for user tutorAdmin: *********
Maak een virtuele machine
Virtuele machines in Azure hebben een groot aantal afhankelijkheden. Azure PowerShell maakt deze resources voor u op basis van opdrachtregelargumenten die u opgeeft. Voor de leesbaarheid gebruiken we PowerShell-splatting om parameters door te geven aan de Azure PowerShell-cmdlets.
Maak een nieuwe virtuele Windows-machine.
$vmParams = @{
ResourceGroupName = 'TutorialResources'
Name = 'TutorialVM1'
Location = 'eastus'
ImageName = 'Win2016Datacenter'
PublicIpAddressName = 'tutorialPublicIp'
Credential = $cred
OpenPorts = 3389
Size = 'Standard_D2s_v3'
}
$newVM1 = New-AzVM @vmParams
Terwijl de VM wordt gemaakt, ziet u de parameterwaarden die worden gebruikt en de Azure-resources die worden gemaakt. PowerShell geeft een voortgangsbalk weer zoals hieronder wordt weergegeven.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
Zodra de VIRTUELE machine gereed is, kunnen we de resultaten bekijken in Azure Portal of door de $newVM1
variabele te inspecteren.
$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}
Eigenschapswaarden die binnen de accolades worden vermeld, zijn geneste objecten. In de volgende stap leert u hoe u in deze geneste objecten specifieke waarden kunt bekijken.
VM-informatie ophalen met query's
Laten we nu wat gedetailleerde informatie ophalen van de VM die u zojuist hebt gemaakt. In dit voorbeeld verifieert u de naam van de VM en het beheerdersaccount dat u hebt gemaakt.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
We kunnen ook andere Azure PowerShell-opdrachten gebruiken om specifieke informatie over de netwerkconfiguratie op te halen.
$newVM1 | Get-AzNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object -Property Name, PrivateIpAddress
In dit voorbeeld gebruiken we de PowerShell-pijplijn om het $newVM 1-object naar de Get-AzNetworkInterface
cmdlet te verzenden. In het resulterende netwerkinterfaceobject selecteert u het geneste object IpConfigurations. In het object IpConfigurations selecteert u de eigenschappen Name en PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Maak verbinding met de VM via Extern bureaublad om te controleren of VM nog steeds wordt uitgevoerd. Hiervoor moet u weten wat het openbare IP-adres is.
$publicIp = Get-AzPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp |
Select-Object -Property Name, IpAddress, @{label='FQDN';expression={$_.DnsSettings.Fqdn}}
In dit voorbeeld gebruiken we de Get-AzPublicIpAddress
resultaten en slaan we de resultaten op in de $publicIp
variabele. In deze variabele selecteert u eigenschappen en gebruikt u een expressie om de geneste eigenschap Fqdn op te halen.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Vanaf uw lokale machine voert u de volgende opdracht uit om verbinding te maken met de VM via Extern bureaublad.
mstsc.exe /v $publicIp.IpAddress
Raadpleeg Query's uitvoeren op Azure-resources voor meer informatie over het uitvoeren van query's op objecteigenschappen.
Een nieuwe VM in het bestaande subnet maken
De tweede VM maakt gebruik van het bestaande subnet.
$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
U kunt een paar stappen overslaan om het openbare IP-adres van de nieuwe VIRTUELE machine op te halen, omdat deze wordt geretourneerd in de eigenschap FullyQualifiedDomainName van het $newVM2
object. Gebruik de volgende opdracht om verbinding te maken via Extern bureaublad.
mstsc.exe /v $newVM2.FullyQualifiedDomainName
Opschonen
Nu de zelfstudie is voltooid, is het tijd om de gemaakte resources op te schonen. U kunt afzonderlijke resources verwijderen met de opdracht Remove-AzResource
, maar de veiligste manier om alle resources in een resourcegroep te verwijderen, is de groep te verwijderen met de opdracht 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...
Met deze opdracht verwijdert u alle resources die tijdens de zelfstudie zijn gemaakt. De toewijzing van de resources wordt bovendien gegarandeerd in de juiste volgorde ongedaan gemaakt. De parameter AsJob
zorgt ervoor dat PowerShell niet blokkeert terwijl de verwijdering plaatsvindt. Als u wilt wachten tot de verwijdering is voltooid, gebruikt u de volgende opdracht:
Wait-Job -Id $job.Id
Wanneer het opschonen is voltooid, is deze zelfstudie ook afgerond. Ga verder voor een samenvatting van alles wat u hebt geleerd en voor links naar resources die nuttig zijn voor de volgende stappen.
Samenvatting
Gefeliciteerd U hebt geleerd hoe u VM's met nieuwe of bestaande resources maakt, expressies en andere Azure PowerShell-opdrachten gebruikt om gegevens vast te leggen voor opslag in shell-variabelen en een aantal van de resources bekeken die voor Azure-VM's worden gemaakt.
Wat u nu gaat doen, is afhankelijk van waarvoor u Azure PowerShell wilt gebruiken. Er is een aantal materialen waarmee u zich verder kunt verdiepen in de functies die in deze handleiding zijn beschreven.
Gedetailleerde Azure PowerShell-documentatie
Het is een goed idee om alle beschikbare Azure PowerShell-documentatie te verkennen.
Raadpleeg de volgende artikelen voor meer informatie over de opdrachten die in deze zelfstudie zijn gebruikt.
- New-AzResourceGroup
- Get-Credential
- New-AzVM
- Select-Object
- Get-AzPublicIpAddress
- Remove-AzResourceGroup
- Wait-Job
Er is ook een aantal artikelen waarin dieper wordt ingegaan op de functies die in deze zelfstudie zijn besproken.
Voorbeeldscripts
Als u meteen wilt beginnen met specifieke taken, kunt u enkele voorbeeldscripts bekijken.
Feedback
Als u feedback wilt geven, suggesties hebt of een vraag wilt stellen, kunt u op diverse manieren contact met ons opnemen.
Send-Feedback
is een ingebouwde opdracht voor Azure PowerShell waarmee u in vrije tekst feedback aan ons team kunt geven.- Een functie-aanvraag of een foutenrapport kunt u indienen in de Azure PowerShell-opslagplaats.
- Als u een vraag hebt of een probleem ter opheldering wilt indienen, gaat u naar de documentatieopslagplaats van Azure PowerShell.
We hopen dat u tevreden bent met het gebruik van Azure PowerShell.
Is er een probleem met deze sectie? Als dit het geval is, kunt u ons feedback geven zodat we deze sectie kunnen verbeteren.