You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

PowerShell远程桌面连接求助:需自动跳过安全确认回车操作

Hey,我刚好处理过类似的批量远程桌面连接场景,给你几个解决安全免责弹窗的靠谱方案,还有批量脚本的优化建议:

方案1:通过组策略彻底禁用弹窗(推荐)

这是一劳永逸的方法,适合需要长期批量连接的场景:

  • 按下Win + R,输入gpedit.msc打开本地组策略编辑器
  • 导航到路径:计算机配置 > 管理模板 > Windows组件 > 远程桌面服务 > 远程桌面会话主机 > 安全
  • 找到**“不显示远程桌面连接的安全警告”**策略,双击后选择「已启用」
  • 运行gpupdate /force命令强制刷新组策略,或者重启电脑生效
方案2:注册表修改(适合无组策略的Windows家庭版)

如果你的系统是家庭版,没有组策略编辑器,直接改注册表也能解决:

  1. 按下Win + R,输入regedit打开注册表编辑器
  2. 定位到:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
  3. 右键点击Terminal Services项,新建DWORD(32位)值,命名为fDontShowDisclaimer,设置数值数据为1
  4. 再新建一个DWORD值fPromptForPassword,设置数值数据为0
  5. 关闭注册表,重启电脑后弹窗就不会出现了
方案3:PowerShell自动模拟回车(临时应急)

如果暂时没法修改系统设置,用脚本自动按回车跳过弹窗也是个办法:

# 把你的60个IP放到这个数组里,或者从文本文件读取
$rdpIps = @("192.168.0.10", "192.168.0.11", "替换成你的其他IP")

foreach ($ip in $rdpIps) {
    # 启动远程桌面连接
    Start-Process mstsc.exe -ArgumentList "/v:$ip"
    # 等待弹窗加载(根据你的系统速度调整,比如3-5秒)
    Start-Sleep -Seconds 3
    # 模拟按下回车键跳过提示
    Add-Type -AssemblyName System.Windows.Forms
    [System.Windows.Forms.SendKeys]::SendWait("{ENTER}")
}

⚠️ 注意:这个方案依赖UI加载速度,如果弹窗出来慢,要调大Start-Sleep的时间;非交互式环境下可能失效,所以优先推荐前两个方案。

批量脚本优化小技巧

不用写60个单独的脚本,把所有IP放到一个文本文件(比如rdp_ips.txt,每行一个IP),然后用脚本自动读取:

# 读取IP列表文件
$rdpIps = Get-Content -Path "C:\你的路径\rdp_ips.txt"

foreach ($ip in $rdpIps) {
    # 如果已经禁用弹窗,直接启动连接就行
    Start-Process mstsc.exe -ArgumentList "/v:$ip"
    # 如果还没禁用,就加上前面的自动回车逻辑
}

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

火山引擎 最新活动