如何使用 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

}