Win2019 SRV如何用脚本仅杀死User2启动的process_name进程
针对Windows Server 2019 仅杀死指定用户同名进程的方案
参数功能说明
你之前对Taskkill /U参数的理解存在偏差:该参数作用是指定taskkill命令本身以哪个用户的身份运行,并非筛选目标进程的所属用户,因此原有代码会终止所有用户下的同名进程。
批处理实现方案
你可以直接使用taskkill自带的筛选器参数实现需求,不需要额外遍历进程:
预览匹配进程(执行杀死操作前可先运行确认结果)
tasklist /FI "USERNAME eq User2" /FI "IMAGENAME eq process_name"
执行杀死操作
taskkill /F /FI "USERNAME eq User2" /IM "process_name"
参数说明:
/F:强制终止进程,避免权限不足导致终止失败/FI:指定进程筛选规则,此处规则为仅匹配所属用户为User2的进程/IM:指定要匹配的进程映像名称
PowerShell实现方案(Windows Server 2019 推荐使用,灵活性更高)
Get-Process -Name "process_name" -IncludeUserName | Where-Object {$_.UserName -eq "User2"} | Stop-Process -Force
如果为域环境用户,需将用户名替换为
域名\用户名格式,本地用户可直接填写用户名。
内容的提问来源于stack exchange,提问作者Valentino
相关产品推荐
相关产品推荐

