我们必须从 Windows XP 计算机使用远程桌面连接 Windows 2008 服务器。条码打印机与 XP 机器相连,打印机在与服务器的 RDC 会话中作为本地资源共享。
在服务器上,我们必须从打印到 LPT 端口或共享打印机(UNC 路径)的应用程序进行打印。为此,我使用 LPT1 和(终端服务器)TSxxx 端口配置打印池。因为我不知道通过 UNC 路径访问终端会话打印机的选项。
但我有以下问题 -
每次我连接到远程会话时,本地 Win XP 机器上的打印机都会显示在 Win 2008 Server(终端服务器)的打印机和传真中,但不允许我从终端服务器管理 Win XP 打印机以启用池化。在服务器上,我每次都必须更改安全权限,然后启用打印池。如何保持安全权限不变?
其次,我创建了一个批处理文件来启用打印池。
rundll32 printui.dll,PrintUIEntry /Xs /n "Printer (from CLIENT)" Portname "LPT1:,TS005"
但是每次终端会话中的打印机连接到不同的终端会话端口。有什么解决方案可以修复 TS 端口吗?
任何人的帮助将不胜感激。
您无法获得您要求“固定”的参数,因为在每次会话断开/连接时都会删除并重新创建打印机。很明显,更改应用程序看起来是最干净的解决方案。如果无法更改,您显然可以围绕该问题编写一些脚本来减轻痛苦:
subinacl /printer
您可以使用脚本中的语法更改打印机的权限您可以通过首先检索您的会话 ID(例如使用
quser
)、构建打印机名称 ("Printer (redirected <SessionID>)"
) 并将其提供给类似的东西来检索打印机的端口cscript %WINDIR%\System32\Printing_Admin_Scripts\<Language>\prncnfg.vbs -g -p "Printer (redirected <SessionID>)" | find "Portname"
如果您的 Windows XP 机器可以通过 SMB 从终端服务器访问,您显然可以在那里共享打印机并使用该
\\%clientname%\<printer>
符号,但您可能已经想到了这一点并出于某种原因将其忽略。要求:
条件:
考虑的步骤:
参考资料和工具:
%WINDIR%\System32\Printing_Admin_Scripts\<Language>\prncnfg.vbs
)批: