我想使用多个参数运行此命令wmic path Win32_Process get ParentProcessId, commandLine, creationdate, executablepath, name, processId
,但是如果我尝试用逗号分隔,则powershell会保证语法。我需要解决什么?
答案 0 :(得分:0)
默认情况下,wmi / cim cmdlet可以为您收到的对象提供类的所有属性,因此您无需指定每个属性:
$wmi = Get-WmiObject -Class Win32_Process
$wmi | Get-Member -MemberType Property
$props = 'ParentProcessId', 'CommandLine', 'CreationDate', 'ExecutablePath', 'Name', 'ProcessId'
$wmi | Select-Object -Property $props
最佳做法:如果powershell为您提供了本机抽象(在这种情况下为Get-WmiObject
或Get-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