Windows 桌面服务器配置教程:随机 RDP 端口 & 手动系统更新
源文GitHub:https://github.com/idc-net/Windows-Server-Toolkit
适用:Windows Server 2016 / 2019 / 2022 / 2025 · Windows 10 / 11 · PowerShell 5.1+
一、前言
Windows 远程桌面(RDP)默认监听 3389 端口,长期暴露在公网会被自动化扫描工具持续探测和爆破。本教程使用 Windows Server Toolkit 提供的 PowerShell 脚本,完成两项配置:
- 将 RDP 端口从 3389 改为随机端口,自动处理防火墙规则。
- 关闭系统自动更新,改为手动掌控更新时机,防止服务器在业务时段意外重启。
工具列表
| 文件名 | 适用场景 | 功能 |
|---|---|---|
modify_rdp_port.ps1 | 所有场景 | 修改 RDP 端口、启用 RDP、强制 NLA、自动更新防火墙规则 |
disable_auto_update_desktop.ps1 | Windows Server 当桌面 | 全面封锁自动更新,手动完全掌控 |
disable_auto_update_web.ps1 | 网站 / 应用服务器 | 自动下载安全补丁,手动选时间安装,禁止自动重启 |
| ⚠ 注意: 执行 RDP 端口脚本前,请确保你拥有备用访问方式(控制台 / VNC / KVM / IPMI),以防端口切换中途断连。 |
二、修改 RDP 端口:modify_rdp_port.ps1
执行命令,以管理员身份打开 PowerShell,粘贴并执行以下命令:
| irm https://raw.githubusercontent.com/idc-net/Windows-Server-Toolkit/main/modify_rdp_port.ps1 | iex |

脚本执行流程
脚本启动后按提示操作,全程自动化处理,无需手动修改注册表或防火墙:
- 脚本验证当前用户是否具有管理员权限。
- 读取当前 RDP 端口(默认 3389)。
- 提示输入新端口号(范围:1025–65535)。
- 检测目标端口是否已被其他程序占用。
- 更新注册表中的 RDP 端口配置。
- 若 RDP 处于禁用状态,自动开启。
- 强制启用网络级别身份验证(NLA)。
- 删除旧防火墙规则,为新端口创建入站规则。
- 重启远程桌面服务(TermService)使配置生效。
- 输出配置摘要,日志写入 C:\Windows\Logs\rdp_port_change.log。

| ✔ 提示: 第 5–9 步任意环节出错,脚本将自动回滚至原端口,不会造成配置中间态。 |
三、设置手动更新
根据服务器用途选择对应版本:桌面服务器版适合把 Windows Server 当远程桌面使用的场景;网站服务器版适合对外提供 Web 或应用服务的场景。
| 对比项 | 桌面服务器版 | 网站服务器版 |
| 自动下载补丁 | ❌ | ✅ |
| 自动安装补丁 | ❌ | ❌ |
| 自动重启 | ❌ 全时段禁止 | ❌ 全时段禁止 |
| 更新服务器 | 断开连接 | 保持连接 |
| UsoSvc 服务 | 禁用 | 保持运行 |
| 适用场景 | 远程桌面 / 桌面办公 | Web / 应用 / 数据库服务器 |
桌面服务器版:disable_auto_update_desktop.ps1
适用场景:Windows Server 当桌面 / 远程办公使用,需要完全手动掌控更新时机。
执行命令(管理员 PowerShell):
| irm https://raw.githubusercontent.com/idc-net/Windows-Server-Toolkit/main/disable_auto_update_desktop.ps1 | iex |

脚本将依次执行六层封锁策略:
- 第1层:设置「通知但不自动安装」,阻止静默下载。
- 第2层:全时段禁止自动重启。
- 第3层:断开系统自动连接更新服务器,彻底阻断自动检测。
- 第4层:禁用交付优化,阻止从其他 PC 下载更新。
- 第5层:禁用 UsoSvc 更新调度服务。
- 第6层:尝试禁用 WaaSMedicSvc 自修复服务(视系统版本而定)。
| ✔ 提示: 手动更新建议:每月固定选一天业务低峰期,打开「设置 → Windows 更新 → 检查更新」手动执行。 |
网站服务器版:disable_auto_update_web.ps1
适用场景:对外提供网站或应用服务的服务器,安全补丁自动下载,安装时机由你决定,绝不自动重启。
执行命令(管理员 PowerShell):
| irm https://raw.githubusercontent.com/idc-net/Windows-Server-Toolkit/main/disable_auto_update_web.ps1 | iex |

脚本将执行四层策略:
- 第1层:设置「自动下载,通知安装」,补丁及时到位但不自动安装。
- 第2层:全时段禁止自动重启。
- 第3层:禁用交付优化,节省带宽。
- 第4层:保留 UsoSvc,确保安全补丁正常推送。
| ✔ 提示: 补丁下载完成后系统会弹窗通知,选择业务低峰期手动点击安装,建议每月至少安装一次安全更新。 |
四、完成确认清单
- RDP 端口脚本执行完成,输出摘要中显示新端口号
- 确认新端口处于监听状态(可执行 Get-NetTCPConnection -LocalPort <新端口> -State Listen 验证)
- 使用「IP:新端口」格式成功建立远程连接
- 云服务器已在安全组中开放新端口(如适用)
- 更新脚本(桌面版或网站版)执行完成,日志无报错
- 已制定每月固定时间手动检查更新的计划