我有4-5个进程(如java.exe,javaw.exe等),用户名为" OWNER"(假设)。下面是过滤java.exe进程的脚本,如果它属于" OWNER"则将其终止。我需要你的帮助来修改这个,以便任何与" OWNER"相关的过程。如果找到就会被杀死。
答案 0 :(得分:5)
只需使用Get-Process
:
get-process -IncludeUserName | where username -like $username | stop-process
基本上你的整个脚本都可以用这行代替
答案 1 :(得分:0)
Get-Process
开关的 -IncludeUsername
仅适用于WMF 5.0。
WMI是这里的选择。
您可以通过检查所有者等于相应的用户来终止该过程。
Get-WmiObject -Class Win32_Process | Where-Object -FilterScript {
$_.GetOwner.User -eq "$Owner" } | Invoke-WmiMethod -Name Terminate
修改:以上代码是单行代码,您可以将Get-WmiObject
的输出保存在变量中,并通过集合保存foreach
以打印流程id
并调用terminate()
方法,而非使用Invoke-WmiMethod
。
注意:此代码未经过测试