Een gegeneraliseerde VHD uploaden naar Azure om een nieuwe VM te maken

In dit onderwerp wordt beschreven hoe u een gegeneraliseerde niet-beheerde schijf uploadt naar een opslagaccount en vervolgens een nieuwe VIRTUELE machine maakt met behulp van de geüploade schijf. Bij een gegeneraliseerde VHD-installatiekopieën zijn al uw persoonlijke accountgegevens verwijderd met behulp van Sysprep.

Zie Een virtuele machine maken op basis van een gespecialiseerde VHD in een opslagaccount als u een virtuele machine wilt maken op basis van een gespecialiseerde VHD.

In dit onderwerp wordt aandacht besteed aan het gebruik van opslagaccounts, maar we raden klanten aan om in plaats daarvan over te stappen op het gebruik van Managed Disks. Zie Een nieuwe VIRTUELE machine maken op basis van een gegeneraliseerde VHD die is geüpload naar Azure met behulp van Managed Disks voor een volledige procedure voor het voorbereiden, uploaden en maken van een nieuwe VIRTUELE machine met behulp van beheerde schijven.

De virtuele machine voorbereiden

Een gegeneraliseerde VHD heeft al uw persoonlijke accountgegevens verwijderd met Sysprep. Als u van plan bent om de VHD als installatiekopieën te gebruiken om nieuwe VM's te maken, moet u het volgende doen:

Een virtuele Windows-machine generaliseren met Sysprep

In deze sectie wordt beschreven hoe u uw virtuele Windows-machine generaliseert voor gebruik als installatiekopieën. Sysprep verwijdert onder meer al uw persoonlijke accountinformatie en de machine wordt voorbereid om als een installatiekopie te worden gebruikt. Zie Sysprep gebruiken voor meer informatie over Sysprep: een inleiding.

Zorg ervoor dat de serverfuncties die op de computer worden uitgevoerd, worden ondersteund door Sysprep. Zie Sysprep-ondersteuning voor serverfuncties voor meer informatie

Belangrijk

Als u Sysprep uitvoert voordat u uw VHD voor het eerst uploadt naar Azure, moet u ervoor zorgen dat u uw VIRTUELE machine hebt voorbereid voordat u Sysprep uitvoert.

  1. Meld u aan bij de Windows-VM.

  2. Open het venster met de opdrachtprompt als beheerder. Wijzig de directory in %windir%\system32\sysprep en voer dan sysprep.exerun uit.

  3. In het dialoogvenster Hulpprogramma voor systeemvoorbereiding selecteert u OOBE (Out-of-Box Experience) van systeem starten en zorgt u dat het selectievakje Generaliseren is ingeschakeld.

  4. Selecteer Afsluiten bij Afsluitopties.

  5. Klik op OK.

    Sysprep starten

  6. Wanneer Sysprep is voltooid, wordt de virtuele machine afgesloten.

Belangrijk

Start de VM pas opnieuw op nadat u klaar bent met het uploaden van de VHD naar Azure of het maken van een installatiekopieën van de virtuele machine. Als de VIRTUELE machine per ongeluk opnieuw wordt opgestart, voert u Sysprep uit om deze opnieuw te generaliseren.

De VHD uploaden

Upload de VHD naar een Azure-opslagaccount.

Meld u aan bij Azure.

Als u PowerShell versie 1.4 of hoger nog niet hebt geïnstalleerd, leest u Hoe u Azure PowerShell installeert en configureert.

  1. Open Azure PowerShell en meld u aan bij uw Azure-account. Er wordt een pop-upvenster geopend om uw Azure-accountreferenties in te voeren.

    Connect-AzAccount
    
  2. Haal de abonnements-id's op voor uw beschikbare abonnementen.

    Get-AzSubscription
    
  3. Stel het juiste abonnement in met behulp van de abonnements-id. Vervang <subscriptionID> door de id van het juiste abonnement.

    Select-AzSubscription -SubscriptionId "<subscriptionID>"
    

Het opslagaccount ophalen

U hebt een opslagaccount in Azure nodig om de geüploade VM-installatiekopieën op te slaan. U kunt een bestaand opslagaccount gebruiken of een nieuw opslagaccount maken.

