在 .rdp 文件里把「剪贴板」和「本地驱动器」都勾好了,双击连过去,一进桌面这两项又是没勾的状态,还得多点一次勾回来。
不是手滑勾漏了。是从今年 4 月那波 Windows 安全更新之后开始的:更新之前,.rdp 里写了什么,mstsc 就按什么来;更新之后,重定向这几项被上层策略按默认值盖住了,.rdp 里哪怕写得明明白白,连的时候也不认,只能每次手动补。
天天连几十台机器的人,就被这点事磨着——不是连不上,是每次都要多点两下鼠标,点到最后人都麻了。
我在 七亿批量远程管理工具 的系统设置里加了个小按钮,干的就一件事:把被盖住的那几项重定向设置,写回「按 .rdp 里写的来」,把选择权还给文件本身。
拆开其实不复杂。Windows 把终端服务这些开关挂在一条策略下面,键在 HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 底下,具体是哪两个值我记不太准了,反正就是剪贴板和驱动器映射那两项(fDisableClip、fDisableCdm 这一类)。4 月那波更新之后,这两项默认变成了「禁用」。按钮做的事,就是拿管理员权限把它们改回不限制,或者干脆删掉,让 .rdp 自己的设置生效。
中间走过一步弯路。我第一反应是不动策略,连之前自己替用户把那两个勾补回去——反正文件里的值我们读得到。试了一下没成:mstsc 压根不读 .rdp 里那两行,策略在上头压着,它拿到的是被改过的值。所以只能从策略键下手,别的都是绕。
还有个细节,改完得把 mstsc 进程重开一下、或者注销重登,当前已经开着的会话还是旧设置。这个我在测试机上卡了好几分钟,一度以为按钮没写进去,其实是进程没重新读。
按钮是「一键」的,但每台机器得做一次——它改的是本机策略,不跟着 .rdp 走。只有一两台机器的人无所谓;天天连几十台的那批运维,才在乎这一下省不省。
顺带说个取舍。重定向这东西,方便和安全是反着的。远程桌面加固那几招我以前也记过,剪贴板、本地磁盘映射开得越多用着越顺,但远端一旦被人拿到,这些映射就是现成的通道。所以这个按钮只负责把「按 .rdp 里写的来」还回去,真要不要开、开哪几项,还是连的人自己定,它不替你拍板。
在测试机上连了十几遍,剪贴板来回贴了几次文本,稳了。一个小按钮,代码本身写了大半天,倒是去啃微软那条策略的说明、把两个值确认清楚花掉一下午。这版改动全在七亿批量远程管理工具客户端这边,服务端一行没动。值不值不好说,反正下次连机器不用再手点那两下了。
评论