微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查找未使用的存储帐户Azure ARM

如何解决查找未使用的存储帐户Azure ARM

我的订阅已达到250个存储帐户的上限。存储帐户是使用ARM创建的

我需要一种方法来查找未使用的存储帐户并将其删除。基本上,我想查找具有90天未访问过的容器的存储帐户并进行清理。

有没有一种方法可以检查上次访问的时间,或者有更好的方法使用PowerShell或最好是Azure cli进行清理

谢谢

解决方法

您可以做的是从LastModified属性中获取最新的修改后的容器,然后检查此时间戳是否小于当前日期减去90天。

# Set current context to subscription
Set-AzContext -SubscriptionId "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"

# Go through every storage account in your subscription
foreach ($storageAccount in Get-AzStorageAccount) {
    $storageAccountName = $storageAccount.StorageAccountName
    $resourceGroupName = $storageAccount.ResourceGroupName

    # Get key1 storage account key
    $storageAccountKey = (Get-AzStorageAccountKey -Name $storageAccountName -ResourceGroupName $resourceGroupName).Value[0]

    # Create storage account context using above key
    $context = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $storageAccountKey

    # Get the most recently accessed container by sorting by LastModified and picking the last object
    $lastModified = Get-AzStorageContainer -Context $context 
        | Sort-Object -Property @{Expression = {$_.LastModified.DateTime}}
            | Select-Object -Last 1 -ExpandProperty LastModified

    # Remove storage account if it is older than 90 days
    if ($lastModified.DateTime -lt (Get-Date).AddDays(-90)) {
        Remove-AzStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Force -WhatIf
    }
}

由于此操作可能非常有害,因此可以将Remove-AzStorageAccount-WhatIf一起运行,以查看要真正删除存储帐户之前将删除哪些存储帐户。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。