首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Powershell将进程的pid添加到FileVersionInfo

Powershell将进程的pid添加到FileVersionInfo
EN

Stack Overflow用户
提问于 2019-04-03 23:12:17
回答 1查看 156关注 0票数 2

我必须从不同的路径运行进程,这些进程使用相同的可执行文件。因此,如果您在Get过程中使用-getname -它们显示为相同的。WHen我使用FileVersionInfo属性,我可以知道哪个程序是哪个程序。我必须写一个脚本来杀死“狗”进程。

代码语言:javascript
复制
PS F:\>  Get-Process Casper -FileVersionInfo

ProductVersion   FileVersion      FileName
--------------   -----------      --------
5.5.2.0          5.5.2.33678      C:\Program Files (x86)\foo\DOG III\Casper.exe
5.5.4.1          5.5.4.4163       C:\Program Files\foo\CATS NG (PROD)\Casper.exe

如何添加每个进程的pid,以便在需要时将其隔离并终止。

代码语言:javascript
复制
Get-Process Casper | Select Id
Id
--
16894
19456
EN

回答 1

Stack Overflow用户

发布于 2019-04-03 23:40:29

您可以运行以下命令:

代码语言:javascript
复制
Get-Process Casper | Select ProductVersion,FileVersion,Path,Id

如果运行Get-Process Casper | Get-Member,则可以看到System.Diagnostics.Process对象类型可用的大多数属性。输出的底部包含一些您可以访问的ScriptProperty类型。Path、ProductVersion和FileVersion是您使用-FileVersionInfo开关时显示的内容。

如果您不喜欢Path属性名称,可以在select语句中将其重命名:

代码语言:javascript
复制
Get-Process Casper | Select ProductVersion,FileVersion,@{n="FileName";e={$_.Path}},Id

您可以使用where()方法按路径名缩小搜索范围:

代码语言:javascript
复制
(Get-Process Casper).where({$_.Path -like "*DOG III*"}) | 
   Select ProductVersion,FileVersion,@{n="FileName";e={$_.Path}},Id

如果您确实只需要将Id通过管道连接到另一个程序,则可以使用以下命令:

代码语言:javascript
复制
(Get-Process Casper).where({$_.Path -like "*DOG III*"}).Id | Some-Command
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55498551

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档