Bagikan melalui


Buat gambar kustom dari file VHD dengan PowerShell

Di Azure DevTest Labs, Anda dapat menggunakan gambar kustom untuk:

  • Membuat Mesin Virtual dari file VHD yang memiliki semua perangkat lunak yang Anda butuhkan sudah diinstal sebelumnya.
  • Membuat Mesin Virtual dengan cepat, karena Anda tidak perlu menginstal semua perangkat lunak yang diperlukan pada mesin target.
  • Mengkloning Mesin Virtual dengan membuat gambar kustom dari Mesin Virtual, kemudian membuat Mesin Virtual berdasarkan gambar tersebut.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan file virtual hard disk (VHD) yang diunggah ke akun Azure Storage untuk lab tempat Anda ingin membuat gambar kustom. Untuk mengunggah file VHD ke akun penyimpanan Anda, ikuti instruksi di salah satu artikel ini:

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Langkah-langkah PowerShell

Langkah-langkah berikut memandu Anda dalam membuat gambar kustom dari file VHD dengan menggunakan Azure PowerShell:

  1. Pada perintah PowerShell, masuk ke akun Azure Anda dengan cmdlet Connect-AzAccount:

    Connect-AzAccount
    
  2. Pilih langganan Azure Anda dengan cmdlet Select-AzSubscription. Ganti <ID langganan> dengan GUID ID langganan Anda.

    $subscriptionId = '<subscription ID>'
    Select-AzSubscription -SubscriptionId $subscriptionId
    
  3. Dapatkan objek lab dengan memanggil cmdlet Get-AzResource. Ganti tempat penampung <nama grup sumber daya lab> dan <nama lab> dengan grup sumber daya dan nama lab Anda sendiri.

    $labRg = '<lab resource group name>'
    $labName = '<lab name>'
    $lab = Get-AzResource -ResourceId ('/subscriptions/' + $subscriptionId + '/resourceGroups/' + $labRg + '/providers/Microsoft.DevTestLab/labs/' + $labName)
    
  4. Ganti tempat penampung untuk variabel $vhdUri dengan URI file VHD yang Anda unggah. Anda bisa mendapatkan URI file VHD dari halaman blobnya di akun penyimpanan lab di portal Microsoft Azure. Contoh URI VHD adalah: https://acontosolab1234.blob.core.windows.net/uploads/myvhd.vhd.

    $vhdUri = '<VHD URI>'
    
  5. Buat gambar kustom dengan menggunakan cmdlet New-AzResourceGroupDeployment. Ganti tempat penampung <nama gambar kustom> dan <deskripsi gambar kustom> dengan nama dan deskripsi yang Anda inginkan.

    $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
    

Melengkapi skrip PowerShell

Menggabungkan langkah-langkah sebelumnya menghasilkan skrip PowerShell berikut yang membuat gambar kustom dari file VHD. Untuk menggunakan skrip, ganti tempat penampung berikut dengan nilai Anda sendiri:

  • <ID langganan>
  • <nama grup sumber daya lab>
  • <Nama lab>
  • <URI VHD>
  • <nama gambar kustom>
  • <deskripsi gambar kustom>
# 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

Langkah berikutnya