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

使用PowerShell筛选Azure中未使用/闲置存储账户的方法求助

筛选Azure中闲置存储账户的PowerShell脚本完善方案

你的脚本已经能获取存储账户的基础信息,要筛选未使用/闲置的账户,我们可以从容器最后修改时间和是否存在容器两个维度判断,以下是完善后的脚本:

& {
    # 设置闲置阈值:这里设为30天,可根据需求调整
    $idleThreshold = (Get-Date).AddDays(-30)

    foreach ($storageAccount in Get-AzStorageAccount) {
        $storageAccountName = $storageAccount.StorageAccountName
        $resourceGroupName = $storageAccount.ResourceGroupName

        # 获取存储账户密钥并创建上下文
        $storageAccountKey = (Get-AzStorageAccountKey -Name $storageAccountName -ResourceGroupName $resourceGroupName).Value[0]
        $context = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey

        # 获取所有容器的最后修改时间,取最新的那个
        $containers = Get-AzStorageContainer -Context $context
        $lastModified = $containers | Sort-Object -Property @{Expression = {$_.LastModified.DateTime}} | Select-Object -Last 1 -ExpandProperty LastModified

        # 判断是否为闲置账户:无容器 或 最后修改时间早于阈值
        $isIdle = (-not $containers) -or ($lastModified -lt $idleThreshold)

        if ($isIdle) {
            New-Object psobject -Property @{
                Name = $storageAccountName;
                LastModified = if ($lastModified) { $lastModified.DateTime } else { "从未使用" };
                ResourceGroupName = $resourceGroupName
            }
        }
    }
} | Format-Table Name, LastModified, ResourceGroupName -autosize

关键修改说明

  • 闲置阈值自定义:$idleThreshold 可以根据你的需求调整天数,比如改成AddDays(-90)筛选90天未使用的账户
  • 无容器判断:如果存储账户下没有任何容器,直接判定为闲置(这类账户大概率从未被使用)
  • 时间筛选逻辑:有容器的账户,对比最新的容器修改时间是否早于阈值,符合则判定为闲置
  • 友好输出:给从未使用的账户标注从未使用,方便快速识别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 03:50:41