Running
时,才是更新的PowerShell脚本。 我转介到
here的脚本。
# Variables
$rgname = "Venkat-RG"
$vmssname = "theja-vmss"
$Id = 0
$location = "East US"
# Check instance state
$instanceView = Get-AzVmssVM -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $Id -InstanceView
$instanceState = $instanceView.Statuses | Where-Object { $_.Code -like "PowerState/*" }
if ($instanceState.DisplayStatus -eq "VM running") {
Write-Host "VM instance is running. Proceeding with snapshot creation..."
# Get the VMSS instance details
$vmss1 = Get-AzVmssVM -ResourceGroupName $rgname -VMScaleSetName $vmssname -InstanceId $Id
# Create snapshot configuration
$snapshotconfig = New-AzSnapshotConfig -Location $location -AccountType Standard_LRS -OsType Windows -CreateOption Copy -SourceUri $vmss1.StorageProfile.OsDisk.ManagedDisk.id
# Create the snapshot
$snapshotName = "mySnapshot"
New-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotName -Snapshot $snapshotconfig
Write-Host "Snapshot '$snapshotName' created successfully."
# Get the snapshot details
$snapshot = Get-AzSnapshot -ResourceGroupName $rgname -SnapshotName $snapshotName
# Create a managed disk from the snapshot
$diskConfig = New-AzDiskConfig -AccountType Premium_LRS -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id
$osDisk = New-AzDisk -Disk $diskConfig -ResourceGroupName $rgname -DiskName ($snapshotName + '_Disk')
Write-Host "Managed disk '${snapshotName}_Disk' created successfully from the snapshot."
} else {
Write-Host "VM instance is not running. Snapshot creation aborted."
}
输出: