求助:Remote Desktop/AnyDesk打印命令调用本地主机名而非远程服务器名
解决方案
方法1:通过服务器组策略强制远程会话使用服务器主机名
适用于Microsoft Remote Desktop和AnyDesk等远程工具,从根源让应用获取服务器主机名而非客户端:
- 登录Windows Server 2019服务器,打开组策略编辑器:运行
gpedit.msc - 导航路径:计算机配置 > 管理模板 > Windows组件 > 远程桌面服务 > 远程桌面会话主机 > 会话环境
- 找到并启用替代用户会话的计算机名策略,在选项中输入服务器的主机名
- 重启远程桌面服务(运行
services.msc找到Remote Desktop Services,右键重启)或服务器生效
方法2:修改注册表强制会话主机名(替代组策略的方案)
如果服务器无法使用组策略(比如非域环境),可直接修改注册表:
- 打开服务器的注册表编辑器:运行
regedit - 定位到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp - 右键新建字符串值,命名为
ComputerName,值设为服务器的主机名 - 重启远程桌面服务或服务器后生效
方法3:修改药房软件配置,强制指定服务器主机名
直接跳过软件自动获取主机名的逻辑:
- 查找药房软件的配置文件(通常是
.ini、.config格式)或注册表项,寻找与“机器名”“主机名”相关的配置参数 - 将参数值手动设置为对应服务器的主机名,保存后重启软件
- 若找不到相关配置,联系软件开发商询问是否有强制指定主机名的启动参数或隐藏配置项
方法4:快速切换本地主机名的批处理脚本(临时过渡方案)
如果以上方法无法实施,可通过脚本减少手动修改的工作量:
创建对应不同服务器的批处理文件(右键管理员身份运行):
切换到ServerA主机名的脚本:
@echo off wmic computersystem where name="%COMPUTERNAME%" call rename name="ServerA" echo 主机名已修改为ServerA,请重启系统生效 pause
切换到ServerB主机名的脚本:
@echo off wmic computersystem where name="%COMPUTERNAME%" call rename name="ServerB" echo 主机名已修改为ServerB,请重启系统生效 pause
内容的提问来源于stack exchange,提问作者Himanshu Sharma
相关产品推荐
相关产品推荐

