【问题标题】:Azure Powershell - How to get resource statusAzure Powershell - 如何获取资源状态
【发布时间】:2018-04-02 13:35:44
【问题描述】:

我有几个 Microsoft.ApiManagement/service 类型的资源。

当我将下面的 find cmdlet 与该资源类型一起使用时,它不会返回资源的状态/状态。我可以在门户上看到状态,但我正在按资源类型检索资源状态,以获取可以钻取的摘要仪表板的数据。 -ResourceType“microsoft.web/sites” 按预期工作并显示资源的状态。

我不确定是否需要为 -ResourceType "Microsoft.ApiManagement/service" 做其他事情以使其显示状态。 -ResourceType "Microsoft.Storage/storageAccounts" 也不显示状态,尽管在门户中显示 Primary:Available, Secondary:Available。 似乎每种资源类型都有其定义的属性集,并且必须找到文档才能遍历该资源类型以找到所需的内容。 我不知道在哪里可以找到这些信息。

谢谢!

Find-AzureRmResource -ResourceType "microsoft.web/sites"  -ExpandProperties |Sort SiteName
Find-AzureRmResource -ResourceType "Microsoft.ApiManagement/service"  -ExpandProperties |Sort Name
Find-AzureRmResource -ResourceType "Microsoft.Storage/storageAccounts"  -ExpandProperties |Sort Name

【问题讨论】:

    标签: powershell azure


    【解决方案1】:

    如果我的理解是正确的,你可以使用下面的命令。

    $api=Get-AzureRmResource -ResourceType "Microsoft.ApiManagement/service" -ResourceGroupName shuapi5 -ResourceName shuiapi
    $api.Properties.provisioningState
    

    我在我的实验室进行测试,它对我有用。

    PS C:\Users\v-shshui> $api=Get-AzureRmResource -ResourceType "Microsoft.ApiManagement/service" -ResourceGroupName shuapi5 -ResourceName shuiapi
    PS C:\Users\v-shshui> $api.Properties.provisioningState
    Activating
    

    【讨论】:

    • 这也对我有用。由于我们一次只能通过资源名称获取一个,因此我们可能必须设置一个循环。非常感谢您的帮助。
    • 我确实有一个相关的问题。门户中的 API 管理服务的状态为“在线”。我对 provisioningState 的查询显示为“Succeeded”。如何获得在门户上看到的状态?谢谢
    • 我的错 - 在线状态适用于资源组。资源本身的状态为“Succeeded”,因此 provisioningState 是完美的。谢谢!
    • 这是一个检索资源的嵌套 ProvisioningState 的 cmdlet:Find-AzureRmResource -ResourceType "microsoft.ApiManagement/service" -ExpandProperties |Select Name, ResourceGroupName, Location, @{Name='State' ;表达式={$_.Properties.ProvisioningState}} |排序名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 2019-11-27
    • 2022-10-19
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    相关资源
    最近更新 更多