正在尝试使用powershell获取Azure中的未使用/不活动存储帐户列表。下面是我的脚本,我正在尝试它将提供存储帐户名称和Azure存储帐户的最后修改日期,但我只需要列出未使用的存储帐户名称,而不是所有存储帐户,对于这一些条件/过滤器我需要提供实现相同的。请协助我解决这个问题。谢谢提前
它会将结果输出到一个表中,详细列出Azure存储帐户的名称和上次修改日期。
& {
foreach ($storageAccount in Get-AzStorageAccount) {
$storageAccountName = $storageAccount.StorageAccountName
$resourceGroupName = $storageAccount.ResourceGroupName
# Get 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 last modified date
$lastModified = Get-AzStorageContainer -Context $context | Sort-Object -Property @{Expression = {$_.LastModified.DateTime}} | Select-Object -Last 1 -ExpandProperty LastModified
# Collect the information to output to a table when the for loop has completed
New-Object psobject -Property @{
Name = $storageAccountName;
LastModified = $lastModified.DateTime;
ResourceGroupName = $resourceGroupName
}
}
} | Format-Table Name, LastModified, ResourceGroupName -autosize
2条答案
按热度按时间b1uwtaje1#
我尝试在我的环境中重现相同的结果,结果如下:
通过使用相同的脚本,我获得了Azure存储帐户的存储帐户名称和上次修改日期。
为了使用PowerShell仅获取Azure中的未使用/非活动存储帐户,我修改了脚本,如下所示:
我同意@Niclas,您需要使用**
get-date
**命令。注:根据您的要求,您可以更改此行中的天数
$unusedacc = (Get-Date).AddDays(-10)
。如果没有未使用的存储帐户,则将返回如下空白结果:
vuv7lop32#
使用
get-date
https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date
并使用
Where-Object
。https://www.techielass.com/find-unused-storage-accounts-in-azure/
使用您的脚本:
使用我的更改: