尝试使用别名 CNAME 或资源记录 (连接到打印机时) 错误消息:Windows无法连接到打印机
10/15/2020
本文内容
本文提供了一个解决方案,用于解决尝试使用 CNAME 或资源记录中的别名 (连接到打印机) 的错误。
适用于: Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号: 979602
症状
当您尝试为运行 Windows Server 2008 R2 的打印服务器或运行 Windows 7 且承载打印机的客户端计算机使用别名 (CNAME) 资源记录连接到打印机时,您将收到以下错误消息:
Windows无法连接到打印机。 请检查打印机名称,然后重试。 如果是网络打印机,请确保打印机已打开,并且打印机地址正确。
此外,网络监视器跟踪中还会显示以下内容:
[客户端请求] 34 4.421875 {MSRPC:9, SMB2:8, TCP:2, IPv4:1} IP 地址 IP 地址 Winspool Winspool:RpcOpenPrinterEx 请求,Printer = \ \ printsvr\Microsoft XPS 文档编写器
[服务器响应] 37 4.843750 {MSRPC:9, SMB2:8, TCP:2, IPv4:1} IP 地址 IP 地址 Winspool Winspool:RpcOpenPrinterEx 响应,状态 = ERROR_INVALID_PRINTER_NAME
原因
此问题可能由于非群集计算机的后台处理程序代码的优化更改而出现。 加载操作系统时,打印后台处理程序服务将加载计算机的本地名称以及 DNS 缓存中的其他本地名称。 打印后台处理程序服务使用本地名称为请求提供服务。 因此,该服务必须获取对网络的访问权限,然后查询名称,如 CNAME (资源) 别名。 此行为会降低服务的性能。
解决方法
若要解决此问题,请使用以下命令在运行 Windows 2008 Server R2 且正由别名 (CNAME) 资源记录访问的打印服务器上添加注册表项:
reg add HKLM\SYSTEM\CurrentControlSet\Control\Print /v DnsOnWire /t REG_DWORD /d 1
备注
某些第三方 DNS 提供商需要使用 QWord。 如果 DWord 存在,请将其删除。
此注册表项会降低性能。 因此,我们建议您仅将此注册表项添加到必须由 CNAME 或资源记录中的别名 (访问) 服务器上。 修改注册表项后,请重新启动打印后台处理程序服务,使此项生效。
更多信息
不支持使用网络负载平衡 (NLB) 技术或域名系统 (DNS) 循环功能对打印机进行负载平衡。 本文中提到的解决方法仅适用于一个运行 Windows Server 2008 R2 的打印服务器通过引用该服务器的别名 (CNAME) 资源记录访问的方案。