WMIC路径win32_process中的多个参数获取

时间:2019-07-11 11:06:55

标签: windows powershell wmic

我想使用多个参数运行此命令wmic path Win32_Process get ParentProcessId, commandLine, creationdate, executablepath, name, processId,但是如果我尝试用逗号分隔,则powershell会保证语法。我需要解决什么?

2 个答案:

答案 0 :(得分:0)

默认情况下, / cmdlet可以为您收到的对象提供类的所有属性,因此您无需指定每个属性:

$wmi = Get-WmiObject -Class Win32_Process
$wmi | Get-Member -MemberType Property

$props = 'ParentProcessId', 'CommandLine', 'CreationDate', 'ExecutablePath', 'Name', 'ProcessId'
$wmi | Select-Object -Property $props

最佳做法:如果为您提供了本机抽象(在这种情况下为Get-WmiObjectGet-CimInstance),则应该使用它!

答案 1 :(得分:0)

逗号表示数组。如果您真的想要Wmic,可以使用神奇的“停止解析”运算符:

wmic --% path Win32_Process get ParentProcessId, commandLine, creationdate, executablepath, name, processId

尽管get-wmiobject或get-ciminstance将输出易于操作的对象。 Get-ciminstance甚至在类名上具有制表符补全,并且通过管道选择对象或where对象,您可以在属性上获得制表符补全。

get-ciminstance win32_process | select parentprocessId, commandLine, creationdate, executablepath, name, processId
get-ciminstance win32_process | where commandline -match chrome