获取 AzureRmServiceBusNamespace -名称

Get-AzureRmServiceBusNamespace -Name

我正在尝试使用 Get-AzureRmServiceBusNamespace 模块通过 -Name 参数检索特定的服务总线命名空间。

此 cmdlet 的 documentation 意味着此参数可用于由资源组检索特定命名空间或命名空间组。当我尝试这样做时,响应包括 all 名称空间。我也尝试过使用此参数的别名 (NamespaceName)。有趣的是 -ResourceGroupName 参数确实缩小了结果范围。我可以通过在 Name 属性 上使用过滤器将输出管道输出到 Where-Object cmdlet 来检索特定的 ServiceBus,但这感觉很笨拙。

知道我做错了什么吗?

当您传递不同的参数时,此命令实质上会调用不同的 REST API。

如果你只是 运行 它没有任何参数即 Get-AzureRmServiceBusNamespace,它将列出订阅中的所有命名空间,即调用 API Namespaces - List.

如果传递资源组名称,它将列出资源组中的所有命名空间,即调用 Namespaces - List By Resource Group

所以在你的情况下,如果你想获得一个特定的命名空间,你需要传递资源组和命名空间名称,即调用 Namespaces - Get.

Get-AzureRmServiceBusNamespace -ResourceGroup <resourceGroupName> -NamespaceName <namespaceName>

除了,旧的AzureRM模块已经被弃用,我建议你使用新的Az command Get-AzServiceBusNamespace