我正在编写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
太感谢你了。
2条答案
按热度按时间svmlkihl1#
除了@mklement的精彩回答之外,下面是您如何使用最新的Azure PowerShell Az module而不是AzureRM来完成这一任务:
要更改为活动订阅,我们可以使用
Set-AzContext
更改上下文,并从Get-AzSubscription
传递SubscriptionId
。还应该可以使用Set-AzContext -Subscription $subscriptionName
传递订阅名称。如果要对Az模块运行AzureRM命令,可以运行
Enable-AzureRmAlias
,这允许您对Az模块使用AzureRM前缀。nwwlzxa72#
注:
AzureRM
模块的cmdlet,该模块已被跨平台Az
模块取代-请参见this announcement。Az
模块的更新解决方案**。注意:上面的操作改变了会话的当前订阅。在你的真实代码中,你可能想在以后恢复以前的当前订阅。
上面的输出带有
.Subscription
和.ResourceGroup
属性的自定义对象;如果您确实只想输出字符串,请使用:"$name,$_"