如何使用 Powershell 中的快照创建 Azure 托管磁盘

Posted

技术标签:

【中文标题】如何使用 Powershell 中的快照创建 Azure 托管磁盘【英文标题】:How to Create a Azure managed Disk using snapshot from Powershell 【发布时间】:2021-11-14 06:17:20 【问题描述】:

如何使用 PowerShell 中的快照创建 Azure 托管磁盘?

我可以使用 Azure 门户中的快照创建托管磁盘,但是如何使用 PowerShell 来创建托管磁盘?

【问题讨论】:

【参考方案1】:

您可以使用以下脚本在您需要的区域创建托管磁盘的快照。在下面的脚本中,您可以根据需要输入订阅 ID、资源组名称和其他组件的详细信息,您应该能够为它们创建快照

#Provide the subscription Id
$subscriptionId = 'yourSubscriptionId'

#Provide the name of your resource group
$resourceGroupName ='yourResourceGroupName'

#Provide the name of the snapshot that will be used to create Managed Disks
$snapshotName = 'yourSnapshotName'

#Provide the name of the Managed Disk
$diskName = 'yourManagedDiskName'

#Provide the size of the disks in GB. It should be greater than the VHD file size.
$diskSize = '128'

#Provide the storage type for Managed Disk. PremiumLRS or StandardLRS.
$storageType = 'Premium_LRS'

#Provide the Azure region (e.g. westus) where Managed Disks will be located.
#This location should be same as the snapshot location
#Get all the Azure location using command below:
#Get-AzLocation
$location = 'westus'

#Set the context to the subscription Id where Managed Disk will be created
Select-AzSubscription -SubscriptionId $SubscriptionId

$snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName 

$diskConfig = New-AzDiskConfig -SkuName $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id -DiskSizeGB $diskSize
 
New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName

来源here。

您也可以使用here 中提到的 powershell 命令:

1)设置所需参数。更新值以反映您的环境。

$resourceGroupName = 'myResourceGroup' 
$location = 'eastus' 
$vmName = 'myVM'
$snapshotName = 'mySnapshot'

2)使用 Get-AzVM cmdlet 获取包含要复制的 VHD 的 VM。

$vm = Get-AzVM `
    -ResourceGroupName $resourceGroupName `
    -Name $vmName

3)创建快照配置

$snapshot =  New-AzSnapshotConfig `
    -SourceUri $vm.StorageProfile.OsDisk.ManagedDisk.Id `
    -Location $location `
    -CreateOption copy

4)拍摄快照:

New-AzSnapshot `
    -Snapshot $snapshot `
    -SnapshotName $snapshotName `
    -ResourceGroupName $resourceGroupName

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于如何使用 Powershell 中的快照创建 Azure 托管磁盘的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AZ Powershell 获取 VMSize 的成本/月?

如何更新所有 Azure Powershell Az 模块?

Azure 函数中的 Az.Functions 模块引发错误

使用 Azure AZ Powershell Cmdlet 列出 Azure 安全中心策略状态

powershell PowerShell的自定义提示,在切片栏中显示您当前的Az订阅

Azure自动化| Runbook | Powershell | Get-AzRoleAssignment | Microsoft.Rest.Azure.CloudException