如何编写 Powershell 脚本来识别多个订阅中创建日期在过去 30 天内的任何 azure 资源

how to write Powershell script to identify any azure resource with a creation date in the last 30 days in multiple subscriptions

如何使用 PowerShell 脚本识别多个订阅中创建日期在过去 30 天内的所有 Azure 资源

嗯,首先你应该注意你正在使用的是一个非常古老的 AzureRm 模块命令,它已被弃用并且不会被更新。所以我推荐你使用新的 Az module, you could refer to the doc to migrate Azure PowerShell from AzureRM to Az.

然后使用下面的脚本,它将从您登录的用户 account/service 主体可以访问的所有订阅中获取所有资源。

$subs= Get-AzSubscription
foreach($sub in $subs){
    Set-AzContext -Subscription $sub.Id -Tenant $sub.TenantId
    Write-Host "login to subscription - "$sub.Name
    $groups = (Get-AzResourceGroup).ResourceGroupName
    foreach($group in $groups){
        Get-AzResourceGroupDeployment -ResourceGroupName $group | Where-Object {$_.Timestamp -gt '12/15/2020'}
    }
}

如果您仍然想使用旧的 AzureRm 模块,那么脚本应该是:

$subs= Get-AzureRmSubscription
foreach($sub in $subs){
    Set-AzureRmContext -Subscription $sub.Id -Tenant $sub.TenantId
    Write-Host "login to subscription - "$sub.Name
    $groups = (Get-AzureRmResourceGroup).ResourceGroupName
    foreach($group in $groups){
        Get-AzureRmResourceGroupDeployment -ResourceGroupName $group | Where-Object {$_.Timestamp -gt '12/15/2020'}
    }
}