You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell提取Azure近1个月活动日志中已删除的资源?

关于提取Azure过去1个月已删除资源的命令说明

你的原命令存在两个核心问题,无法保证返回全部已删除资源:

  1. OperationName的过滤逻辑错误
    Get-AzLog返回的日志条目中,OperationName是包含Value和LocalizedValue的对象,并非直接字符串。直接对$_.OperationName调用StartsWith("Delete")会导致判断失效,因为无法对对象执行字符串匹配操作。

  2. 过滤范围过窄
    多数Azure资源的删除操作,其OperationName.Value格式为{资源提供商}/{资源类型}/delete(例如Microsoft.Storage/storageAccounts/delete),并不会以"Delete"开头;只有LocalizedValue会显示为类似"Delete storage account"的本地化名称。

修正后的命令

要更准确地获取所有删除操作的日志,可使用以下两种过滤方式:

方式1:基于操作名称的Value属性匹配

$StartTime = (Get-Date).AddMonths(-1)
$EndTime = Get-Date
Get-AzLog -StartTime $StartTime -EndTime $EndTime | 
    Where-Object { $_.OperationName.Value -like "*delete" }

方式2:基于本地化操作名称匹配

$StartTime = (Get-Date).AddMonths(-1)
$EndTime = Get-Date
Get-AzLog -StartTime $StartTime -EndTime $EndTime | 
    Where-Object { $_.OperationName.LocalizedValue -like "Delete*" }

补充说明

  • 活动日志(Get-AzLog获取的日志)默认保留90天,提取过去1个月的日志完全符合保留范围。
  • 若需获取软删除状态的资源(而非仅删除操作记录),可使用Get-AzResource -IncludeDeleted,但该命令仅支持部分具备软删除特性的资源类型(如存储账户、SQL数据库等),无法覆盖所有资源。

内容的提问来源于stack exchange,提问作者Deepthi S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 00:28:15