我正在尝试解析输出:
wmic copmutersystem
和
net.exe config workstation
使用PowerShell获取一个对象作为键/值对和/或转换为JSON字符串。
我知道在PowerShell中有一个等价的命令:
Get-CimInstance -Class Win32_computersystem
但是这里的问题是弄清楚如何使用PowerShell来解析wmic
CMD行的类似输出。
Wmic可以输出csv或xml,但显然首选get-wmiobject或get-ciminstance。您只需要找到类名而不是别名。wmic和powershell的创建者是相同的。
wmic computersystem list /format:csv | convertfrom-csv | select model
Model
-----
OptiPlex 7490 AIO
列出wmic类别名:
wmic alias list brief
wmic alias where "friendlyname = 'computersystem'" list brief
wmic alias where "friendlyname like '%comp%'" list brief
FriendlyName PWhere Target
ComputerSystem Select * from Win32_ComputerSystem
例如:
ComputerSystem Select * from Win32_ComputerSystem
get-ciminstance win32_computersystem
使用Get-CimInstance
和ConvertTo-Json
命令:
Get-CimInstance -Class Win32_ComputerSystem | ConvertTo-Json
编辑:此回答的先前版本使用Get-WMIObject
,但已被弃用。