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

如何防止Azure远程VM自动注销会话?

Azure VM远程会话自动注销问题解决办法
  • 检查Azure平台层面的闲置策略
    登录Azure门户找到目标VM,进入操作 > 自动关机,确认是否启用了自动关机功能,若启用直接关闭;如果VM属于规模集,同时检查规模集的自动缩放或关机规则,避免平台层面触发注销。

  • 调整用户配置组策略
    打开gpedit.msc,导航到用户配置 > 管理模板 > Windows组件 > 远程桌面服务 > 远程桌面会话主机 > 会话时间限制:

    • 将“设置已断开连接的会话的时间限制”设为「已禁用」或「从不」
    • 将“设置活动但空闲的远程桌面服务会话的时间限制”设为「已禁用」或「从不」
    • 将“设置远程桌面服务会话的时间限制”设为「已禁用」或「从不」
  • 补充注册表关键项配置
    打开regedit.exe:

    • 定位到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp,确认MaxDisconnectTime、MaxIdleTime、MaxSessionTime均设为十进制0
    • 定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon,修改或新建字符串值AutoLogonCount为0(若需自动登录可补充设置DefaultUserName和DefaultPassword,注意账户安全)
  • 切换服务运行账户
    打开services.msc,找到需持续运行的服务:

    • 右键进入属性 > 登录选项卡,选择「本地系统账户」,按需勾选「允许服务与桌面交互」,重启服务后,服务将以系统身份运行,不受用户会话注销影响
  • 临时会话保持脚本(可选)
    创建批处理脚本模拟用户活动,避免会话被标记为闲置:

    @echo off
    :loop
    powershell -Command "$wshell = New-Object -ComObject wscript.shell; $wshell.SendKeys('{SCROLLLOCK}'); Start-Sleep -Seconds 600"
    goto loop
    

    将脚本保存为KeepSessionAlive.bat,放入用户启动文件夹(C:\Users\<你的用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup),实现登录后自动运行

  • 安装系统更新补丁
    部分旧版本Windows Server存在会话超时bug,安装最新累积更新和安全补丁,修复潜在系统问题

内容的提问来源于stack exchange,提问作者O P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 21:27:06