如何以编程方式断开名称以“KLTENE”开头的Windows用户并终止其后台所有应用?
如何以编程方式断开名称以“KLTENE”开头的Windows用户并终止其后台所有应用?
兄弟,手动一个个处理确实太折腾了!给你两个在Windows环境下的实用方案,一键就能批量处理所有名称以「KLTENE」开头的用户,顺带终止他们的后台应用,彻底解放你的双手~
方案一:批处理脚本(适合快速执行)
批处理是Windows原生的脚本工具,不需要额外安装环境,写好直接双击运行就行(记得右键以管理员身份启动,不然没权限操作)。
把下面的代码保存成DisconnectKLTENEUsers.bat文件:
@echo off setlocal enabledelayedexpansion :: 遍历所有用户名以KLTENE开头的会话 for /f "skip=1 tokens=1,2" %%a in ('quser') do ( set "username=%%a" :: 判断用户名前6位是否为KLTENE if "!username:~0,6!"=="KLTENE" ( echo 正在断开用户: !username! 会话ID: %%b :: 注销该用户会话 logoff %%b /v echo 正在终止用户 !username! 的所有后台进程... :: 强制终止该用户名下的所有进程 taskkill /f /fi "username eq !username!" ) ) endlocal echo 所有目标用户处理完成! pause
脚本说明:
quser:列出当前系统所有登录的用户会话信息skip=1:跳过quser输出的表头行,直接获取用户数据logoff %%b /v:通过会话ID注销用户,/v参数会显示注销的详细信息taskkill /f /fi "username eq !username!":强制终止指定用户名的所有进程,确保后台应用彻底关闭
方案二:PowerShell脚本(更灵活易扩展)
如果需要更复杂的逻辑或者错误处理,PowerShell是更好的选择,它的对象化操作更直观,也方便后续修改需求。
把下面的代码保存成DisconnectKLTENEUsers.ps1文件,右键以管理员身份运行PowerShell再执行:
# 获取所有用户名以KLTENE开头的登录会话 $targetSessions = Get-CimInstance -ClassName Win32_LogonSession | Where-Object { $_.UserName -like 'KLTENE*' } if ($targetSessions.Count -eq 0) { Write-Host "未找到名称以KLTENE开头的登录用户" exit } foreach ($session in $targetSessions) { $userName = $session.UserName Write-Host "正在处理用户: $userName 会话ID: $($session.SessionId)" try { # 执行注销操作 $session | Invoke-CimMethod -MethodName Logoff Write-Host "用户 $userName 已成功注销" # 终止该用户的所有进程 $userProcesses = Get-Process -IncludeUserName | Where-Object { $_.UserName -like 'KLTENE*' } if ($userProcesses.Count -gt 0) { $userProcesses | Stop-Process -Force Write-Host "已终止用户 $userName 的所有后台进程" } else { Write-Host "用户 $userName 没有运行中的后台进程" } } catch { Write-Host "处理用户 $userName 时出错: $_" } } Write-Host "所有目标用户处理完毕!"
脚本说明:
Get-CimInstance Win32_LogonSession:获取系统登录会话的详细信息,比quser更全面Where-Object { $_.UserName -like 'KLTENE*' }:筛选出用户名以KLTENE开头的用户Invoke-CimMethod -MethodName Logoff:调用系统API注销用户会话Stop-Process -Force:强制终止进程,避免因进程无响应导致操作失败- 加入了错误处理逻辑,即使某个用户处理失败,也不会中断整个脚本的执行
重要注意事项:
- 必须以管理员身份运行:注销用户和终止进程都需要系统管理员权限,否则会提示权限不足
- 数据风险提示:注销用户会直接关闭他们的所有未保存的工作,执行前最好确认这些用户已经保存了数据,或者提前通知他们
- 远程会话同样适用:不管是本地登录用户还是远程桌面用户,这两个脚本都能正常处理
备注:内容来源于stack exchange,提问作者Musa
相关产品推荐
相关产品推荐

