Delen via


Een aangepaste installatiekopieën maken op basis van een VHD-bestand met PowerShell

In Azure DevTest Labs kunt u aangepaste installatiekopieën gebruiken voor het volgende:

  • Maak een virtuele machine op basis van een VHD-bestand met alle software die u vooraf nodig hebt.
  • Snel VM's maken, omdat u niet alle vereiste software op de doelcomputers hoeft te installeren.
  • Kloon een VIRTUELE machine door een aangepaste installatiekopieën te maken op basis van een VIRTUELE machine en vervolgens VM's te maken op basis van die installatiekopieën.

Vereisten

Als u deze zelfstudie wilt doorlopen, hebt u een VHD-bestand (virtuele harde schijf) nodig dat is geüpload naar het Azure Storage-account voor het lab waar u de aangepaste installatiekopieën wilt maken. Als u een VHD-bestand wilt uploaden naar uw opslagaccount, volgt u de instructies in een van deze artikelen:

Notitie

Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.

PowerShell-stappen

De volgende stappen helpen u bij het maken van een aangepaste installatiekopieën van een VHD-bestand met behulp van Azure PowerShell:

  1. Meld u bij een PowerShell-opdrachtprompt aan bij uw Azure-account met de cmdlet Verbinding maken-AzAccount:

    Connect-AzAccount
    
  2. Selecteer uw Azure-abonnement met de cmdlet Select-AzSubscription . Vervang <de abonnements-id> door de GUID van uw abonnements-id.

    $subscriptionId = '<subscription ID>'
    Select-AzSubscription -SubscriptionId $subscriptionId
    
  3. Haal het labobject op door de Get-AzResource-cmdlet aan te roepen. Vervang de tijdelijke aanduidingen voor de <labresourcegroep en> <labnaam> door uw eigen resourcegroep en labnamen.

    $labRg = '<lab resource group name>'
    $labName = '<lab name>'
    $lab = Get-AzResource -ResourceId ('/subscriptions/' + $subscriptionId + '/resourceGroups/' + $labRg + '/providers/Microsoft.DevTestLab/labs/' + $labName)
    
  4. Vervang de tijdelijke aanduiding voor de variabele $vhdUri door de URI van het geüploade VHD-bestand. U kunt de URI van het VHD-bestand ophalen via de blobpagina van het lab in het opslagaccount van het lab in Azure Portal. Een voorbeeld van een VHD-URI is: https://acontosolab1234.blob.core.windows.net/uploads/myvhd.vhd.

    $vhdUri = '<VHD URI>'
    
  5. Maak de aangepaste installatiekopie met behulp van de cmdlet New-AzResourceGroupDeployment . Vervang de tijdelijke aanduidingen voor de <aangepaste afbeeldingsnaam> en <aangepaste afbeeldingsbeschrijving> door de gewenste naam en beschrijving.

    $customImageName = '<custom image name>'
    $customImageDescription = '<custom image description>'
    
    $parameters = @{existingLabName="$($lab.Name)"; existingVhdUri=$vhdUri; imageOsType='windows'; isVhdSysPrepped=$false; imageName=$customImageName; imageDescription=$customImageDescription}
    
    New-AzResourceGroupDeployment -ResourceGroupName $lab.ResourceGroupName -Name CreateCustomImage -TemplateUri 'https://raw.githubusercontent.com/Azure/azure-devtestlab/master/samples/DevTestLabs/QuickStartTemplates/201-dtl-create-customimage-from-vhd/azuredeploy.json' -TemplateParameterObject $parameters
    

PowerShell-script voltooien

Als u de voorgaande stappen combineert, wordt het volgende PowerShell-script gemaakt waarmee een aangepaste installatiekopieën worden gemaakt op basis van een VHD-bestand. Als u het script wilt gebruiken, vervangt u de volgende tijdelijke aanduidingen door uw eigen waarden:

  • <abonnements-id>
  • <naam labresourcegroep>
  • <labnaam>
  • <VHD-URI>
  • <aangepaste naam van installatiekopieën>
  • <beschrijving van aangepaste installatiekopieën>
# Log in to your Azure account.
Connect-AzAccount

# Select the desired Azure subscription.
$subscriptionId = '<subscription ID>'
Select-AzSubscription -SubscriptionId $subscriptionId

# Get the lab object.
$labRg = '<lab resource group name>'
$labName = '<lab name>'
$lab = Get-AzResource -ResourceId ('/subscriptions/' + $subscriptionId + '/resourceGroups/' + $labRg + '/providers/Microsoft.DevTestLab/labs/' + $labName)

# Set the URI of the VHD file.
$vhdUri = '<VHD URI>'

# Set the custom image name and description values.
$customImageName = '<custom image name>'
$customImageDescription = '<custom image description>'

# Set up the parameters object.
$parameters = @{existingLabName="$($lab.Name)"; existingVhdUri=$vhdUri; imageOsType='windows'; isVhdSysPrepped=$false; imageName=$customImageName; imageDescription=$customImageDescription}

# Create the custom image.
New-AzResourceGroupDeployment -ResourceGroupName $lab.ResourceGroupName -Name CreateCustomImage -TemplateUri 'https://raw.githubusercontent.com/Azure/azure-devtestlab/master/samples/DevTestLabs/QuickStartTemplates/201-dtl-create-customimage-from-vhd/azuredeploy.json' -TemplateParameterObject $parameters

Volgende stappen