首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >powershell convertfrom-json select-object差异

powershell convertfrom-json select-object差异
EN

Stack Overflow用户
提问于 2020-04-28 18:22:16
回答 2查看 423关注 0票数 1

考虑下面的json负载(只是"az group list“中的一个示例片段):

代码语言:javascript
复制
[

    {
        "id": "/subscriptions/1f512sf9-112c-4a7a-a580-665afe4761f4/resourceGroups/dev-rg",
        "location": "northeurope",
        "managedBy": null,
        "name": "dev-rg",
        "properties": {
          "provisioningState": "Succeeded"
        },
        "tags": {
          "Application": "Integrations",
          "Department": "Development Team",
          "DeployedDate": "09/01/2020",
          "Environment": "DEV",
          "FundedBy": "INT",
          "InterfaceId": "IFUS_007.1",
          "Project": "INT"
        },
        "type": "Microsoft.Resources/resourceGroups"
      }
    ]

有人能解释一下为什么下面的方法是可行的吗

代码语言:javascript
复制
PS C:\Windows\system32> az group list | convertfrom-json | select-object @{n='RSG';e={$_.name}}

RSG
---
{dev-rg}

为什么下面没有(返回空白)

代码语言:javascript
复制
PS C:\Windows\system32> az group list | convertfrom-json | select-object name

name
----
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-28 19:33:12

这是一个关于ConvertFrom-Json和一个管道的Windows错误。

将命令分组为(),以便正确评估它们。

代码语言:javascript
复制
(az group list | ConvertFrom-Json) | Select-Object name

它已经在PowerShell内核中修复了。

票数 5
EN

Stack Overflow用户

发布于 2020-04-28 19:46:39

除了Azure answer之外,你还可以使用来自@7cc's PowerShell的Azure Cmdlet,它将为你提供一个可以立即使用的PowerShell对象。这比使用az group list将来自Azure CLI的JSON输出转换为使用ConvertFrom-JsonSystem.Management.Automation.PSCustomObject更容易。

获取列Name中的所有资源组

代码语言:javascript
复制
Get-AzResourceGroup | Select-Object -Property @{Name = "Name"; Expression = { $_.ResourceGroupName } }

或者只保留默认的ResourceGroupName列:

代码语言:javascript
复制
Get-AzResourceGroup | Select-Object -Property ResourceGroupName
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61477911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档