【发布时间】: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