Vytvoření vlastní image ze souboru VHD pomocí PowerShellu
Ve službě Azure DevTest Labs můžete použít vlastní image k:
- Vytvořte virtuální počítač ze souboru VHD, který má veškerý software, který potřebujete předinstalovat.
- Rychle vytvořte virtuální počítače, protože na cílové počítače nemusíte instalovat veškerý požadovaný software.
- Naklonujte virtuální počítač vytvořením vlastní image z virtuálního počítače a následným vytvořením virtuálních počítačů na základě této image.
Požadavky
K tomuto kurzu potřebujete soubor virtuálního pevného disku (VHD) nahraný do účtu služby Azure Storage pro testovací prostředí, ve kterém chcete vytvořit vlastní image. Pokud chcete nahrát soubor VHD do účtu úložiště, postupujte podle pokynů v jednom z těchto článků:
- Nahrajte soubor VHD pomocí nástroje příkazového řádku AzCopy.
- Nahrajte soubor VHD pomocí Průzkumník služby Microsoft Azure Storage.
- Nahrajte soubor VHD pomocí PowerShellu.
Poznámka:
Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Pokud chcete začít, přečtěte si téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Kroky PowerShellu
Následující kroky vás provedou vytvořením vlastní image ze souboru VHD pomocí Azure PowerShellu:
Na příkazovém řádku PowerShellu se přihlaste ke svému účtu Azure pomocí rutiny Připojení-AzAccount:
Connect-AzAccount
Vyberte své předplatné Azure pomocí rutiny Select-AzSubscription . Nahraďte <ID> předplatného identifikátorem GUID ID předplatného.
$subscriptionId = '<subscription ID>' Select-AzSubscription -SubscriptionId $subscriptionId
Získejte objekt testovacího prostředí voláním rutiny Get-AzResource . Zástupné symboly názvu> skupiny prostředků testovacího prostředí a <názvu> testovacího <prostředí nahraďte vlastními názvy skupin prostředků a testovacího prostředí.
$labRg = '<lab resource group name>' $labName = '<lab name>' $lab = Get-AzResource -ResourceId ('/subscriptions/' + $subscriptionId + '/resourceGroups/' + $labRg + '/providers/Microsoft.DevTestLab/labs/' + $labName)
Zástupný symbol pro proměnnou $vhdUri nahraďte identifikátorem URI nahraného souboru VHD. Identifikátor URI souboru VHD můžete získat ze stránky objektu blob v účtu úložiště testovacího prostředí na webu Azure Portal. Příklad identifikátoru URI virtuálního pevného disku je:
https://acontosolab1234.blob.core.windows.net/uploads/myvhd.vhd
.$vhdUri = '<VHD URI>'
Vytvořte vlastní image pomocí rutiny New-AzResourceGroupDeployment . <Nahraďte název> vlastní image a <zástupné symboly popisu> vlastního obrázku požadovaným názvem a popisem.
$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
Dokončení skriptu PowerShellu
Kombinace předchozích kroků vytvoří následující skript PowerShellu, který vytvoří vlastní image ze souboru VHD. Pokud chcete skript použít, nahraďte následující zástupné symboly vlastními hodnotami:
- <ID předplatného>
- <Název skupiny prostředků testovacího prostředí>
- <Název testovacího prostředí>
- <Identifikátor URI virtuálního pevného disku>
- <název vlastní image>
- <Vlastní popis obrázku>
# 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