You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以编程方式断开名称以“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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 07:45:58