如何从多个ResourceGroup以及多个订阅中导出LocalNetworkGateway信息

时间:2019-02-08 16:41:53

标签: azure powershell subscription

我是Powershell和Azure的新手,需要从多个资源组以及多个订阅中导出所有LocalNetworkGateway信息。

一个贡献者为我提供了一个脚本,该脚本可以在单个订阅中输出来自多个资源组的数据,但是我需要找到一种在所有订阅中执行此操作的方法,而不必手动为每个订阅和然后为每个订阅运行脚本。

我用过

$azureSubs = Get-AzSubscription 

作为一种跨多个订阅提取信息的方法,该方法不需要资源组名称,但是我现在陷入困境。下面的代码已成功在RG的各个订阅中提供了信息。

$resourceGroups = Get-AzResourceGroup
$resourceGroups.foreach{ 
 Get-AzLocalNetworkGateway -ResourceGroupName $_.ResourceGroupName | 
     Export-Csv -Path "c:\Azure\LocalNetworkGateway.csv" -Append
}

1 个答案:

答案 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
    }
}