Zelfstudie: Windows-VM's maken en beheren met Azure PowerShellTutorial: Create and Manage Windows VMs with Azure PowerShell

Virtuele machines in Azure bieden een volledig geconfigureerde en flexibele computeromgeving.Azure virtual machines provide a fully configurable and flexible computing environment. Deze zelfstudie bevat informatie over basisconcepten voor het implementeren van virtuele Azure-machines (VM's), zoals het selecteren van een VM-grootte, het selecteren van een VM-installatiekopie en het implementeren van een VM.This tutorial covers basic Azure virtual machine (VM) deployment tasks like selecting a VM size, selecting a VM image, and deploying a VM. In deze zelfstudie leert u procedures om het volgende te doen:You learn how to:

  • Een virtuele machine maken en verbinding maken met een virtuele machineCreate and connect to a VM
  • VM-installatiekopieën selecteren en gebruikenSelect and use VM images
  • Specifieke VM-grootten weergeven en gebruikenView and use specific VM sizes
  • De grootte van een virtuele machine wijzigenResize a VM
  • De status van een virtuele machine weergeven en begrijpenView and understand VM state

Azure Cloud Shell startenLaunch Azure Cloud Shell

Azure Cloud Shell is een gratis interactieve shell waarmee u de stappen in dit artikel kunt uitvoeren.The Azure Cloud Shell is a free interactive shell that you can use to run the steps in this article. In deze shell zijn algemene Azure-hulpprogramma's vooraf geïnstalleerd en geconfigureerd voor gebruik met uw account.It has common Azure tools preinstalled and configured to use with your account.

Als u Cloud Shell wilt openen, selecteert u Proberen in de rechterbovenhoek van een codeblok.To open the Cloud Shell, just select Try it from the upper right corner of a code block. U kunt Cloud Shell ook openen in een afzonderlijk browsertabblad door naar https://shell.azure.com/powershell te gaan.You can also launch Cloud Shell in a separate browser tab by going to https://shell.azure.com/powershell. Klik op Kopiëren om de codeblokken te kopiëren, plak deze in Cloud Shell en druk vervolgens op Enter om de code uit te voeren.Select Copy to copy the blocks of code, paste it into the Cloud Shell, and press enter to run it.

Een resourcegroep makenCreate resource group

Maak een resourcegroep met de opdracht New-AzResourceGroup.Create a resource group with the New-AzResourceGroup command.

Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd.An Azure resource group is a logical container into which Azure resources are deployed and managed. Voordat een virtuele machine wordt gemaakt, moet een resourcegroep worden gemaakt.A resource group must be created before a virtual machine. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroupVM gemaakt in de regio VS - Oost:In the following example, a resource group named myResourceGroupVM is created in the EastUS region:

New-AzResourceGroup `
   -ResourceGroupName "myResourceGroupVM" `
   -Location "EastUS"

De resourcegroep wordt opgegeven tijdens het maken of wijzigen van een virtuele machine, zoals in deze zelfstudie te zien is.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Een virtuele machine makenCreate a VM

Wanneer u een VM maakt, zijn er diverse opties beschikbaar, zoals besturingssysteeminstallatiekopie, netwerkconfiguratie en beheerdersreferenties.When creating a VM, several options are available like operating system image, network configuration, and administrative credentials. In dit voorbeeld wordt een VM gemaakt met de naam myVM, waarop de standaardversie van Windows Server 2016 Datacenter wordt uitgevoerd.This example creates a VM named myVM, running the default version of Windows Server 2016 Datacenter.

Stel met Get-Credential de gebruikersnaam en het wachtwoord in die nodig zijn voor het beheerdersaccount op de VM:Set the username and password needed for the administrator account on the VM with Get-Credential:

$cred = Get-Credential

Maak de VM met New-AzVM.Create the VM with New-AzVM.

New-AzVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress" `
    -Credential $cred

Verbinding maken met de virtuele machineConnect to VM

Wanneer de implementatie is voltooid, maakt u via een extern bureaublad verbinding met de VM.After the deployment has completed, create a remote desktop connection with the VM.

Voer de volgende opdrachten uit om het openbare IP-adres van de VM te retourneren.Run the following commands to return the public IP address of the VM. Noteer dit IP-adres zodat u vanuit uw browser verbinding kunt maken met het adres om webverbindingen te testen.Take note of this IP Address so you can connect to it with your browser to test web connectivity in a future step.

Get-AzPublicIpAddress `
   -ResourceGroupName "myResourceGroupVM"  | Select IpAddress

Gebruik de volgende opdracht op uw lokale machine om een sessie met een extern bureaublad te starten voor de VM.Use the following command, on your local machine, to create a remote desktop session with the VM. Vervang het IP-adres door publicIPAddress van de VM.Replace the IP address with the publicIPAddress of your VM. Wanneer u hierom wordt gevraagd, typt u de referenties die zijn gebruikt bij het maken van de VM.When prompted, enter the credentials used when creating the VM.

mstsc /v:<publicIpAddress>

Selecteer in het venster Windows-beveiliging Meer opties en vervolgens Een ander account gebruiken.In the Windows Security window, select More choices and then Use a different account. Typ de gebruikersnaam en het wachtwoord die u hebt gemaakt voor de VM en klik vervolgens op OK.Type the username and password you created for the VM and then click OK.

Inzicht krijgen in Marketplace-installatiekopieënUnderstand marketplace images

Azure Marketplace bevat vele installatiekopieën die kunnen worden gebruikt voor het maken van een nieuwe VM.The Azure marketplace includes many images that can be used to create a new VM. In de vorige stappen is een VM gemaakt met behulp van de Windows Server 2016 Datacenter-installatiekopie.In the previous steps, a VM was created using the Windows Server 2016 Datacenter image. In deze stap wordt de PowerShell-module gebruikt om op de Marketplace te zoeken naar andere Windows-installatiekopieën, die ook als basis voor nieuwe virtuele machines kunnen worden gebruikt.In this step, the PowerShell module is used to search the marketplace for other Windows images, which can also be used as a base for new VMs. Dit proces bestaat uit het vinden van de uitgever, aanbieding, SKU en eventueel een versienummer om de installatiekopie te identificeren.This process consists of finding the publisher, offer, SKU, and optionally a version number to identify the image.

Gebruik de opdracht Get-AzVMImagePublisher om een lijst met uitgevers van installatiekopieën te retourneren:Use the Get-AzVMImagePublisher command to return a list of image publishers:

Get-AzVMImagePublisher -Location "EastUS"

Gebruik de opdracht Get-AzVMImageOffer om een lijst met aanbiedingen van installatiekopieën te retourneren.Use the Get-AzVMImageOffer to return a list of image offers. Met deze opdracht wordt de geretourneerde lijst gefilterd op de opgegeven uitgever met de naam MicrosoftWindowsServer:With this command, the returned list is filtered on the specified publisher named MicrosoftWindowsServer:

Get-AzVMImageOffer `
   -Location "EastUS" `
   -PublisherName "MicrosoftWindowsServer"

De resultaten zien er ongeveer uit zoals in dit voorbeeld:The results will look something like this example:

Offer             PublisherName          Location
-----             -------------          --------
Windows-HUB       MicrosoftWindowsServer EastUS
WindowsServer     MicrosoftWindowsServer EastUS
WindowsServer-HUB MicrosoftWindowsServer EastUS

Met de opdracht Get-AzVMImageSku wordt vervolgens gefilterd op de naam van de uitgever en de aanbieding, waarna een lijst met namen van installatiekopieën wordt geretourneerd.The Get-AzVMImageSku command will then filter on the publisher and offer name to return a list of image names.

Get-AzVMImageSku `
   -Location "EastUS" `
   -PublisherName "MicrosoftWindowsServer" `
   -Offer "WindowsServer"

De resultaten zien er ongeveer uit zoals in dit voorbeeld:The results will look something like this example:

Skus                                      Offer         PublisherName          Location
----                                      -----         -------------          --------
2008-R2-SP1                               WindowsServer MicrosoftWindowsServer EastUS  
2008-R2-SP1-smalldisk                     WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2012-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter                        WindowsServer MicrosoftWindowsServer EastUS  
2012-R2-Datacenter-smalldisk              WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter                           WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core               WindowsServer MicrosoftWindowsServer EastUS  
2016-Datacenter-Server-Core-smalldisk     WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-smalldisk                 WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers           WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-Containers-smalldisk WindowsServer MicrosoftWindowsServer EastUS
2016-Datacenter-with-RDSH                 WindowsServer MicrosoftWindowsServer EastUS
2016-Nano-Server                          WindowsServer MicrosoftWindowsServer EastUS

Deze informatie kan worden gebruikt om een virtuele machine met een specifieke installatiekopie te implementeren.This information can be used to deploy a VM with a specific image. In dit voorbeeld wordt een VM geïmplementeerd met behulp van de nieuwste versie van Windows Server 2016 met Containers-installatiekopie.This example deploys a VM using the latest version of a Windows Server 2016 with Containers image.

New-AzVm `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM2" `
    -Location "EastUS" `
    -VirtualNetworkName "myVnet" `
    -SubnetName "mySubnet" `
    -SecurityGroupName "myNetworkSecurityGroup" `
    -PublicIpAddressName "myPublicIpAddress2" `
    -ImageName "MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest" `
    -Credential $cred `
    -AsJob

Door de parameter -AsJob wordt de VM gemaakt als achtergrondtaak, zodat u weer terugkeert naar de PowerShell-prompts.The -AsJob parameter creates the VM as a background task, so the PowerShell prompts return to you. U kunt details van achtergrondtaken bekijken met de cmdlet Get-Job.You can view details of background jobs with the Get-Job cmdlet.

Inzicht in VM-groottenUnderstand VM sizes

De grootte van een VM bepaalt de hoeveelheid rekenresources, zoals CPU, GPU en geheugen, die voor de VM beschikbaar zijn gesteld.The VM size determines the amount of compute resources like CPU, GPU, and memory that are made available to the VM. Virtuele machines moeten worden gemaakt met een grootte die geschikt is voor de werkbelasting.Virtual machines should be created using a VM size appropriate for the workload. Als een werkbelasting toeneemt, kan de grootte van een bestaande virtuele machine ook worden gewijzigd.If a workload increases, an existing virtual machine can also be resized.

VM-groottenVM Sizes

In de volgende tabel zijn grootten gecategoriseerd in use-cases.The following table categorizes sizes into use cases.

TypeType Veelgebruikte groottenCommon sizes BeschrijvingDescription
Algemeen gebruikGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Evenwichtige CPU-geheugenverhouding.Balanced CPU-to-memory. Ideaal voor ontwikkelen/testen en in kleine tot middelgrote toepassingen en gegevensoplossingen.Ideal for dev / test and small to medium applications and data solutions.
Geoptimaliseerde rekenkrachtCompute optimized Fsv2Fsv2 Hoge CPU-geheugenverhouding.High CPU-to-memory. Goed voor middelgrootte verkeerstoepassingen, netwerkapparatuur en batchprocessen.Good for medium traffic applications, network appliances, and batch processes.
Geoptimaliseerd geheugenMemory optimized Esv3, Ev3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Hoge geheugen-kernverhouding.High memory-to-core. Uiterst geschikt voor relationele-databases, middelgrote tot grote caches en analysefuncties in het geheugen.Great for relational databases, medium to large caches, and in-memory analytics.
Geoptimaliseerde opslagStorage optimized Lsv2, LsLsv2, Ls Snelle doorvoer van schijfgegevens en IO.High disk throughput and IO. Ideaal voor big data-, SQL- en NoSQL-databases.Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Gespecialiseerde VM's bedoeld voor intensieve grafische rendering en videobewerking.Specialized VMs targeted for heavy graphic rendering and video editing.
Hoge prestatiesHigh performance HH Onze krachtigste CPU-VM's met optionele netwerkinterfaces (RDMA) voor hoge doorvoer.Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

Beschikbare VM-grootten zoekenFind available VM sizes

Als u een lijst wilt weergeven met de VM-grootten die beschikbaar zijn in een bepaalde regio, gebruikt u de opdracht Get-AzVMSize.To see a list of VM sizes available in a particular region, use the Get-AzVMSize command.

Get-AzVMSize -Location "EastUS"

De grootte van een virtuele machine wijzigenResize a VM

Nadat een virtuele machine is geïmplementeerd, kan de grootte ervan worden gewijzigd om meer of minder resources toe te wijzen.After a VM has been deployed, it can be resized to increase or decrease resource allocation.

Voordat u de grootte van een virtuele machine wijzigt, moet u controleren of de grootte die u wenst, beschikbaar in het huidige VM-cluster.Before resizing a VM, check if the size you want is available on the current VM cluster. Met de opdracht Get-AzVMSize wordt een lijst met grootten geretourneerd.The Get-AzVMSize command returns a list of sizes.

Get-AzVMSize -ResourceGroupName "myResourceGroupVM" -VMName "myVM"

Als de grootte beschikbaar is, kan de grootte van de virtuele machine worden gewijzigd terwijl de virtuele machine wordt uitgevoerd. De virtuele machine moet wel opnieuw worden opgestart tijdens de bewerking.If the size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation.

$vm = Get-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_DS3_v2"
Update-AzVM `
   -VM $vm `
   -ResourceGroupName "myResourceGroupVM"

Als de grootte die u zoekt niet beschikbaar is in het huidige cluster, moet de toewijzing van de VM ongedaan worden gemaakt voordat de grootte kan worden gewijzigd.If the size you want isn't available on the current cluster, the VM needs to be deallocated before the resize operation can occur. Als de toewijzing van een VM ongedaan wordt gemaakt, worden alle gegevens op de tijdelijke schijf verwijderd en wordt het openbare IP-adres gewijzigd, tenzij een statisch IP-adres wordt gebruikt.Deallocating a VM will remove any data on the temp disk, and the public IP address will change unless a static IP address is being used.

Stop-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM" -Force
$vm = Get-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -VMName "myVM"
$vm.HardwareProfile.VmSize = "Standard_E2s_v3"
Update-AzVM -VM $vm `
   -ResourceGroupName "myResourceGroupVM"
Start-AzVM `
   -ResourceGroupName "myResourceGroupVM"  `
   -Name $vm.name

Energiestatussen voor de virtuele machineVM power states

Een Azure VM kan op een van de vele energiestatussen worden ingesteld.An Azure VM can have one of many power states.

EnergiestatusPower State BeschrijvingDescription
StartenStarting De virtuele machine die wordt gestart.The virtual machine is being started.
In uitvoeringRunning De virtuele machine die wordt uitgevoerd.The virtual machine is running.
StoppenStopping De virtuele machine die wordt gestopt.The virtual machine is being stopped.
GestoptStopped De virtuele machine is gestopt.The VM is stopped. Virtuele machines met de status Gestopt genereren nog steeds rekenkosten.Virtual machines in the stopped state still incur compute charges.
VrijgevenDeallocating De VM waarvan de toewijzing ongedaan wordt gemaakt.The VM is being deallocated.
Toewijzing ongedaan gemaaktDeallocated Geeft aan dat de VM is verwijderd uit de hypervisor, maar nog steeds beschikbaar is in het besturingsvenster.Indicates that the VM is removed from the hypervisor but is still available in the control plane. Virtuele machines met de status Deallocated genereren geen rekenkosten.Virtual machines in the Deallocated state do not incur compute charges.
- De energiestatus van de VM is onbekend.The power state of the VM is unknown.

Gebruik de opdracht Get-AzVM om de status van een bepaalde virtuele machine op te halen.To get the state of a particular VM, use the Get-AzVM command. Zorg ervoor dat u een geldige naam opgeeft voor een VM en een resourcegroep.Be sure to specify a valid name for a VM and resource group.

Get-AzVM `
    -ResourceGroupName "myResourceGroupVM" `
    -Name "myVM" `
    -Status | Select @{n="Status"; e={$_.Statuses[1].Code}}

De uitvoer ziet er ongeveer uit zoals in dit voorbeeld:The output will look something like this example:

Status
------
PowerState/running

Als u de energiestatus van alle VM's in uw abonnement wilt ophalen, gebruikt u de API Virtual Machines - List All, waarbij u de parameter statusOnly instelt op true.To retrieve the power state of all the VMs in your subscription, use the Virtual Machines - List All API with parameter statusOnly set to true.

BeheertakenManagement tasks

Tijdens de levenscyclus van een VM wilt u wellicht beheertaken uitvoeren, zoals het starten, stoppen of verwijderen van een VM.During the lifecycle of a VM, you may want to run management tasks like starting, stopping, or deleting a VM. Misschien wilt u ook scripts maken voor het automatiseren van terugkerende of complexe taken.Additionally, you may want to create scripts to automate repetitive or complex tasks. Met Azure PowerShell kunnen veel algemene beheertaken worden uitgevoerd vanaf de opdrachtregel of in scripts.Using Azure PowerShell, many common management tasks can be run from the command line or in scripts.

Een VM stoppenStop a VM

U kunt een VM stoppen en de toewijzing ervan ongedaan maken met de opdracht Stop-AzVM:Stop and deallocate a VM with Stop-AzVM:

Stop-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM" -Force

Als u wilt dat de VM de status Ingericht houdt, gebruikt u de parameter -StayProvisioned.If you want to keep the VM in a provisioned state, use the -StayProvisioned parameter.

Een VM startenStart a VM

Start-AzVM `
   -ResourceGroupName "myResourceGroupVM" `
   -Name "myVM"

Resourcegroep verwijderenDelete resource group

Alles binnen een resourcegroep wordt verwijderd wanneer u de resourcegroep verwijdert.Everything inside of a resource group is deleted when you delete the resource group.

Remove-AzResourceGroup `
   -Name "myResourceGroupVM" `
   -Force

Volgende stappenNext steps

In deze zelfstudie hebt u geleerd over basistaken voor het maken en beheren van een virtuele machine, zoals:In this tutorial, you learned about basic VM creation and management such as how to:

  • Een virtuele machine maken en verbinding maken met een virtuele machineCreate and connect to a VM
  • VM-installatiekopieën selecteren en gebruikenSelect and use VM images
  • Specifieke VM-grootten weergeven en gebruikenView and use specific VM sizes
  • De grootte van een virtuele machine wijzigenResize a VM
  • De status van een virtuele machine weergeven en begrijpenView and understand VM state

In de volgende zelfstudie leert u meer over VM-schijven.Advance to the next tutorial to learn about VM disks.