如何使用PowerShell解析Windows命令' wmic '的输出



我正在尝试解析输出:

wmic copmutersystem

net.exe config workstation

使用PowerShell获取一个对象作为键/值对和/或转换为JSON字符串。

我知道在PowerShell中有一个等价的命令:

Get-CimInstance  -Class Win32_computersystem

但是这里的问题是弄清楚如何使用PowerShell来解析wmicCMD行的类似输出。

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-CimInstanceConvertTo-Json命令:

Get-CimInstance -Class Win32_ComputerSystem | ConvertTo-Json

编辑:此回答的先前版本使用Get-WMIObject,但已被弃用。

最新更新