【问题标题】:Powershell : How to format the output of get-netadapter command to a single list/line with a delimiterPowershell:如何将 get-netadapter 命令的输出格式化为带有分隔符的单个列表/行
【发布时间】:2021-08-04 08:20:20
【问题描述】:

我正在尝试从列表/dict/json 形式的特定字段中获取 get-netadapter 从 powershell 的输出。

PS C:\Users\Administrator> Get-NetAdapter -IncludeHidden | Format-List -Property Name,AdminStatus,DriverFileName


Name           : Ethernet0
AdminStatus    : Up
DriverFileName : e1i63x64.sys

Name           : Ethernet (Kernel Debugger)
AdminStatus    : Down
DriverFileName : kdnic.sys

Name           : Teredo Tunneling Pseudo-Interface
AdminStatus    : Down
DriverFileName :

Name           : Microsoft IP-HTTPS Platform Interface
AdminStatus    : Down
DriverFileName :

Name           : 6to4 Adapter
AdminStatus    : Down
DriverFileName :

list/dict/json形式的必需输出格式。

示例格式:

(Name: Ethernet0, AdminStatus: Up, DriverFileName : e1i63x64.sys;
 Name: Ethernet (Kernel Debugger), AdminStatus: Down, DriverFileName: kdnic.sys)

所以各个适配器用';'分隔并且单个适配器的各个对象用','分隔。

我尝试使用“加入”运算符,但这似乎不起作用。 如果我使用格式列表/格式表,ConvertTo-Json 似乎不起作用

【问题讨论】:

  • 如果您想使用 cmdlet ConvertTo-JSON 将输出对象转换为 JSON,您之前不能使用 format cmdlet。实际上,当您想对对象/数据执行进一步的步骤时,您根本不应该使用格式 cmdlet。 ;-) 如果要将输出限制为特定属性,则应使用 Select-Object 而不是 Format-List
  • @Olaf,感谢您提供的信息。

标签: windows powershell


【解决方案1】:

如果要转成json,直接执行命令:

Get-NetAdapter -IncludeHidden | 
    Select-Object -Property Name,AdminStatus,DriverFileName |
    ConvertTo-Json 

结果:

[
    {
        "Name":  "Connexion au réseau local* 7",
        "AdminStatus":  1,
        "DriverFileName":  "ndiswan.sys"
    },
    {
        "Name":  "Teredo Tunneling Pseudo-Interface",
        "AdminStatus":  2,
        "DriverFileName":  null
    },
    {
        "Name":  "Ethernet0",
        "AdminStatus":  1,
        "DriverFileName":  "e1i65x64.sys"
    },
    {
        "Name":  "Connexion au réseau local* 3",
        "AdminStatus":  1,
        "DriverFileName":  "rasl2tp.sys"
    },
    {
        "Name":  "6to4 Adapter",
        "AdminStatus":  2,
        "DriverFileName":  null
    }
]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多