新的和即将取代的AzureRsourceManager cmdlet都需要-ResourceGroupName
参数。我希望在哪里得到这个?不包括用户界面,因为这主要是为了实现自动化的目的。
目前,我正在呼叫Get-AzureResourceGroup
并尝试每一个,直到我受到欢迎。这非常慢 - 大约几分钟。例如,要获取WebApp信息,我正在运行它,
$groups = Get-AzureResourceGroup
foreach ($g in $groups)
{
if ($ResourceGroup) { $ResourceGroup.Value = $g.ResourceGroupName }
$app = Get-AzureWebApp -Name $Name -ResourceGroupName $g.ResourceGroupName -ErrorAction SilentlyContinue
Write-Verbose "Checking $($g.ResourceGroupName)"
if ($app)
{
$ResourceGroups[$g.ResourceGroupName] = @($ResourceGroups[$g.ResourceGroupName]) + $Name
return $app
}
}
答案 0 :(得分:0)
如果您转到门户网站并导航到您的网络应用程序,您可以轻松查看它所在的资源组。请参阅下面的屏幕截图。资源组是什么,是用于对资源进行分组的任意名称。例如,您可以看到它正在对两个Web应用程序和两个应用程序服务计划进行分组。
答案 1 :(得分:0)
您可以使用Azure PowerShell中的 Get-AzureRmResourceGroup PowerShell命令,无需任何参数即可在非常快的响应时间内获取所有资源组。
参考链接:Get-AzureRMResourceGroup description
注意:您需要将Azure PowerShell更新为此新功能的最新版本。当前版本 1。0。1(2015年11月更新)
答案 2 :(得分:0)
正如@theadriangreen在评论中指出的那样,直接查询REST API的速度更快。我发现有些RM cmdlet实际上是这样做的。
我已经编写了一组PowerShell函数,以便在this gist中更轻松,更快速地使用API(使用缓存)。