概述
非基于Windows的应用不能直接(如基于DOS下的应用程序)使用spooler(假脱机系统)来打印,也不是直接打印到一个打印机,他们只能打印到一个端口,如LTP1 LPT2.流量控制则取决于那些使用端口的软件本身.
•如果目标端口被网络重定向器所控制,(用户使用Net User<portname> \\<server>\<share> 的命令来映射一个设备时),这个打印任务将发送到合适的重定向器(Windows network redirector或NetWare network redirector).Windows NT spooler不会被牵涉到,因些可以让这些打印任务既可以假脱机又不用修改.
•如果目标端口不是被重定向器所控制而是定义到打印控制台中的一台本地打印或打印机文件夹控制,这个打印任务将发送到本地打印机并使用分配的打印机的默认数据类型.
•如果既不和重定向器有关又不和本地打印机有关,这个打印作业将发送到并口或串口的驱动控制这个目标端口并把打印任务发送给打印驱动.
当从一个基于DOS的应用程序打印时,它们是不会使用Windows 假脱机队列的,请确保在使用打印功能之已经使用NET USE命令.
一个LPT端口只能映射一个设备.
ICA会话的常规信息
不像COM端口的重定向,COM是双向的.LPT的映射只是输出的并且在ICA会话中只限制使用\\client\LPT1 和\\client\LPT2.
CTX384590 – Troubleshooting COM Port Redirection Issues
默认情况下,ICA联接会映射LTP1和LPT2.这个默认的动作可以通过发布桌面或发布命令行来查看到,cmd.exe,然后输入NET USE.将会见到如下的显示:
C:\Documents and Settings\user.FTL>net use
New connections will be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
A: \\Client\A$ Client Network
LPT1 \\Client\LPT1: Client Network
LPT2 \\Client\LPT2: Client Network
U: \\Client\D$ Client Network
V: \\Client\C$ Client Network
The command completed successfully.
注意:服务器的LPT3不能被映射到\\client\LPT3,但可以被映射到\\client\LPT2:
C:\Documents and Settings\Administrator.FTLRLAB.000>net use lpt3 \\client\lpt3
System error 55 has occurred.
The specified network resource or device is no longer available.
C:\Documents and Settings\Administrator.FTLRLAB.000>net use lpt3 \\client\lpt2
The command completed successfully.
C:\Documents and Settings\Administrator.FTLRLAB.000>net use
New connections will be remembered.
Status Local Remote Network
------------------------------------------------------------------------------
A: \\Client\A$ Client Network
LPT1 \\Client\LPT1: Client Network
LPT2 \\Client\LPT2: Client Network
LPT3 \\Client\LPT2: Client Network
U: \\Client\D$ Client Network
V: \\Client\C$ Client Network
The command completed successfully.
此外,可以做以下尝试:
在ICA会话中(仅适用于Terminal Server 4.0),在命令行状态下输入QOBJECT /DEVICE >QOBJECT.TXT.它将显示已映射的LPT1和LPT2.
[注:QOBJECT在Windows 2003 Server下已不存在.Query下也没有了Object的参数,Qobject只能在Nt 4.0和Windwos 2000 Server下使用]
例如:
例如:
LPT1 \Device\CdmRedirector\LPT1:\13\LPT1:
LPT2 \Device\CdmRedirector\LPT2:\13\LPT2:
LPT3 \Device\CdmRedirector\LPT3:\13\LPT2:
LPT2 \Device\CdmRedirector\LPT2:\13\LPT2:
LPT3 \Device\CdmRedirector\LPT3:\13\LPT2:
在映射的客户端设备中:LPTx:\yy\LPTz: LPTx是服务器端的端口名, /yy/是会话ID, LPTz是客户端的端口名,它是指向LPTx的。端口映射使用CDM重定向器。CDM重定向器是用于映射客户端设置的Citrix重定向器。
如果显示LanMan重定向器,这就表示这个服务器的端口映射到服务器的网络上的其它端口(使用Microsoft networking)
在ICA会话中打印到LPT端口
如果Citrix ICA客户端工作站有联接一台实体打印机或映射了一台网络打印机到一个LPT端口(在本地工作站运行NET USE命令),以下的命令行将打印当前目录的列表。
C:\Documents and Settings\user.FTL>DIR > LPTx:(x是实际映射的端口号)
在本地工作站的ICA会话条件下测试。
如果Citrix ICA客户端工作站有联接一台实体打印机或映射了一台网络打印机到一个LPT端口(在本地工作站运行NET USE命令)并且这个打印机在工作站的打印机目录中没有定义,这个应用程序将不能在ICA会话中打印到客户端。
如上述命令行所示在Windows客户端下的LPT端口重定向严格的使用StartDocPrinter(),WritePrinter(),和EndDocPrinter()API,这就意味着目标必须是一个windows本地打印。
在ICA会话中关闭LPT端口映射
在ICA会话中禁用ICA LPT映射依然允许映射网络打印机到LPT端口。
NET USE LPTx: \\servername\printershare
注意:Citrix重定向器,CDM,不适用这种情况。所有ICA会话的这类问题同样可能出现在RPD会话。适用的重定向器是Microsoft,Novell,等。
LPT端口映射的禁用可能要在Windows 2003策略中设置,在ICA侦听器或通过Citrix Management Console策略。详情请见下面的截屏图:
CTX104693 – ?Client Printer mapping? and ?Client LPT Port mapping? are greyed out in ica-tcp listener

更多信息

