如何使用 Powershell 删除超过 7 天的 Azure 托管磁盘快照?
How to delete Azure Managed Disk snapshots older than 7 days using Powershell?
如何使用 Powershell 删除超过 7 天的 Azure 托管磁盘快照?
我们每天拍摄托管磁盘的自动快照。快照命名为:['AppDisk_snapshot_AM' + "_" + (Get-Date -Format "yyyy-MM-dd")]
快照存储在“/subscriptions/[订阅 ID]/resourceGroups/[资源组名称]/providers/Microsoft.Compute/snapshots”
我想知道如何删除这些超过 7 天的快照并保留最新的。谢谢。
根据您的描述,我们可以使用这个脚本来做到这一点:
$rg = 'vm'
$snapshotnames = (Get-AzureRmSnapshot -ResourceGroupName $rg).name
foreach($snapname in $snapshotnames)
{
Get-AzureRmSnapshot -ResourceGroupName $rg -SnapshotName $snapname |?{$_.id -like '*AppDisk*'} | ?{($_.TimeCreated).ToString('yyyyMMdd') -lt ([datetime]::Today.AddDays(-7).tostring('yyyyMMdd'))} | remove-azurermsnapshot -force
}
如何使用 Powershell 删除超过 7 天的 Azure 托管磁盘快照?
我们每天拍摄托管磁盘的自动快照。快照命名为:['AppDisk_snapshot_AM' + "_" + (Get-Date -Format "yyyy-MM-dd")]
快照存储在“/subscriptions/[订阅 ID]/resourceGroups/[资源组名称]/providers/Microsoft.Compute/snapshots”
我想知道如何删除这些超过 7 天的快照并保留最新的。谢谢。
根据您的描述,我们可以使用这个脚本来做到这一点:
$rg = 'vm'
$snapshotnames = (Get-AzureRmSnapshot -ResourceGroupName $rg).name
foreach($snapname in $snapshotnames)
{
Get-AzureRmSnapshot -ResourceGroupName $rg -SnapshotName $snapname |?{$_.id -like '*AppDisk*'} | ?{($_.TimeCreated).ToString('yyyyMMdd') -lt ([datetime]::Today.AddDays(-7).tostring('yyyyMMdd'))} | remove-azurermsnapshot -force
}