Als u de beschikbare opslagaccounts wilt weergeven, typt u:

Get-AzStorageAccount

Als u een bestaand opslagaccount wilt gebruiken, gaat u verder met de sectie De VM-installatiekopieën uploaden.

Als u een opslagaccount moet maken, voert u de volgende stappen uit:

  1. U hebt de naam nodig van de resourcegroep waar het opslagaccount moet worden gemaakt. Als u alle resourcegroepen in uw abonnement wilt achterhalen, typt u:

    Get-AzResourceGroup
    

    Als u een resourcegroep wilt maken met de naam myResourceGroup in de regio VS - west, typt u:

    New-AzResourceGroup -Name myResourceGroup -Location "West US"
    
  2. Maak een opslagaccount met de naam mystorageaccount in deze resourcegroep met behulp van de cmdlet New-AzStorageAccount :

    New-AzStorageAccount -ResourceGroupName myResourceGroup -Name mystorageaccount -Location "West US" `
        -SkuName "Standard_LRS" -Kind "Storage"
    

Uploaden starten

Gebruik de cmdlet Add-AzVhd om de installatiekopieën te uploaden naar een container in uw opslagaccount. In dit voorbeeld wordt het bestand myVHD.vhd geüpload naar "C:\Users\Public\Documents\Virtual hard disks\" een opslagaccount met de naam mystorageaccount in de resourcegroep myResourceGroup . Het bestand wordt in de container met de naam mycontainer geplaatst en de nieuwe bestandsnaam is myUploadedVHD.vhd.

$rgName = "myResourceGroup"
$urlOfUploadedImageVhd = "https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd"
Add-AzVhd -ResourceGroupName $rgName -Destination $urlOfUploadedImageVhd `
    -LocalFilePath "C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd"

Als dit lukt, krijgt u een antwoord dat er ongeveer als volgt uitziet:

MD5 hash is being calculated for the file C:\Users\Public\Documents\Virtual hard disks\myVHD.vhd.
MD5 hash calculation is completed.
Elapsed time for the operation: 00:03:35
Creating new page blob of size 53687091712...
Elapsed time for upload: 01:12:49

LocalFilePath           DestinationUri
-------------           --------------
C:\Users\Public\Doc...  https://mystorageaccount.blob.core.windows.net/mycontainer/myUploadedVHD.vhd

Afhankelijk van uw netwerkverbinding en de grootte van uw VHD-bestand, kan het even duren voordat deze opdracht is voltooid.

Een nieuwe VM maakt

U kunt nu de geüploade VHD gebruiken om een nieuwe VIRTUELE machine te maken.

De URI van de VHD instellen

De URI voor de te gebruiken VHD heeft de volgende indeling: https:// mystorageaccount.blob.core.windows.net/mycontainer/MyVhdName.vhd. In dit voorbeeld bevindt de VHD met de naam myVHD zich in het opslagaccount mystorageaccount in de container mycontainer.

$imageURI = "https://mystorageaccount.blob.core.windows.net/mycontainer/myVhd.vhd"

Een virtueel netwerk maken

Maak het vNet en het subnet van het virtuele netwerk.

  1. Maak het subnet. In het volgende voorbeeld wordt een subnet met de naam mySubnet gemaakt in de resourcegroep myResourceGroup met het adresvoorvoegsel 10.0.0.0/24.

    $rgName = "myResourceGroup"
    $subnetName = "mySubnet"
    $singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
    
  2. Maak het virtuele netwerk. In het volgende voorbeeld wordt een virtueel netwerk met de naam myVnet gemaakt op de locatie VS - west met het adresvoorvoegsel 10.0.0.0/16.

    $location = "WestUS"
    $vnetName = "myVnet"
    $vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
        -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet
    

Een openbaar IP-adres en een netwerkinterface maken

