Powershell:如何使用分隔符将 get-netadapter 命令的输出格式化为单个列表/行

曼努克

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

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 :

需要列表/dict/json 形式的输出格式。

示例格式:

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

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

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

法式

如果要转换成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
    }
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章