且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何每10分钟删除一次托管磁盘快照

更新时间:2023-02-22 13:53:12

您应该使用 [datetime] :: UtcNow 而不是 [datetime] :: Now 使用 .tostring('yyyymmdd').

You should use [datetime]::UtcNow instead of [datetime]::Now and not use .tostring('yyyymmdd').

所以您的命令应该是:

foreach($snapname in $snapshotnames)
{
    Get-AzureRmSnapshot -ResourceGroupName $rg -SnapshotName $snapname | ?{$_.Name -Like "*-Server1*"} | ?{($_.TimeCreated) -lt ([datetime]::UtcNow.AddMinutes(-10))} | remove-azurermsnapshot -force
}

我的特定测试命令:

Get-AzureRmSnapshot -ResourceGroupName "<ResourceGroupName>" -SnapshotName "<SnapshotName>" | ?{($_.TimeCreated) -lt ([datetime]::UtcNow.AddMinutes(-10))} | remove-azurermsnapshot -force

结果截图: