2016-08-31 68 views
0

我试图获取任务管理器中显示的“进程>应用程序>名称”列表。这些特定的字符串:如何获取任务管理器(Powershell)中显示的应用程序名称?

http://i.imgur.com/dRSCDuu.png

我已尝试以下但没有我需要的信息。

Get-Process | Select * 
Get-WmiObject Win32_Process | Select * 
tasklist /v 
+0

我不能轻易地找到一个参考,但如果我没有记错,从应用程序选项卡taskmanager显示进程的顶级窗口。您无法从命令行轻松获取该信息。 –

+0

啊,找到一个。 [Window Title:](https://books.google.be/books?id=0KZCAwAAQBAJ&pg=PT110&lpg=PT110&dq=taskmanager+shows+top+level+windows+title&source=bl&ots=lLsguDly4_&sig=Ibn_DYeJ_xeNE3wBTwC1gn6rJT4&hl=nl&sa=X&ved=0ahUKEwjWiuba- OrOAhXQ0RoKHRx3AUcQ6AEISzAF#v = onepage&q = taskmanager%20shows%20top%20level%20windows%20title&f = false)*“如果进程拥有任何可见的窗口,则显示顶级窗口标题栏的文本,类似于应用程序选项卡任务管理器“。* –

回答

1

Get-Process | Select-Object company 

你在找什么?或者类似的东西

tasklist /APPS 
+0

在上面发布的示例中,我特别关注”TeamViewer 11(32位)“。这与公司或窗口标题的价值不同。 –

1

一旦你知道要寻找什么,这一切似乎繁琐,但关键的信息是,顶层窗口的Task Manager shows the text of the title bar

获取一个列表,则包含一个顶层窗口的过程是可以做到这个例子中MSDN显示

Get-Process | where {$_.mainWindowTitle} | format-table id,name,mainwindowtitle –AutoSize 
+0

我在查找任务管理器的应用程序选项卡中显示的确切值。在上面发布的示例图像中,MainWindowTitle的值是“TeamViewer”。我正在专门查找“TeamViewer 11(32位)”。 –

+0

mmm,它接收'Get-Process |其中{$ _。description} |选择描述“与你之后的内容更匹配,但是确定一个进程是32位还是64位比预期更困难。我得到的关闭是通过使用[这个答案](http://superuser.com/a/889267/6825)作为模板来读取exe文件,但我现在没有耐力来过滤出十六进制值。如果你想,这是我停下来的地方'(gc C:\ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ PowerShell_ISE.exe -Raw)-match'\ x50 \ x45 \ x00 \ x00 \ x64'' –

+0

我不' t认为Get-Process的输出与Task Manager显示的值相关。我挖了一个更具体的例子: 微软网络实时检测服务和NisSrv.exe http://imgur.com/a/CdvGR –

相关问题