Virtuele machines maken met de AzureRM PowerShell-module
Belangrijk
Omdat Az PowerShell-modules nu alle mogelijkheden van AzureRM PowerShell-modules en meer hebben, wordt AzureRM PowerShell-modules op 29 februari 2024 buiten gebruik gesteld.
Als u serviceonderbrekingen wilt voorkomen, werkt u uw scripts bij die gebruikmaken van AzureRM PowerShell-modules voor het gebruik van Az PowerShell-modules op 29 februari 2024. Volg de snelstartgids om uw scripts automatisch bij te werken.
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-AzureRmAccount
Voltooi het aanmeldingsproces door de weergegeven stappen in uw terminal te volgen.
Een resourcegroep 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-AzureRmResourceGroup -Name TutorialResources -Location eastus
ResourceGroupName : TutorialResources
Location : eastus
ProvisioningState : Succeeded
Tags :
ResourceId : /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/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: *********
Een virtuele machine maken
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
}
$newVM1 = New-AzureRmVM @vmParams
Terwijl de VM wordt gemaakt, ziet u de parameterwaarden die worden gebruikt en de Azure-resources die worden gemaakt. PowerShell toont een voortgangsbalk zoals die hieronder.
Creating Azure resources
39% \
[ooooooooooooooooooooooooooooooooooo ]
Creating TutorialVM1 virtual machine.
Zodra de VIRTUELE machine klaar is, kunnen we de resultaten bekijken in Azure Portal of door de variabele $newVM 1 te inspecteren.
$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}
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 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-AzureRmNetworkInterface |
Select-Object -ExpandProperty IpConfigurations |
Select-Object Name,PrivateIpAddress
In dit voorbeeld gebruiken we de PowerShell-pijplijn om het $newVM 1-object naar de Get-AzureRmNetworkInterface 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-AzureRmPublicIpAddress -Name tutorialPublicIp -ResourceGroupName TutorialResources
$publicIp | Select-Object Name,IpAddress,@{label='FQDN';expression={$_.DnsSettings.Fqdn}}
In dit voorbeeld gebruiken we de Get-AzureRmPublicIpAddress 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 <PUBLIC_IP_ADDRESS>
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-AzureRmVM @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
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 $newVM 2-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-AzureRmResource, maar de veiligste manier om alle resources in een resourcegroep te verwijderen, is de groep te verwijderen met de opdracht Remove-AzureRmResourceGroup.
$job = Remove-AzureRmResourceGroup -Name TutorialResources -Force -AsJob
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
1 Long Running... AzureLongRun... Running True localhost Remove-AzureRmResource...
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-AzureRmResourceGroup
- Get-Credential
- New-AzureRmVM
- Select-Object
- Get-AzureRmPublicIpAddress
- Remove-AzureRmResourceGroup
- 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-Feedbackis 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 met plezier gebruikmaakt 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.
Feedback
Feedback verzenden en weergeven voor