如何解决查找未使用的存储帐户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 举报,一经查实,本站将立刻删除。