我有4-5个进程(如java.exe,javaw.exe等),用户名为“OWNER”(假设)。下面是过滤java.exe进程并在它属于"OWNER“时终止它的脚本。我需要你的帮助来修改这一点,以便任何与“所有者”相关的进程将被杀死,如果发现。
发布于 2017-05-28 22:24:21
只需使用Get-Process
即可
get-process -IncludeUserName | where username -like $username | stop-process
基本上,您的整个脚本都可以用下面这行替换
发布于 2017-05-29 14:13:26
带有-IncludeUsername
开关的Get-Process
仅在WMF5.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
。
注意:此代码未经过测试
https://stackoverflow.com/questions/44226143
复制相似问题