Ant*_*ong 3 powershell command-line
这是我在powershell中运行的命令
gwmi win32_process |select ProcessID,ParentProcessID,CommandLine,@{e={$_.GetOwner().User}}
Run Code Online (Sandbox Code Playgroud)
这是输出的部分列表
ProcessID ParentProcessID CommandLine $_.GetOwner().User
--------- --------------- ----------- ------------------
0 0
4 0
236 4 SYSTEM
332 320 SYSTEM
384 320 wininit.exe SYSTEM
392 376 SYSTEM
420 376 winlogon.exe SYSTEM
476 384 SYSTEM
484 384 C:\Windows\system32\lsass.exe SYSTEM
544 476 C:\Windows\system32\svchost.exe -... SYSTEM
Run Code Online (Sandbox Code Playgroud)
我想知道如何获得完整的命令行?(未截断如上图所示)
我需要捕获输出以在sensu
插件中进行处理,该插件本质上是一个 ruby 脚本
小智 6
这只是格式。完整的命令行在对象中,但是当对象被转换为用于打印的字符串(默认格式使用“ft”)时,对象的格式会减少该行。如果您以不同的方式格式化,使用列表格式化程序,您可以获得更长格式的完整数据:
.. your command ... | fl
Run Code Online (Sandbox Code Playgroud)
如果你想在脚本中使用结果,你不需要关心格式,只需从管道中的对象中获取属性 .CommandLine (然后你也可以跳过“选择”命令)。
为了将文本写入 Ruby 脚本,您可以显式地生成带有空格分隔字段的文本字符串:
gwmi win32_process | % { "$($_.ProcessID) $($_.ParentProcessID) $($_.GetOwner().User) $($_.CommandLine)" }
Run Code Online (Sandbox Code Playgroud)
要让默认的“表格”格式化程序包装列,请使用:
... | ft -wrap
Run Code Online (Sandbox Code Playgroud)
我不知道有什么方法可以让它显示长行,我认为通过为这个对象类定义一个自定义格式视图是可行的,但我自己从来没有做过。