Windows

給定 Windows 上的 PID - 我如何找到執行它的命令行指令?

  • December 18, 2018

在數據庫上,我可以獲得所有目前正在執行的程序的列表,以及啟動它們的 sql 命令。

我想在 Windows 盒子上做類似的事情。

我可以獲取程序列表,但不能獲取啟動它們的命令行。

我的問題是:給定 Windows 上的 PID - 我如何找到執行它的命令行指令?

假設:

  • Windows 7 和等效伺服器

Powershell 和 WMI。

Get-WmiObject Win32_Process | Select ProcessId,CommandLine

或者

Get-WmiObject -Query "SELECT CommandLine FROM Win32_Process WHERE ProcessID = 3352"

請注意,您必須有權訪問有關程序的此資訊。因此,如果您想了解的程序在特權上下文中執行,您可能必須以管理員身份執行該命令。

您可以使用 WMI 子系統,使用 WMIC.EXE 來獲取此資訊。假設 PID 為 600:

wmic.exe path Win32_Process where handle='600' get name, commandline  /format:list

您還可以搜尋名稱或程序的其他特徵。使用此命令列出所有屬性:

wmic.exe path Win32_Process get  /format:list

引用自:https://serverfault.com/questions/696460