我正在编写PowerShell脚本以列出Azure订阅中的资源组。

Get-AzureRmSubscription |
select -ExpandProperty name |
 % {
     Get-AzureRmResourceGroup | select -ExpandProperty resourcegroupname
 }

此代码有效。它返回这样的结果。
Resource group 1
Resource group 2
Resource group 3

如何调整代码以获取如下所示的输出?
Subscription 1,Resource group 1
Subscription 1,Resource group 2
Subscription 2,Resource group 3

非常感谢。

最佳答案

未经测试:

Get-AzureRmSubscription |
 % {
   $subscrName = $_.Name
   Select-AzureSubscription -Current -SubscriptionName $name
   (Get-AzureRmResourceGroup).resourcegroupname | % {
     [pscustomobject] @{
       Subscription = $subscrName
       ResourceGroup = $_
     }
   }
 }

注意:以上更改了 session 的当前订阅。在您的真实代码中,您可能想在之后还原以前的当前代码。

上面的输出具有.Subscription.ResourceGroup属性的自定义对象;如果您真的只想输出字符串,请使用:"$name,$_"

关于azure - 如何使用PowerShell在Azure订阅之间列出资源组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61679470/

10-10 01:29
查看更多