近日为企业员工计算机添加网络共享打印机时所用到的方法,现分享一下,之前写了VBS后由于权限问题不能正常运行,现改为批处理,普通用户即可使用。

由于是域环境,所以可直接连接,不用用户名和密码了。

@echo off
echo 添加网络打印机
rundll32 printui.dll,PrintUIEntry /in /n \\IP\打印机名
echo 连接成功
exit

 rundll32 printui.dll,PrintUIEntry /? 查看参数说明

 

用法: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]
  
/a[file] 二进制文件名
  
/b[name] 基本打印机名
  
/c[name] 如果操作在远程机器上,unc 机器名
  
/dl 删除本地打印机
  
/dn 删除网络打印机连接
  
/dd 删除打印机驱动程序
  
/e 显示打印首选项
  
/f[file] inf 文件或输出文件
  
/ga 添加每个机器打印机连接(用户登录时此连接将传播到用户)
  
/ge 枚举每个机器打印机连接
  
/gd 删除每个机器打印机连接(用户登录时此连接将被删除)
  
/h[arch] 驱动程序体系结构,为下列之一: x86 | Itanium | x64
  
/ia 用 inf 文件安装打印机驱动程序
  
/id 用添加打印机驱动程序向导安装打印机驱动程序
  
/if 用 inf 文件安装打印机
  
/ii 用带 inf 文件的添加打印机向导安装打印机
  
/il 用添加打印机向导安装打印机
  
/in 添加网络打印机连接
  
/j[provider] 打印提供程序名称
  
/k 将测试页打印到指定的打印机,不能安装打印机时的命令组合
  
/l[path] 打印机驱动程序源路径
  
/m[model] 打印机驱动程序型号名
  
/n[name] 打印机名
  
/o 显示打印机队列查看
  
/p 显示打印机属性
  
/q 安静模式,不显示错误信息
  
/r[port] 端口名
  
/s 显示服务器属性
  
/Ss 将打印机设置存到一个文件
  
/Sr 从一个文件还原打印机设置
   储存或还原必须放在命令结尾的打印机设置选项标志:
2 PRINTER_INFO_2
7 PRINTER_INFO_7
c 颜色配置文件
d 打印机数据
s 安全描述符
g 全局 DevMode
m 最低设置
u 用户 DevMode
r 解决名称冲突
f 强制使用名称
p 解析端口
i 驱动程序名称冲突
  
/u 如果已安装,则使用现有的打印机驱动程序
  
/t[#] 起始的以零为基础的索引页
   /v[version] 驱动程序版本属于下列中的一个: Windows 95、Windows 98 和 Windows Millennium Edition | Windows NT 4.0 | Windows 2000、Windows XP 和 Windows Server 2003 | Windows XP 和 Windows Server 2003
  
/w 如果指定的驱动程序不在 inf 中,则提示用户
  
/y 将打印机设为默认打印机
  
/Xg 获得打印机设置
  
/Xs 设定打印机设置
  
/z 不要自动共享这台打印机
  
/Z 不要自动生成打印机名
  
/K 更改 /v 和 /h 的意义,将 Windows x64 和 Windows IA64 | Windows NT x86 | Windows 4.0 分别接受为 023
  
/Z 共享这台打印机,只能跟 /if 选项一起使用
  
/? 帮助信息
  
@[file] 命令行参数文件
  
/Mw[message] 确认命令之前显示警告消息
  
/Mq[message] 确认命令之前显示确认消息
  
/W[flags] 指定向导(APW 和 APDW)的标志和切换
r 使向导可以从上一页重新启动
  
/G[flags] 指定全局标志和切换
w 抑制安装程序驱动程序警告 UI (超级静声模式)

例如:
   运行服务器属性:
rundll32 printui.dll,PrintUIEntry
/s /t1 /n\\machine
   运行打印机属性:
rundll32 printui.dll,PrintUIEntry
/p /n\\machine\printer
   在本地运行添加打印机向导:
rundll32 printui.dll,PrintUIEntry
/il
   在 \\machine:
rundll32 printui.dll,PrintUIEntry
/il /c\\machine 运行添加打印机向导
   运行队列查看:
rundll32 printui.dll,PrintUIEntry
/o /n\\machine\printer
   运行 inf 安装:
rundll32 printui.dll,PrintUIEntry
/if /b "Test Printer" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "AGFA-AccuSet v52.3"
   使用 inf 运行添加打印机向导:
rundll32 printui.dll,PrintUIEntry
/ii /f %windir%\inf\ntprint.inf
   添加每个机器打印机连接(用户登录时此连接将传播到用户):
rundll32 printui.dll,PrintUIEntry
/ga /c\\machine /n\\machine\printer /j"LanMan Print Services"
   删除每个机器打印机连接(用户登录时此连接将被删除):
rundll32 printui.dll,PrintUIEntry
/gd /c\\machine /n\\machine\printer
   枚举每个机器打印机连接:
rundll32 printui.dll,PrintUIEntry
/ge /c\\machine
   用 inf 添加打印机驱动程序: 
rundll32 printui.dll,PrintUIEntry
/ia /c\\machine /m "AGFA-AccuSet v52.3" /h "x86" /v "Windows 2000、Windows XP 和 Windows Server 2003" /f %windir%\inf\ntprint.inf
   用 inf 添加打印机驱动程序:
rundll32 printui.dll,PrintUIEntry
/ia /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3
   删除打印机驱动程序:
rundll32 printui.dll,PrintUIEntry
/dd /c\\machine /m "AGFA-AccuSet v52.3" /h "x86" /v "Windows 2000、Windows XP 和 Windows Server 2003"
   删除打印机驱动程序:
rundll32 printui.dll,PrintUIEntry
/dd /K /c\\machine /m "AGFA-AccuSet v52.3" /h "Windows NT x86" /v 3
   将打印机设为默认打印机:
rundll32 printui.dll,PrintUIEntry
/y /n "printer"
   设置打印机注解:
rundll32 printui.dll,PrintUIEntry
/Xs /"printer" comment "My Cool Printer"
   取得打印机设置:
rundll32 printui.dll,PrintUIEntry
/Xg /n "printer"
   取得文件中的打印机设置保存结果:
rundll32 printui.dll,PrintUIEntry
/f "results.txt" /Xg /n "printer"
   设置打印机设置命令使用:
rundll32 printui.dll,PrintUIEntry
/Xs /n "printer" ?
   将所有打印机设置存入一个文件:
rundll32 printui.dll,PrintUIEntry
/Xs /n "printer" ?
   从一个文件还原所有打印机设置:
rundll32 printui.dll,PrintUIEntry
/Sr /n "printer" /a "file.dat"
   将二级打印机信息存入一个文件:
rundll32 printui.dll,PrintUIEntry
/Ss /n "printer" /a "file.dat" 2
   从一个文件还原打印机安全描述符:
rundll32 printui.dll,PrintUIEntry
/Sr /n "printer" /a "file.dat" s
   从一个文件还原打印机全局 devmode 和打印机数据:
rundll32 printui.dll,PrintUIEntry
/Sr /n "printer" /a "file.dat" g d
   从文件最少设置还原并分析端口名:
rundll32 printui.dll,PrintUIEntry
/Sr /n "printer" /a "file.dat" m p

 

 

 

现将我应用的脚本发出来共享一下。BAT文件如下:

 

 
  
  1. @echo off  
  2. echo 添加网络打印机中  
  3. rundll32 printui.dll,PrintUIEntry /in /n \\192.168.1.100\HP2015  
  4. rundll32 printui.dll,PrintUIEntry /y /n "\\192.168.1.100\HP2015"  
  5. echo 添加成功exit