在局域网里用远程桌面连另一台Win10电脑这件事说起来简单真做起来能碰到不少幺蛾子。早几年我在公司做桌面运维一个楼层的电脑问题来回跑是常态后来把常用机器的远程桌面全部开好坐在工位上就能处理绝大多数问题。Win10自带的远程桌面RDP在局域网场景下是我用得最频繁的工具比装第三方软件省心得多。这篇文章就围绕“Win10开启局域网远程桌面连接”这个需求把版本要求、开启步骤、连接配置、授权模式弹窗、还有各种连不上、没反应、掉线的排查经验一次讲透。无论你是给家里几台电脑互连还是给办公室批量开通都能直接照着抄。1. 开启远程桌面之前先把这几件事想清楚远程桌面不是你打开一个开关就能完事的前置条件没满足后面一定会绕弯路。我把最容易踩的坑放在前面说你花两分钟看完后面能少折腾半小时。1.1 确认你的Win10版本能不能用远程桌面Win10的版本差异在这里非常明显专业版、企业版、教育版自带远程桌面服务端可以被其他电脑连接家庭版不行它只能作为客户端去连别人没法当被控端。怎么看版本按“WinR”输入winver弹出来的窗口里会写明版本号。比如“Windows 10 专业版 22H2”就能开启远程桌面如果是“Windows 10 家庭版”那就只能考虑升级系统或者改用VNC、AnyDesk这类第三方工具。我经常看到有人拿家庭版折腾半天各种服务开了、防火墙也放了最后发现开关压根不存在纯浪费时间。如果你手头正好是家庭版先别急着重装系统最简单的方式是用序列号升级到专业版或者直接去微软商店购买升级授权。1.2 局域网环境与账号要求远程桌面本身就是为局域网管理设计的两台电脑最好在同一个网段内比如都接到同一个路由器或交换机上网段都是192.168.1.x这样连接最顺畅。用无线也能连但稳定性和延迟不如有线办公场景我一般建议拉网线。账号方面有一个硬性要求远程桌面不支持空密码账户登录。如果你的Win10本地账户没设置密码先去“设置 - 账户 - 登录选项”里设置一个。用微软账户登录也可以连接时输入对应的微软账号邮箱和密码就行只是用户名格式要注意这个我后面专门讲。另外被控端不能处于睡眠或休眠状态。很多人明明一切都配好了过一会儿却又连不上跑过去一看电脑睡着了。远程桌面没法把一台睡着的电脑唤醒除非额外配置网络唤醒所以要把电源设置里的睡眠改成“从不”至少在你计划远程访问的时间段内要保证它醒着。1.3 准备工作清单我习惯在动手前先过一遍清单免得遇到问题分不清是配置问题还是环境问题。你自己操作时也可以参考这个列表确认Win10版本专业版及以上给本地账户设置一个密码用ipconfig记录被控端的IPv4地址把电源计划中的“睡眠”设为“从不”准备好客户端电脑能ping通被控端IP这些准备工作都不复杂但能帮你把后面的操作和排错范围缩小很多。尤其是IP地址建议直接记在手机备忘录里不然配置好之后临时找IP也是一件让人抓狂的事。2. 正式开启远程桌面三种方法都给你开启远程桌面的方式不止一种有人喜欢点鼠标有人习惯敲命令还有人要批量处理一屋子电脑。下面三种方法我都给你列出来按需取用。2.1 图形界面操作设置面板里的“远程桌面”开关最直观的方式是打开“设置 - 系统 - 远程桌面”把“启用远程桌面”开关打开。系统会弹出一个确认窗口提示你是否允许远程连接点“确认”后Windows会自动放行防火墙里的“远程桌面”规则。启用后同一页面会显示“如何连接到这台电脑”的提示里面有这台机器的名称和IP信息。页面上还能直接管理“远程桌面用户”默认只有当前登录账户和管理员组成员能远程登录如果你想额外添加一个用户点“添加用户”输入对方账户名确认即可。这一页里还有一个“高级设置”点进去能看到“要求使用网络级别的身份验证连接”选项建议保持勾选。NLA能提前验证客户端身份防止未授权访问同时也避免了部分老旧客户端连接时报错。如果你是在比较旧的操作系统比如Win7上连Win10遇到登录界面反复循环可以临时取消这个勾选但测通之后尽量还是恢复它。2.2 命令行加注册表适合批量部署的开法图形界面适合单台机器但如果要批量给十几台电脑开远程桌面用命令就快多了。远程桌面在注册表里有一个总开关位置在HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server里面有一个名为fDenyTSConnections的DWORD值值设为0表示允许远程桌面设为1表示禁止。图形界面的开关本质上就是改这个值。用管理员身份打开命令提示符执行reg add HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server /v fDenyTSConnections /t REG_DWORD /d 0 /f netsh advfirewall firewall set rule group远程桌面 new enableYes第一条命令把远程桌面的总开关打开第二条命令放行系统防火墙里“远程桌面”规则组。注意规则组名称在中文系统里显示为“远程桌面”英文系统里是“Remote Desktop”。如果执行第二条时报找不到规则可以在防火墙高级设置里手动新建一条入站规则放行TCP 3389端口。2.3 批处理脚本一条命令完成配置把上面的命令整合成一个.bat批处理脚本平时运维会方便很多。我自己的脚本长这样echo off reg add HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server /v fDenyTSConnections /t REG_DWORD /d 0 /f netsh advfirewall firewall set rule group远程桌面 new enableYes powercfg /change standby-timeout-ac 0 powercfg /change monitor-timeout-ac 0 echo 远程桌面已开启并将睡眠设为从不。 pause最后两条powercfg命令的作用是把插电状态下的系统睡眠和关闭显示器超时都设为0也就是永不睡眠、永不关闭显示器。对需要长期被远程连接的机器来说这两条命令能省掉后面大量“怎么又连不上”的排查工作。脚本写好之后以管理员身份运行。跑完如果显示“操作成功完成”说明远程桌面服务端已开启。我建议你在批处理里再加一条输出系统当前IP的命令比如ipconfig | findstr /i IPv4这样脚本跑完直接把IP也打印出来省得再去翻。3. 客户端连接配置与常用参数被控端开好之后接下来就是客户端怎么连的问题。Windows自带的远程桌面连接客户端mstsc功能很强大但有些隐藏参数和注意事项不自己踩坑很难发现。3.1 第一次用mstsc连接远程桌面客户端按“WinR”输入mstsc回车会打开远程桌面连接窗口。在“计算机”一栏填被控端的IP地址比如192.168.1.100。点“显示选项”可以把完整设置面板拉开这里有用户名、保存凭据、显示大小、本地资源、体验等选项卡。第一次连接时系统大概率会提示“无法验证此远程计算机的身份”这是因为Windows远程桌面使用的是自签名证书不在系统信任列表里。只要确认你输入的是正确的IP地址就可以勾选“不再询问我是否连接到此计算机”然后点是。建议在连接前把“允许我保存凭据”勾上这样下次双击连接就能直接进入桌面省去重复输密码的麻烦。当然如果你用的是公用电脑这个选项不要开。3.2 局域网IP地址获取与静态IP设置被控端的IP怎么找在被控端按“WinR”输入cmd在命令行里执行ipconfig找到“IPv4地址”那一行格式一般是192.168.x.x、10.x.x.x或172.16.x.x。这就是你在客户端要填的地址。如果连不上第一步先ping一下在客户端命令行执行ping 192.168.1.100能通说明网络通畅不通就说明两台机器不在同一网段、防火墙挡了ICMP或者被控端根本没开机。很多“远程桌面连不上”的问题ping一下就能定位。DHCP分配IP地址有一个隐患重启路由器或设备后IP可能变化。如果被控端的IP从192.168.1.100变成了192.168.1.105客户端再用旧IP去连肯定失败。解决办法是给被控端设置静态IP。操作路径控制面板 - 网络和共享中心 - 更改适配器设置右键网卡属性选择“Internet协议版本4TCP/IPv4”。具体参数可以参考路由器网段来填比如路由器LAN口是192.168.1.1那就在IP地址栏填192.168.1.100子网掩码填255.255.255.0默认网关填192.168.1.1DNS可以填网关地址或公共DNS。填完之后ipconfig确认一下基本就不会因为IP漂移导致连不上了。3.3 修改RDP端口与会话控制RDP默认端口是3389修改端口不是必须的但如果你对安全要求比较高或者路由器日志里经常看到针对3389的扫描记录可以考虑改一个高位端口。修改位置在注册表HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp右侧找到PortNumber默认为十进制的3389。双击后选择“十进制”输入新的端口号比如3390点击确定然后重启电脑或重启Remote Desktop Services服务。连接时在mstsc的“计算机”栏填“192.168.1.100:3390”。这里有一个特别容易犯的错改完端口后忘了改防火墙放行规则导致新端口被拦截。改端口之前先在防火墙高级设置里确认3389规则是否生效然后同步添加一条新端口规则双保险。关于会话控制Win10默认同时只能保持一个交互式登录会话。你本地正用着这台电脑远程连过去时本地屏幕会被锁定或切换到登录界面。如果你想要多个用户同时远程登录比如一台机器同时让两个人操作Win10普通版本是做不到的那是Windows Server配合远程桌面服务角色的功能普通办公场景用不到。如果你遇到“已登录用户太多”的提示可以用mstsc /admin强制连接控制台会话这种方式能绕过会话数上限后面排查部分我再细说。4. 远程桌面授权模式尚未配置11天后停止工作怎么办这个提示在网络热词里出现了说明很多人都被它吓到过。第一次看到“11天后停止工作”这种字眼任谁都会心里一紧担心哪天突然连不上其实它没有字面上那么可怕。4.1 这个提示是怎么来的远程桌面协议在Windows Server上作为“远程桌面服务”角色使用时是需要购买远程桌面授权RDS CAL的。但Windows 10内置的远程桌面主机只提供“管理用途”的两个并发连接这部分本身不需要额外许可证。问题在于当系统检测到远程桌面相关服务存在却没有配置授权模式时就会给你一个宽限期提示。这个提示在Windows Server上很常见在Win10上偶尔也会出现尤其是系统装过更新、或者环境里有域策略残留时更容易被触发。这里顺带提一句热词里那个“rd连接代理服务器”是Server域环境用于在多个远程桌面会话主机之间做负载均衡的角色普通办公局域网和个人用机根本碰不到。你只需要知道如果你没有专门安装“远程桌面服务”角色这个提示大概率就是系统在虚张声势。4.2 组策略和注册表两种消除方法方法一组策略。按“WinR”输入gpedit.msc依次展开“计算机配置 - 管理模板 - Windows组件 - 远程桌面服务 - 远程桌面会话主机 - 授权”。双击右侧的“设置远程桌面授权模式”选择“已启用”授权模式选“按用户”。再双击“使用指定的远程桌面许可证服务器”选择“已启用”服务器名称填localhost或本机计算机名。设置完重启电脑或者重启“Remote Desktop Services”服务提示一般就会消失。方法二注册表。家庭版没有组策略编辑器可以直接用注册表写策略。管理员身份打开命令提示符reg add HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services /v LicensingMode /t REG_DWORD /d 2 /f reg add HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services /v LicenseServers /t REG_MULTI_SZ /d localhost /f这里的LicensingMode值1代表按设备2代表按用户推荐按用户。LicenseServers填许可证服务器地址单机场景写localhost即可。执行完重启相关服务。不过说句实在话我在Win10上遇到过很多次这个弹窗即使不配置授权过了11天远程桌面照样能用。因为管理员并发连接本身就属于豁免范围。这个提示更多是给你添堵而不是真的要把你的远程桌面停掉。但为了避免误判我建议还是按上面步骤配置一下反正两分钟的事。4.3 哪些情况要真去配授权如果你只是开了Win10自带的“远程桌面”功能上面的方法足够应对。但如果你在Windows Server上安装了“远程桌面服务”角色、配置了会话集合、想让多个用户同时登录那就需要一套真正的远程桌面授权服务器。这种情况一般出现在企业办公环境需要通过“服务器管理器 - 远程桌面服务 - 服务器”里创建会话集合并购买、安装RDS CAL授权。Windows Server默认有120天宽限期宽限期过了没有有效授权远程桌面服务会真的停止工作这跟在Win10上看到的“11天后停止”完全不是一个量级。所以区分自己到底在跑“远程桌面功能”还是“远程桌面服务角色”是决定要不要花精力配置授权的关键。5. 局域网远程桌面常见故障排查这一部分我按实际使用中遇到的高频问题来写。很多问题看起来五花八门归根结底就那么几个原因掌握了排查思路以后遇到任何连接故障都不慌。5.1 连接失败原因速查表现象可能原因处理方式提示“找不到计算机”IP或主机名写错、两台机器不在同一网段、NetBIOS解析失败改用IP地址连接ping测通连接超时防火墙拦截端口、被控端睡眠、系统未完全启动检查防火墙规则、唤醒电脑、关闭快速启动提示“内部错误”凭据错误、网络中断、显卡驱动异常清理凭据管理器更新驱动尝试关闭NLA提示“CredSSP加密Oracle修正”客户端与服务端补丁不对等双方更新系统补丁或临时调整组策略连上后黑屏快速启动、显卡驱动、会话异常关闭快速启动更新显卡驱动注销重登关于“CredSSP加密Oracle修正”这个问题2018年微软安全更新之后很多局域网用户都遇到过。最靠谱的解决办法是让客户端和被控端都更新到最新补丁。如果是旧设备实在没法更新可以在组策略里把“加密Oracle修正”改成“易受攻击”但我不建议在生产环境这么干毕竟安全补丁是为了防御真实攻击的。5.2 用户密码都正确却“没反应”怎么办热词里有一条“远程桌面连接用户密码都正确没反应”这个我太有体会了。密码明明没错点连接就是转圈、打转、弹回登录界面甚至直接卡在“请稍候”状态。最常见的原因有四个。第一空密码账户限制。Win10默认不允许空密码账户通过远程桌面登录。如果你被控端用的是无密码本地账户远程连接时不管你输入什么都会失败。解决办法是给账户设置一个密码不需要去关UAC也不用改组策略。第二NLA不匹配。用Win7远程连Win10或者Win10远程连一些旧版Server经常出现输完密码后没反应。在被控端运行sysdm.cpl切到“远程”选项卡把“仅允许运行使用网络级别身份验证的远程桌面的计算机连接”取消勾选再试一次。测试通过后建议改回来或者尽快升级客户端系统。第三凭据管理器里缓存了旧密码。客户端本地保存过错误的凭据每次连接都会自动使用缓存值新输入的密码反而不生效。命令行执行cmdkey /list查看所有已保存的凭据然后使用cmdkey /delete:目标地址删除对应条目再重新连接。第四用户名格式不对。如果被控端用的是微软账户登录连接时用户名要填“设备名\微软账户前缀”或者完整的微软账号邮箱。经常有人把微软邮箱当成本地用户名填进去明明密码正确系统就是不认。5.3 “已登录的用户太多”的处理“已登录的用户太多”这个提示在Windows Server上非常常见但在Win10的局域网环境里偶尔也会出现。根本原因是远程桌面会话被断开后没有正常注销而是挂在“已断开”状态日积月累超过了系统允许的最大会话数。处理方法很简单。在被控端用管理员身份打开命令提示符输入query session会看到类似下面这样的会话列表SESSIONNAME USERNAME ID STATE TYPE DEVICE services console 0 Conn WD rdp-tcp 65536 Listen RDP user01 1 Disc RDP状态为Disc的会话说明用户已经断开连接但会话还占着名额。用logoff 1强制注销这个会话其中1是对应的会话ID。释放掉之后其他用户就可以正常连接了。另外一个实用技巧客户端连接时使用mstsc /admin可以强制连接到控制台会话也就是接管电脑本地屏幕这个会话。这个命令在处理“已登录用户太多”或者“本地用户占用会话”时非常好用能直接抢回会话控制权但我一般只在必要时才用因为接管会话会把当前正在使用那台电脑的人踢下线。经验之谈远程连接用完别直接点窗口右上角的红叉尽量在远程桌面里的“开始 - 注销”或“断开连接”中操作。注销会彻底释放会话断开连接则会保留会话、不释放占用。对需要多个人轮流连接的机器长期挂着“断开”状态会攒出一堆僵尸会话。5.4 卡顿、掉线和黑屏问题局域网远程桌面卡顿大多数情况不是系统问题而是网络质量或连接配置问题。先用“ping -t 被控端IP”持续测一下丢包率如果ping值忽高忽低、甚至丢包优先排查无线信号、网线接触、交换机端口问题。无线环境里远程桌面卡顿的根源往往就是信号不稳定。排除了网络问题之后再看mstsc的“体验”选项卡。把“桌面背景”、“字体平滑”、“窗口动画”等特效关掉只保留基础画面卡顿会有明显改善。分辨率也可以调低一些Win10默认会用被控端的原始分辨率远程客户端如果是小屏幕建议在“显示”选项卡里把分辨率调成适合自己屏幕的大小。黑屏问题有一个容易忽略的元凶快速启动。Win10默认开启快速启动关机再开机后网卡驱动和远程桌面监听服务可能出现初始化异常表现就是开机后前几次远程连接黑屏、卡在登录界面。关掉快速启动的方法控制面板 - 电源选项 - 选择电源按钮的功能 - 更改当前不可用的设置 - 取消勾选“启用快速启动”。这招能解决很多莫名其妙的远程桌面异常。显卡驱动问题也可能导致RDP画面异常。Win10的远程桌面支持H.264/AVC硬件编码如果显卡驱动版本太老或兼容性不好会出现花屏、黑屏、画面撕裂。更新显卡驱动能解决大部分此类问题。如果更新后仍异常可以在组策略“计算机配置 - 管理模板 - Windows组件 - 远程桌面服务 - 远程桌面会话主机 - 远程会话环境”中关闭“为远程桌面连接使用硬件图形适配器”试一下。还有一点容易被忽略IPv6。如果局域网网络环境里IPv6配置混乱mstsc有时会优先尝试IPv6地址连接导致长时间等待然后超时。遇到这种情况直接在mstsc里输入IPv4地址连接即可必要时也可以在网卡属性中临时禁用IPv6来验证。6. 局域网远程桌面的安全配置建议远程桌面功能确实方便但它同时也是攻击者关注的重点哪怕在局域网里也不能完全不设防。下面这些安全配置建议在开启远程桌面的同时顺手做了。6.1 防火墙与安全中心该放就放不该关就别关开启远程桌面时Windows系统防火墙会自动放行“远程桌面”规则。但如果你的电脑装了第三方安全软件或防火墙系统防火墙放行不代表对方软件也放行这时候需要在对应软件中手动添加TCP 3389端口规则。网上有些人为了省事教人把“Windows安全中心”里的防火墙全部关掉。这个操作我强烈反对远程桌面配好了电脑暴露面反而更大了。正确的做法是进入“Windows安全中心 - 防火墙和网络保护 - 允许应用通过防火墙”找到“远程桌面”勾选“专用”网络然后确认。这样既能让远程桌面正常工作又不影响系统防护能力。如果修改了RDP端口别忘了在防火墙里同步放行新端口。我自己就踩过一次坑把端口改成了3390防火墙里只放行了3389结果怎么都连不上最后排查半天发现是防火墙规则没跟上。6.2 账户权限要收着给远程桌面的账户权限不是越给越多越好。系统默认允许Administrators组和Remote Desktop Users组里的账户远程登录如果你只是需要临时访问新建一个专用账户并加入Remote Desktop Users组就够了。操作方式设置 - 账户 - 家庭和其他用户 - 将其他人添加到这台电脑创建新用户并设置密码。然后在“计算机管理 - 本地用户和组 - 组”里双击“Remote Desktop Users”把新用户添加到这个组。这样该用户只能远程登录不能随意修改系统配置权限被限制在可控范围内。还有一条建议把默认的Administrator账户禁用或重命名。Windows默认的管理员账户容易成为暴力破解的目标重命名后攻击者至少要多猜一层用户名。配合强密码策略密码长度尽量不少于12位包含大小写字母、数字和符号能大幅提高安全性。6.3 RDP安全审计与收尾建议局域网不等于绝对安全同一网络里的其他设备也有可能扫描端口、尝试登录。保持NLA开启可以过滤掉未认证的扫描请求设置账户锁定策略可以进一步限制暴力破解运行secpol.msc在“账户策略 - 账户锁定策略”里设置“账户锁定阈值”为5次超过次数后账户锁定一段时间能有效阻断脚本型攻击。平时可以通过事件查看器关注远程桌面的登录日志。路径是“事件查看器 - 应用程序和服务日志 - Microsoft - Windows - TerminalServices-RemoteConnectionManager - Operational”查看登录失败的事件ID和来源IP。如果发现很多来自同一IP的连续失败尝试说明有人在扫你的机器这时候就要考虑改端口、限制防火墙来源IP或者直接在路由器层面拦截。最后再分享一个小技巧如果你用的是VMware或Hyper-V虚拟机做远程桌面测试先把虚拟机的网络模式改成“桥接”让它和宿主机处于同一局域网网段再按上面的步骤操作效果和物理机完全一样。我自己的习惯是每开一台新机器的远程桌面就顺手固定IP、关睡眠、给专用账户设强密码、保持NLA勾选这套组合拳下来基本能做到开机即连、连上不出幺蛾子。希望你看完这篇文章也能少踩几个坑。