本文提供了打印机重定向不起作用且未发生事件 ID 的问题的解决方案。
原始 KB 数: 2003646
现象
打印机重定向不起作用。 驱动器重定向有效。 未看到事件 ID。
原因
后台处理程序安全描述符必须包含“AU”(经过身份验证的用户)ACL(访问控制列表),它允许任何经过身份验证的用户打开后台处理程序服务进行读取操作。
在这种情况下,后台处理程序安全描述符中缺少 ACL。
解决方法
运行以下命令以显示打印后台处理程序上的当前安全描述符:
C:\sc sdshow spooler
打印后台处理程序的未更改 SD(安全描述符)应如下所示:
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)
在这种情况下,重要的 ACL 是经过身份验证的用户(AU)的 ACL,因为 TS 作为网络服务运行,因此它依赖于此 ACL 存在,以便成功打开后台处理程序服务。 将以下 ACL 添加回修复了该问题。
(A;;CCLCSWLOCRRC;;;AU)
可以实现以下方法来添加缺少的 ACL。
运行下面的命令:
c:\>sc sdshow spooler >temp.txt
你将看到除“(A;;)之外的所有 ACL;CCLCSWLOCRRC;;;AU)“打开文本文件时 ACL。
下面是一个示例:(根据后台处理程序上设置的权限,你可能会看到不同的输出)
D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)
然后,可以在记事本中复制上述输出,如下所示:
sc sdset 后台处理程序 D: (A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)
注意
确保追加“sc sdset 后台处理程序 D: (A;;CCLCSWLOCRRC;;;上述命令的“AU”部分,指向在案例中看到的输出。
在命令提示符中复制并粘贴此命令。 (确保“(A;;CCLCSWLOCRRC;;;AU)“显示在开头。 否则,这可能不起作用。
通过运行上述命令,可以保留旧的 ACL,并添加缺少的 ACL,该 ACL 是经过身份验证的用户(AU)。
详细信息
下面是在“打印机重定向不起作用”问题中可以查看的更多事项的列表:
- 如果客户端计算机正在运行 Windows XP,请确保已安装 .NET Framework 3.5 SP1 并且至少使用了 RDC 6.1。
- 即使使用 RDC 6.1 或更高版本,用户也必须单独安装受支持的 .NET Framework 版本。 Microsoft .NET Framework 3.5(包括 .NET Framework 3.0 SP1)可从Microsoft下载中心下载。
- 如果通过 RD 网关进行连接,请确保禁用打印机重定向的策略已关闭。
- 如果服务器也是域控制器,请参阅 在没有连接代理角色服务的 Windows Server 中安装远程桌面会话主机角色服务。
- 必须正确设置组策略才能在服务器上启用简易打印。 策略位置为“计算机配置 > 管理模板 > Windows 组件 > 远程桌面服务 > 远程桌面会话主机 > 打印机重定向”。 “首先使用远程桌面简易打印打印机驱动程序”设置必须设置为“已启用”,以便轻松打印重定向,并且必须为旧版打印的“已禁用”。 对于“未配置”,默认选择简易打印。
- 确保选中“本地资源”选项卡上客户端(mstsc.exe)窗口中的“打印机”复选框。 关联的 RDP 文件中的相应设置是“redirectprinters:i:1”。
数据收集
如果需要Microsoft支持方面的帮助,建议按照使用 TSS 收集信息中的 步骤收集用户体验问题来收集信息。