Om te kunnen communiceren met de virtuele machine in het virtuele netwerk, hebt u een openbaar IP-adres en een netwerkinterface nodig.

  1. Maak een openbaar IP-adres. In dit voorbeeld wordt een openbaar IP-adres gemaakt met de naam myPip.

    $ipName = "myPip"
    $pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
        -AllocationMethod Dynamic
    
  2. Maak de NIC. In dit voorbeeld wordt een NIC met de naam myNic gemaakt.

    $nicName = "myNic"
    $nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName -Location $location `
        -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id
    

De netwerkbeveiligingsgroep en een RDP-regel maken

Als u zich wilt kunnen aanmelden bij uw VIRTUELE machine met behulp van RDP, moet u een beveiligingsregel hebben waarmee RDP-toegang op poort 3389 is toegestaan.

In dit voorbeeld wordt een NSG met de naam myNsg gemaakt die een regel bevat met de naam myRdpRule waarmee RDP-verkeer via poort 3389 wordt toegestaan. Zie Poorten openen voor een VM in Azure met behulp van PowerShell voor meer informatie over NSG's.

$nsgName = "myNsg"

$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
    -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
    -SourceAddressPrefix Internet -SourcePortRange * `
    -DestinationAddressPrefix * -DestinationPortRange 3389

$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
    -Name $nsgName -SecurityRules $rdpRule

Een variabele maken voor het virtuele netwerk

Maak een variabele voor het voltooide virtuele netwerk.

$vnet = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName

De VM maken

Het volgende PowerShell-script laat zien hoe u de configuraties van de virtuele machine instelt en de geüploade VM-installatiekopieën gebruikt als bron voor de nieuwe installatie.

# Enter a new user name and password to use as the local administrator account 
    # for remotely accessing the VM.
    $cred = Get-Credential

    # Name of the storage account where the VHD is located. This example sets the 
    # storage account name as "myStorageAccount"
    $storageAccName = "myStorageAccount"

    # Name of the virtual machine. This example sets the VM name as "myVM".
    $vmName = "myVM"

    # Size of the virtual machine. This example creates "Standard_D2_v2" sized VM. 
    # See the VM sizes documentation for more information: 
    # https://azure.microsoft.com/documentation/articles/virtual-machines-windows-sizes/
    $vmSize = "Standard_D2_v2"

    # Computer name for the VM. This examples sets the computer name as "myComputer".
    $computerName = "myComputer"

    # Name of the disk that holds the OS. This example sets the 
    # OS disk name as "myOsDisk"
    $osDiskName = "myOsDisk"

    # Assign a SKU name. This example sets the SKU name as "Standard_LRS"
    # Valid values for -SkuName are: Standard_LRS - locally redundant storage, Standard_ZRS - zone redundant
    # storage, Standard_GRS - geo redundant storage, Standard_RAGRS - read access geo redundant storage,
    # Premium_LRS - premium locally redundant storage. 
    $skuName = "Standard_LRS"

    # Get the storage account where the uploaded image is stored
    $storageAcc = Get-AzStorageAccount -ResourceGroupName $rgName -AccountName $storageAccName

    # Set the VM name and size
    $vmConfig = New-AzVMConfig -VMName $vmName -VMSize $vmSize

    #Set the Windows operating system configuration and add the NIC
    $vm = Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $computerName `
        -Credential $cred -ProvisionVMAgent -EnableAutoUpdate
    $vm = Add-AzVMNetworkInterface -VM $vm -Id $nic.Id

    # Create the OS disk URI
    $osDiskUri = '{0}vhds/{1}-{2}.vhd' `
        -f $storageAcc.PrimaryEndpoints.Blob.ToString(), $vmName.ToLower(), $osDiskName

    # Configure the OS disk to be created from the existing VHD image (-CreateOption fromImage).
    $vm = Set-AzVMOSDisk -VM $vm -Name $osDiskName -VhdUri $osDiskUri `
        -CreateOption fromImage -SourceImageUri $imageURI -Windows

    # Create the new VM
    New-AzVM -ResourceGroupName $rgName -Location $location -VM $vm

Controleer of de VIRTUELE machine is gemaakt

Als u klaar bent, ziet u de zojuist gemaakte VM in de Azure Portal onderVirtuele machinesbladeren> of met behulp van de volgende PowerShell-opdrachten:

    $vmList = Get-AzVM -ResourceGroupName $rgName
    $vmList.Name

Volgende stappen

Zie Virtuele machines beheren met Behulp van Azure Resource Manager en PowerShell voor het beheren van uw nieuwe virtuele machine met Azure PowerShell.