首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >列出并终止PowerShell中具有相同用户名的多个进程

列出并终止PowerShell中具有相同用户名的多个进程
EN

Stack Overflow用户
提问于 2017-05-28 18:14:09
回答 2查看 1K关注 0票数 0

我有4-5个进程(如java.exe,javaw.exe等),用户名为“OWNER”(假设)。下面是过滤java.exe进程并在它属于"OWNER“时终止它的脚本。我需要你的帮助来修改这一点,以便任何与“所有者”相关的进程将被杀死,如果发现。

EN

回答 2

Stack Overflow用户

发布于 2017-05-28 22:24:21

只需使用Get-Process即可

代码语言:javascript
运行
复制
get-process -IncludeUserName | where username -like $username | stop-process

基本上,您的整个脚本都可以用下面这行替换

票数 5
EN

Stack Overflow用户

发布于 2017-05-29 14:13:26

带有-IncludeUsername开关的Get-Process仅在WMF5.0中可用。

WMI是这里的选项。

您可以通过检查所有者是否等于相应的用户来终止该进程。

代码语言:javascript
运行
复制
Get-WmiObject -Class Win32_Process | Where-Object -FilterScript { 
$_.GetOwner.User -eq "$Owner" } | Invoke-WmiMethod -Name Terminate

编辑:上面的代码是一行代码,您可以将Get-WmiObject的输出保存在一个变量中,并通过集合为foreach打印进程id并调用terminate()方法,而不是使用Invoke-WmiMethod

注意:此代码未经过测试

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44226143

复制
相关文章

相似问题

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