一般来说,安装基于TCP/IP端口的打印机都需要经过两个步骤,第一步是添加TCP/IP端口,第二步是安装打印机驱动程序.
既然要实现无需人工参与批量部署,就肯定离不开脚本或者命令行.好在这些WINDOWS都给予了完美的支持,下面即刻转入正题.
1、添加TCP/IP端口
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports]
"StatusUpdateInterval"=dword:0000000a
"StatusUpdateEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\IP_10.10.10.1]
"Protocol"=dword:00000001
"Version"=dword:00000001
"HostName"=""
"IPAddress"="10.10.10.1"
"HWAddress"=""
"PortNumber"=dword:0000238c
"SNMP Community"="public"
"SNMP Enabled"=dword:00000001
"SNMP Index"=dword:00000001
将以上代码保存为注册表REG文件,比如,双击导入注册表即可完成添加TCP/IP端口.其中端口地址10.10.10.1视自身网络环境而定。
添加TCP/IP端口曾经困扰我多时,谁料到竟然用注册表就可以轻松搞掂.
2、安装打印机驱动程序,WINDOWS支持命令行安装打印机,命令如下:rundll32 printui.dll,PrintUIEntry /?
假设现在要在命令行下安装一台HP 4000型号的打印机驱动程序。那么完整的命令如下:
rundll32 printui.dll,PrintUIEntry /if /b "HP Laserjet 4000 Series PCL" /f %windir%\inf\ntprint.inf /r "IP_10.10.10.1" /m "HP Laserjet 4000 Series PCL" /z
将以上命令保存成bat批处理文件.比如setup.bat,其中端口名称IP_10.10.10.1视自身网络环境而定。
其中
/if 表示用inf文件安装打印机打印机驱动安装
/b 表示打印机名称,也就是在控制面板/打印机里面看到的打印机名称,这是可以随意更改的
/f 表示驱动程序inf文件的路径,以上例子中,由于WINDOWS2000/XP已经集成了HP4000型打印机,所以路径就是%windir%\inf\ntprint.inf ,支持UNC路径。
/r 表示TCP/IP端口名称
/
m 表示打印机标准名称,这个名称由inf文件确定,如例子中ntprint.inf文件里就有HP Laserjet 4000 Series PCL这个字串,不可更改
/z 表示是否共享该打印机,由大小写来区分
更多参数可以使用rundll32 printui.dll,PrintUIEntry /?查看
最后,安装的两个步骤都已经准备好.一个是文件,一个是setup.bat文件.再把这两个文件用WINRAR整合成自解压格式HP4000.EXE.放到共享文件夹或者网页上或者活动目录的启动脚本中就可以实现大规模部署.
以下是整合后的自解压文件范例供大家参考.
试试看,你的打印机列表中是不是多了一个TCP/IP端口的HP Laserjet 4000 Series PCL打印机.
-------------------------------------------------------------------------------------------------------------------------------------
附加:常规共享打印自动安装方案
假设有一台IP地址19
2.168.1.10的WIN2000系统,带一个HP1100打印机,打印机共享名为HP,那么打印机在网络上的地址为//192.168.1.10/HPLaserJ
常规的方法是只需要在"开始"-"运行"键入//192.168.1.10/HPLaserJ,之后系统弹出一个"连接到打印机"的消息窗口,点"确定"就可以完成添加打印机.系统会自动从那台WIN2000系统索取并自动安装该驱动程序.
如果要完全自动部署,用脚本添加该类共享的打印机跟添加TCP/IP端口打印机类似,并且更为简便,由于期间省略了安装打印端口这个过程,使得添加打印机速度更快.
命令语法如下:
rundll32 printui.dll,PrintUIEntry /if /b "HP LaserJet 1100 (MS)" /f %windir%\inf\ntprint.inf /r "\\192.168.1.10\HPLaserJ" /m "HP LaserJet 1100 (MS)"