某客户新增一台佳能 Canon iR2022打印机,自带网络模块,因此可以直接在所有客户端做本地打印机使用。
添加网络端口及驱动安装比较繁琐(客户端比较多,登录用户仅为普通用户,没有安装本地打印机的权限),因此考虑采用组策略做开机脚本统一部署。
参考如下命令实现:
prnport -a -r IP_192.168.1.2 -h 192.168.1.2 -o raw -n 9100
rundll32 printui.dll,PrintUIEntry /if /b "Canon iR2022/2025/2030 UFRII LT" /f CNLB0C.INF /r "IP_192.168.1.2" /m "Canon iR2022/2025/2030 UFRII LT"
我用上面的命令实现了安装,如其他机型可能还需要用到
c. //h:c. /s
prnmngr
prncnfg
*prnport,prnmngr,prncnfg为VBS脚本,机器自带,但挂载系统中未带的驱动用prnmngr不成功,报错 win32 error 87,因此我用rundll32 printui.dll,PrintUIEntry 解决
具体参数参见相关文档,不做详尽描述
rundll32 printui.dll,PrintUIEntry 参数说明
------------------------------------------------------------------------------
------------------------------------------------------------------------------
/ia 用 inf 文件安装打印机驱动程序
/if 用 inf 文件安装打印机
/b[name] 基本打印机名
/c[name] 如果操作在远程机器上,unc 机器名
/dl 删除本地打印机
/dn 删除网络打印机连接
/dd 删除打印机驱动程序
/f[file] inf 文件或输出文件
/h[arch] 驱动程序体系结构,为下列之一: Alpha | Intel | IA64
/m[model] 打印机驱动程序型号名
/n[name] 打印机名
/v[version] 驱动程序版本属于下列中的一个: Windows 95、98 和 ME | Windows NT 4.0 | Windows NT 4.0 或 2000 | Windows 2000 或 XP| Windows XP
/q 安静模式,不显示错误信息
/r[port] 端口名
/y 将打印机设为默认打印机
/z 不要自动共享这台打印机
/Z 共享这台打印机,只能跟 /if 选项一起使用
/if 用 inf 文件安装打印机
/b[name] 基本打印机名
/c[name] 如果操作在远程机器上,unc 机器名
/dl 删除本地打印机
/dn 删除网络打印机连接
/dd 删除打印机驱动程序
/f[file] inf 文件或输出文件
/h[arch] 驱动程序体系结构,为下列之一: Alpha | Intel | IA64
/m[model] 打印机驱动程序型号名
/n[name] 打印机名
/v[version] 驱动程序版本属于下列中的一个: Windows 95、98 和 ME | Windows NT 4.0 | Windows NT 4.0 或 2000 | Windows 2000 或 XP| Windows XP
/q 安静模式,不显示错误信息
/r[port] 端口名
/y 将打印机设为默认打印机
/z 不要自动共享这台打印机
/Z 共享这台打印机,只能跟 /if 选项一起使用
更多的帮助请使用rundll32 printui.dll,PrintUIEntry /?
---------------------------------------------------------------------------
用法: prnport [-adlgt?] [-r 端口][-s 服务器][-u 用户名][-w 密码]
[-o raw|lpr][-h 主机地址][-q 队列][-n 编号]
[-me | -md ][-i SNMP 索引][-y 团体][-2e | -2d]
参数:
-a - 添加端口
-d - 删除指定端口
-g - 获得 TCP 端口的配置
-h - 设备的 IP 地址
-i - SNMP 索引,如果已启用 SNMP
-l - 列出所有 TCP 端口
-m - SNMP 类型。[e] 启用,[d] 停用
-n - 端口编号,应用于 TCP RAW 端口
-o - 端口类型,raw 或 lpr
-q - 队列名称,应用于 TCP LPR 端口
-r - 端口名
-s - 服务器名
-t - 设定 TCP 端口的配置
-u - 用户名
-w - 密码
-y - 团体名,如果已启用 SNMP
-2 - 双后台处理程序,应用于 TCP LPR 端口。[e] 启用,[d] 停用
-? - 显示命令用法
[-o raw|lpr][-h 主机地址][-q 队列][-n 编号]
[-me | -md ][-i SNMP 索引][-y 团体][-2e | -2d]
参数:
-a - 添加端口
-d - 删除指定端口
-g - 获得 TCP 端口的配置
-h - 设备的 IP 地址
-i - SNMP 索引,如果已启用 SNMP
-l - 列出所有 TCP 端口
-m - SNMP 类型。[e] 启用,[d] 停用
-n - 端口编号,应用于 TCP RAW 端口
-o - 端口类型,raw 或 lpr
-q - 队列名称,应用于 TCP LPR 端口
-r - 端口名
-s - 服务器名
-t - 设定 TCP 端口的配置
-u - 用户名
-w - 密码
-y - 团体名,如果已启用 SNMP
-2 - 双后台处理程序,应用于 TCP LPR 端口。[e] 启用,[d] 停用
-? - 显示命令用法
例如:
prnport -l -s 服务器
prnport -d -s 服务器 -r IP_1.2.3.4
prnport -a -s 服务器 -r IP_1.2.3.4 -h 1.2.3.4 -o raw -n 9100
prnport -t -s 服务器 -r IP_1.2.3.4 -me -y public -i 1 -n 9100
prnport -g -s 服务器 -r IP_1.2.3.4
prnport -a -r IP_1.2.3.4 -h 1.2.3.4
prnport -l -s 服务器
prnport -d -s 服务器 -r IP_1.2.3.4
prnport -a -s 服务器 -r IP_1.2.3.4 -h 1.2.3.4 -o raw -n 9100
prnport -t -s 服务器 -r IP_1.2.3.4 -me -y public -i 1 -n 9100
prnport -g -s 服务器 -r IP_1.2.3.4
prnport -a -r IP_1.2.3.4 -h 1.2.3.4
注解:
上一个例子将试图获取指定 IP 地址的设备设置。
如果已检测到设备,那个设备的首选设备会被添加到 TCP 端口。
---------------------------------------------------------------------------------------
上一个例子将试图获取指定 IP 地址的设备设置。
如果已检测到设备,那个设备的首选设备会被添加到 TCP 端口。
---------------------------------------------------------------------------------------
用法: prnmngr [-adxgtl?][c] [-s 服务器][-p 打印机][-m 驱动程序型号]
[-r 端口][-u 用户名][-w 密码]
参数:
-a - 添加本地打印机
-ac - 添加打印机连接
-d - 删除打印机
-g - 获取默认打印机
-l - 列出打印机
-m - 驱动程序型号
-p - 打印机名
-r - 端口名
-s - 服务器名
-t - 设置默认打印机
-u - 用户名
-w - 密码
-x - 删除所有打印机
-? - 显示命令用法
[-r 端口][-u 用户名][-w 密码]
参数:
-a - 添加本地打印机
-ac - 添加打印机连接
-d - 删除打印机
-g - 获取默认打印机
-l - 列出打印机
-m - 驱动程序型号
-p - 打印机名
-r - 端口名
-s - 服务器名
-t - 设置默认打印机
-u - 用户名
-w - 密码
-x - 删除所有打印机
-? - 显示命令用法
例如:
prnmngr -a -p "打印机" -m "驱动程序" -r "lpt1:"
prnmngr -d -p "打印机" -s 服务器
prnmngr -ac -p "\\服务器\打印机"
prnmngr -d -p "\\服务器\打印机"
prnmngr -x -s 服务器
prnmngr -l -s 服务器
prnmngr -g
prnmngr -t -p "\\服务器\打印机"
prnmngr -a -p "打印机" -m "驱动程序" -r "lpt1:"
prnmngr -d -p "打印机" -s 服务器
prnmngr -ac -p "\\服务器\打印机"
prnmngr -d -p "\\服务器\打印机"
prnmngr -x -s 服务器
prnmngr -l -s 服务器
prnmngr -g
prnmngr -t -p "\\服务器\打印机"
--------------------------------------------------------------------------------
用法: prncnfg [-gtx?] [-s 服务器][-p 打印机][-z 新打印机名]
[-u 用户名][-w 密码][-r 端口名][-l 位置]
[-m 注解][-h 共享名][-f sep 文件][-y 数据类型]
[-st 开始时间][-ut 结束时间][-i 默认优先级]
[-o priority][<+|->shared][<+|->direct][<+|->hidden]
[<+|->published][<+|->rawonly][<+|->queued][<+|->enablebidi]
[<+|->keepprintedjobs][<+|->workoffline][<+|->enabledevq]
[<+|->docompletefirst]
参数:
-f - 分隔符文件名
-g - 获取配置
-h - 共享名
-i - 默认优先级
-l - 位置字符串
-m - 注解字符串
-o - 优先级
-p - 打印机名
-r - 端口名
-s - 服务器名
-st - 开始时间
-t - 设置配置
-u - 用户名
-ut - 结束时间
-w - 密码
-x - 更改打印机名
-y - 数据类型字符串
-z - 新打印机名
[-u 用户名][-w 密码][-r 端口名][-l 位置]
[-m 注解][-h 共享名][-f sep 文件][-y 数据类型]
[-st 开始时间][-ut 结束时间][-i 默认优先级]
[-o priority][<+|->shared][<+|->direct][<+|->hidden]
[<+|->published][<+|->rawonly][<+|->queued][<+|->enablebidi]
[<+|->keepprintedjobs][<+|->workoffline][<+|->enabledevq]
[<+|->docompletefirst]
参数:
-f - 分隔符文件名
-g - 获取配置
-h - 共享名
-i - 默认优先级
-l - 位置字符串
-m - 注解字符串
-o - 优先级
-p - 打印机名
-r - 端口名
-s - 服务器名
-st - 开始时间
-t - 设置配置
-u - 用户名
-ut - 结束时间
-w - 密码
-x - 更改打印机名
-y - 数据类型字符串
-z - 新打印机名
-? - 显示命令用法
例如:
prncnfg -g -s 服务器 -p 打印机
prncnfg -x -s 服务器 -p 打印机 -z "新打印机"
prncnfg -t -p 打印机 -l "A 楼/第 100 层/办公室 1" -m "彩色打印机"
prncnfg -t -p 打印机 -h "共享" +shared -direct
prncnfg -t -p 打印机 +rawonly +keepprintedjobs
prncnfg -t -p 打印机 -st 2300 -ut 0215 -o 1 -i 5
例如:
prncnfg -g -s 服务器 -p 打印机
prncnfg -x -s 服务器 -p 打印机 -z "新打印机"
prncnfg -t -p 打印机 -l "A 楼/第 100 层/办公室 1" -m "彩色打印机"
prncnfg -t -p 打印机 -h "共享" +shared -direct
prncnfg -t -p 打印机 +rawonly +keepprintedjobs
prncnfg -t -p 打印机 -st 2300 -ut 0215 -o 1 -i 5
转载于:https://blog.51cto.com/hyson/139849