我是Powershell和Azure的新手,需要从多个资源组以及多个订阅中导出所有LocalNetworkGateway信息。
一个贡献者为我提供了一个脚本,该脚本可以在单个订阅中输出来自多个资源组的数据,但是我需要找到一种在所有订阅中执行此操作的方法,而不必手动为每个订阅和然后为每个订阅运行脚本。
我用过
$azureSubs = Get-AzSubscription
作为一种跨多个订阅提取信息的方法,该方法不需要资源组名称,但是我现在陷入困境。下面的代码已成功在RG的各个订阅中提供了信息。
$resourceGroups = Get-AzResourceGroup
$resourceGroups.foreach{
Get-AzLocalNetworkGateway -ResourceGroupName $_.ResourceGroupName |
Export-Csv -Path "c:\Azure\LocalNetworkGateway.csv" -Append
}
答案 0 :(得分:0)
您需要围绕订阅创建另一个循环(类似于资源组),唯一的技巧是您需要在对订阅进行请求之前切换活动订阅:
$azureSubs = Get-AzSubscription
$azureSubs.foreach{
Select-AzSubscription $_ # << change active subscription
$resourceGroups = Get-AzResourceGroup # << same resource group loop starts here
$resourceGroups.foreach{
Get-AzLocalNetworkGateway -ResourceGroupName $_.ResourceGroupName |
Export-Csv -Path "c:\Azure\LocalNetworkGateway.csv" -Append
}
}