Virtuele machines maken met Azure PowerShell
In deze zelfstudie leert u alle stappen voor het instellen van een virtuele machine met Azure PowerShell. De zelfstudie bevat ook uitvoerquery's, hergebruik van Azure-resources en het opschonen van resources.
Deze zelfstudie kan worden voltooid met de interactieve ervaring die wordt aangeboden via Azure Cloud Shell, of u Azure PowerShell lokaal installeren.
Gebruik ctrl-shift-v- (cmd-shift-v op macOS) om zelfstudietekst in Azure Cloud Shell te plakken.
Aanmelden
Als u een lokale installatie van Azure PowerShell gebruikt, moet u zich aanmelden voordat u andere stappen uitvoert.
Connect-AzAccount
Voltooi het aanmeldingsproces door de stappen te volgen die worden weergegeven in uw terminal.
Een resourcegroep maken
In Azure worden alle resources toegewezen in een resourcebeheergroep. Resourcegroepen bieden logische groeperingen van resources waarmee ze gemakkelijker kunnen worden gebruikt als verzameling.
Voor deze zelfstudie gaan alle gemaakte resources naar éé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 VIRTUELE machine
Voordat u een nieuwe virtuele machine kunt maken, moet u een referentieobject maken met de gebruikersnaam en het wachtwoord voor het beheerdersaccount van de Virtuele Windows-machine.
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
Voer de gebruikersnaam en het wachtwoord in wanneer u hierom wordt gevraagd. Het resulterende referentieobject wordt doorgegeven als een parameter in de volgende stap.
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. De Azure PowerShell maakt deze resources voor u op basis van de opdrachtregelargumenten die u opgeeft. Voor leesbaarheid gebruiken we PowerShell-splatting om parameters door te geven aan de Azure PowerShell-cmdlets.
Maak een nieuwe virtuele machine met Windows.
$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 VIRTUELE machine wordt gemaakt, ziet u de parameterwaarden die worden gebruikt en Azure-resources die worden gemaakt. In PowerShell wordt een voortgangsbalk weergegeven, 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 accolades worden vermeld, zijn geneste objecten. In de volgende stap laten we u zien hoe u specifieke waarden in deze geneste objecten kunt weergeven.
VM-gegevens ophalen met query's
Laten we wat gedetailleerdere informatie ophalen van de VM die we zojuist hebben gemaakt. In dit voorbeeld controleren we de naam van de virtuele machine en het beheerdersaccount dat we hebben gemaakt.
$newVM1.OSProfile | Select-Object -Property ComputerName, AdminUserName
ComputerName AdminUsername
------------ -------------
TutorialVM1 tutorialAdmin
We kunnen 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. Vanuit het resulterende netwerkinterfaceobject selecteren we het geneste IpConfigurations-object. In het IpConfigurations-object selecteren we de eigenschappen Name en PrivateIpAddress.
Name PrivateIpAddress
---- ----------------
TutorialVM1 192.168.1.4
Om te bevestigen dat de VIRTUELE machine wordt uitgevoerd, moeten we verbinding maken via Extern bureaublad. Hiervoor moeten we het openbare IP-adres weten.
$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
en slaan we de resultaten op in de variabele $publicIp
. In deze variabele selecteren we eigenschappen en gebruiken we een expressie om de geneste Fqdn-eigenschap op te halen.
Name IpAddress FQDN
---- --------- ----
tutorialPublicIp <PUBLIC_IP_ADDRESS> tutorialvm1-8a0999.eastus.cloudapp.azure.com
Vanaf uw lokale computer kunt u de volgende opdracht uitvoeren om verbinding te maken met de virtuele machine via Extern bureaublad.
mstsc.exe /v $publicIp.IpAddress
Zie Query's uitvoeren op Azure-resourcesvoor meer informatie over het uitvoeren van query's op objecteigenschappen.
Een nieuwe VIRTUELE machine maken in het bestaande subnet
De tweede VIRTUELE machine 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
Opruimen
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 door de groep te verwijderen met behulp van 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 worden de resources verwijderd die tijdens de zelfstudie zijn gemaakt en wordt gegarandeerd de toewijzing ervan ongedaan gemaakt in de juiste volgorde. De parameter AsJob
zorgt ervoor dat PowerShell niet blokkeert terwijl het verwijderen plaatsvindt. Gebruik de volgende opdracht om te wachten totdat het verwijderen is voltooid:
Wait-Job -Id $job.Id
Wanneer het opschonen is voltooid, is de zelfstudie voltooid. Ga verder voor een overzicht van alles wat u hebt geleerd en koppelingen naar resources die u helpen bij de volgende stappen.
Samenvatting
Gefeliciteerd! U hebt geleerd hoe u vm's maakt met nieuwe of bestaande resources, gebruikte expressies en andere Azure PowerShell-opdrachten om gegevens vast te leggen die moeten worden opgeslagen in shellvariabelen en enkele van de resources die voor Azure-VM's worden gemaakt.
Waar u vandaan komt, is afhankelijk van hoe u Azure PowerShell wilt gebruiken. Er zijn verschillende materialen die dieper ingaan op de functies die in deze zelfstudie worden behandeld.
Uitgebreide documentatie voor Azure PowerShell
Het kan even duren voordat u de volledige Azure PowerShell-documentatie set verkent.
Zie de volgende artikelen voor meer informatie over de opdrachten die in deze zelfstudie worden gebruikt.
- New-AzResourceGroup
- Get-Credential-
- New-AzVM-
- Select-Object-
- Get-AzPublicIpAddress-
- Remove-AzResourceGroup
- wachttaak
Er zijn ook artikelen die dieper ingaan op de functies die in de zelfstudie zijn weergegeven.
Voorbeeldscripts
Als u meteen aan de slag wilt met specifieke taken, bekijkt u enkele voorbeeldscripts.
- Azure App Service-
- sql-databases
- Cosmos DB-
- opslagplaats voorbeelden
Terugkoppeling
Als u feedback, suggesties of vragen wilt stellen, kunt u op verschillende manieren contact opnemen.
-
Send-Feedback
is een ingebouwde opdracht voor Azure PowerShell waarmee u gratis feedback kunt geven aan het team. - Dien een functieaanvraag of een foutenrapport in in de Azure PowerShell-opslagplaats.
- Stel een vraag of krijg uitleg door een probleem in te dienen in de Azure PowerShell-documentatieopslagplaats.
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.
Azure PowerShell