此腳本會從儲存帳戶中的 VHD 檔案在相同或不同的訂閱中建立快照。 使用此腳本將特製化(非一般化/sysprepped)VHD匯入至快照,然後利用快照在短時間內建立多個相同的管理磁碟。 此外,請使用它將數據 VHD 匯入快照集,然後使用快照集在少量時間內建立多個受控磁碟。
如果您沒有 Azure 訂用帳戶,請在開始之前,先建立 Azure 免費帳戶。
範例腳本
#Provide the subscription Id where snapshot will be created
$subscriptionId = 'yourSubscriptionId'
#Provide the name of your resource group where snapshot will be created.
$resourceGroupName ='yourResourceGroupName'
#Provide the name of the snapshot
$snapshotName = 'yourSnapshotName'
#Provide the storage type for snapshot. PremiumLRS or StandardLRS.
$storageType = 'StandardLRS'
#Provide the Azure region (e.g. westus) where snapshot will be located.
#This location should be same as the storage account location where VHD file is stored
#Get all the Azure location using command below:
#Get-AzLocation
$location = 'westus'
#Provide the URI of the VHD file (page blob) in a storage account. Please not that this is NOT the SAS URI of the storage container where VHD file is stored.
#e.g. https://contosostorageaccount1.blob.core.windows.net/vhds/contosovhd123.vhd
#Note: VHD file can be deleted as soon as Managed Disk is created.
$sourceVHDURI = 'https://yourStorageAccountName.blob.core.windows.net/vhds/yourVHDName.vhd'
#Provide the resource Id of the storage account where VHD file is stored.
#e.g. /subscriptions/6582b1g7-e212-446b-b509-314e17e1efb0/resourceGroups/MDDemo/providers/Microsoft.Storage/storageAccounts/contosostorageaccount1
#This is an optional parameter if you are creating snapshot in the same subscription
$storageAccountId = '/subscriptions/yourSubscriptionId/resourceGroups/yourResourceGroupName/providers/Microsoft.Storage/storageAccounts/yourStorageAccountName'
#Set the context to the subscription Id where Managed Disk will be created
Select-AzSubscription -SubscriptionId $SubscriptionId
$snapshotConfig = New-AzSnapshotConfig -AccountType $storageType -Location $location -CreateOption Import -StorageAccountId $storageAccountId -SourceUri $sourceVHDURI
New-AzSnapshot -Snapshot $snapshotConfig -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName
後續步驟
如需有關 Azure PowerShell 模組的詳細資訊,請參閱 Azure PowerShell 文件。
如需其他虛擬機 PowerShell 腳本範例,請參閱 Azure Windows VM 檔案。