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:
- Upload een VHD-bestand met behulp van het opdrachtregelprogramma AzCopy.
- Upload een VHD-bestand met behulp van Microsoft Azure Storage Explorer.
- Upload een VHD-bestand met behulp van PowerShell.
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:
Meld u bij een PowerShell-opdrachtprompt aan bij uw Azure-account met de cmdlet Verbinding maken-AzAccount:
Connect-AzAccount
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
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)
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>'
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