如何运用命令行添加打印机
如果你是一个单位的网管恐怕为单位的各个科室、部门添加打印机特别是网络打印机是件很令人头痛的事,挨个部门跑吗?不,如果你能熟练的掌握下面的介绍的命令,那么你坐在自己的电脑前不需要其他任何的软件就可以轻松完成。

虽然 Microsoft Windows NT 4.0 Zero Administration Kit (ZAK) 包含一些诸如 的工具,但是通过 工具,只能添加或删除网络打印机。您还可以使用 Windows 2000 修改和删除本地打印机。因此,管理员可以通过使用户运行批处理文件或登录脚本,从而控制用户打印能力的所有方面。
注意:如果在登录脚本或客户端启动的批处理文件中使用此命令,则客户端计算机需要运行 Windows 2000 Windows Server 2003。由于要在客户端计算机上运行登录脚本,因此 Windows NT 4.0 客户端无法处理此命令。
此外,可以从管理员的工作站或者从服务器运行这些命令,从而向客户端计算机推送安装打印机,而无须从实际的计算机执行安装。
更多信息
下面的示例列出此命令的最常见用法。
注意:此命令只能在基于 Windows 2000 或基于 Windows Server 2003 的计算机上运行,该计算机对应的服务器或工作站可以为 Windows 2000Windows Server 2003 Windows NT 4.0
下面的示例在一台名为 SERVER 的计算机上添加一个 Agfa 打印机驱动程序,并创建一个逻辑打印机。
注意:这两行都可以放入批处理文件中,也可以在命令提示符下按照任意顺序键入。这两行已换行以便于阅读。
rundll32 printui.dll,PrintUIEntry /ia /c\\server /m "AGFA-AccuSet v52.3" /h "Intel" /v "Windows 2000" /f %windir%\inf\ntprint.inf
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /c\\SERVER /f "%windir%\inf\ntprint.inf" /r "lpt1:"/m "AGFA-AccuSet v52.3"
下面的示例从名为 SERVER 的计算机中删除 Agfa 打印机:
rundll32 printui.dll,PrintUIEntry /dl /n "Test Printer" /c\\SERVER
有关可用开关的更多信息,请在该命令后键入 /?
此外,在命令提示符处,键入:
rundll32 printui.dll,PrintUIEntry /?
上面的命令可显示用法开关的完整列表,并提供使用此方法的详细示例。
此外,在命令提示符处,键入:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
上面的命令可显示有关更改打印机属性的其他帮助信息。下面的示例将当前的打印机驱动程序切换至指定的新打印机驱动程序(已安装在服务器上):
rundll32 printui.dll,PrintUIEntry /Xs /n\\SERVER\PRINTERSHARENAME DriverName "Lexmark C752 PS3"

注意:下面是一个语法示例,只要创建标准 TCP/IP 端口,该语法即可正确运行。
rundll32 printui.dll,PrintUIEntry /if /b "NORTH-US-SRTEST-TEST24-BOGUS" /f %windir%\inf\ntprint.inf /r "IP_157.57.50.98" /m "HP Laserjet 4000 Series PCL" /Z
如果没有创建标准 TCP/IP 端口,则可能出现下面的错误对话框:
打印机用户界面
打印机 rundll 命令失败。
命令:/if /b "NORTH-US-SRTEST-TEST24-BOGUS" /f %windir%\inf\ntprint.inf /r "IP_157.57.50.98" /m "HP Laserjet 4000 Series PCL" /Z
您输入了错误的打印机名称,或者指定的打印机已不再与服务器保持连接。有关更多信息,请单击帮助。
--------------------------------------------------------------------------------
这篇文章中的信息适用于:
Microsoft Windows 2000 Server
Microsoft Windows 2000 Professional Edition
Microsoft Windows Server 2003 Standard Edition
Microsoft Windows Server 2003 Datacenter Edition
Microsoft Windows Server 2003 Enterprise Edition
Microsoft Windows Server 2003 Web Edition
关键字:  kbhowto kbprint KB189105

   吧!   
  我用过的,直接放在unattention.sif   [runonce]中加入这方面的脚本。   
  具体使用方法请见:   
  用法:   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]   驱动程序体系结构,为下列之一:   Alpha   |   Intel   |   IA64   
        /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 解析端口   
        /u   如果已安装,则使用现有的打印机驱动程序   
        /t[#]   起始的以零为基础的索引页   
        /v[version]   驱动程序版本属于下列中的一个:   Windows   9598      ME   |   Windows   NT   4.0   |   Windows   NT   4.0      2000   |   Windows   2000      XP|     Windows   XP     
        /w   如果指定的驱动程序不在   inf   中,则提示用户   
        /y   将打印机设为默认打印机   
        /Xg   获得打印机设置   
        /Xs   设定打印机设置   
        /z   不要自动共享这台打印机   
        /Z   不要自动生成打印机名   
        /K   更改   /v      /h   的意义来将   Windows   IA64   |   Windows   NT   x86   |   Windows   NT   Alpha_AXP   |   Windows   4.0   分别接受为   0123   
        /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     
           [url=file://\\machine]\\machine[/url]:     
    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   运行添加打印机向导:   
  rundll32printui.dll,PrintUIEntry/ii/%windir%\inf\ntprint.in   
        添加每个机器打印机连接:     
  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   "Intel"   /v   "Windows   2000      XP"   /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   "Intel"   /v   "Windows   2000      XP"   
        删除打印机驱动程序:     
  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   /n     "printer"   comment   "My   Cool   Printer"   
        取得打印机设置:     
  rundll32   printui.dll,PrintUIEntry   /Xg   /n   "printer"   
        取得文件中的打印机设置保存结果:     
  rundll32   printui.dll,PrintUIEntry   /f   ""   /Xg   /n   "printer"   
        设置打印机设置命令使用:   
  rundll32printui.dll,PrintUIEntry/Xs/n"printer"?   
        将所有打印机设置存入一个文件:     
  rundll32   printui.dll,PrintUIEntry   /Ss   /n   "printer"   /a   "file.dat"   
        从一个文件还原所有打印机设置:     
  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

当然如果添加的是网络打印机你还需要用到net use这个命令
[url=sway/][color=#0000ff]net use 列出本机网络连接
[/color][/url]net use [url=file://ip/ipc$][color=#0000ff]\\IP\ipc$[/color][/url] "密码" /user:"帐号" 建立与指定IPIPC$(空连接)
net use z: [url=file://ip/c$][color=#0000ff]\\IP\c$[/color][/url] "密码" /user:"帐号" 将对方的c盘映射为自己的z
net use [url=file://ip/ipc$][color=#0000ff]\\IP\ipc$[/color][/url] /del 删除与指定IPIPC$连接
net use z: /del 删除本机映射的z
net use * /del 删除本机所有映射和IPC$连接
如提示:提供的凭据与已存在的凭据冲突, net use * /del 即可
Net use
将计算机连接到某个共享资源或与其断开连接,或者显示有关计算机连接的信息。该命令还控制永久性网络连接。在没有参数的情况下使用,net use 可以检索网络连接列表。语法
[url=sway/][color=#0000ff]net use [{DeviceName | *}] [{\\ComputerName[\ShareName[\Volume]]] |[ComputerName/ShareName[/Folder]}] [{Password | *}]] [/userscreen.width-300)this.width=screen.width-300'>DomainName\]UserName] [/userscreen.width-300)this.width=screen.width-300'>DottedDomainName\]UserName] [/userscreen.width-300)this.width=screen.width-300'>UserName@DottedDomainName] [/savecred] [/smartcard] [{/delete | /persistent:{yes | no}}]net use [DeviceName [/home[{Password | *}] [/delete:{yes | no}]]
net use [/persistent:{yes | no}][/color][/url]
参数
DeviceName指派名称以连接到资源,或指定要断开连接的设备。有两种类型的设备名称:
磁盘驱动器(即 D: Z:)和打印机(即 LPT1: LPT3:)。键入星号 (*) 代替指定的设备名称来指派下一个可用的设备名称。[url=file://computername/ShareName][color=#0000ff]\\ComputerName\ShareName[/color][/url]指定服务器和共享资源的名称。如果 ComputerName 包含空格,请使用引号将整个计算机名引起来,从 \\ 开始到计算机名的末尾(如 "[url=file://computer/][color=#0000ff]\\Computer[/color][/url] Name\Share Name")。计算机名可以有 1 15 个字符。如果省略了 \ShareName,便会尝试连接到 ipc$ 共享。\Volume指定服务器上的 NetWare 卷。必须安装并运行“NetWare 客户端服务以连接到 NetWare 服务器。[url=computername/ShareName[/Volume][color=#0000ff]ComputerName/ShareName[/Volume[/color][/url]]指定 WebDAV 服务器和共享资源的名称。如果 ComputerName 包含空格,请使用引号将整个计算机名引起,即从 http 前缀 () 到计算机名的末尾。Password指定访问共享资源所需的密码。键入星号 (*) 将给出密码的提示。在密码提示符下键入密码时不显示密码。/user指定用其建立连接的其他用户名。该参数不可与 /savecred 配合使用。DomainName指定其他的域。如果忽略 DomainName,则 net use 将使用当前登录到的域。UserName指定登录时使用的用户名。DottedDomainName为用户帐户所在的域指定完全合格的域名。/savecred如果系统提示用户
输入密码,请存储提供的凭据以便再使用。该参数不可与 /smartcard /user 配合使用。/smartcard指定网络连接要使用智能卡上的凭据。如果多个智能卡可用,则将要求您指定凭据。该参数不可与 /savecred 配合使用。/delete取消指定的网络连接。如果用星号 (*) 指定连接,则将取消所有网络连接。/persistent:{yes | no}控制永久性网络连接的使用。默认值是最近一次所用的设置。无设备的连接不是永久性连接。Yes 将在连接完成后保存所有连接,并在下一次登录时恢复这些连接。No 不保存正在进行的连接或后续连接。现有的连接将在下次登录时恢复。使用 /delete 可以删除永久性连[url=sway/][color=#0000ff]接。/home将用户连接到主目录。net helpCommand显示指定 net 命令的帮助。注释
? 使用 net use 可以连接到网络资源以及从中断开连接,并查看当前与网络资源的连接。如果将共享目录用作当前驱动器,或者某个活动进程正在使用共享目录,则无法从共享目录中断开连接。? 要查看关于某个连接的信息,可以执行下列任何一种操作:? 键入 net useDeviceName 以获得有关某个特定连接的信息。? 键入 net use 以获得所有计算机连接的列表。[/color][/url]
? 无设备的连接不是永久性连接。? 在安装并运行“Netware 客户服务后,则可以连接到 Nov
ell 网络上的 Netware 服务器。使用连接到 Windows Networking 服务器时所用的相同语法,但是必须包括要连接的卷。? 如果提供的 ServerName 包含空格,请在文本两边使用引号(即 "Server Name")。如果忽略引号,将出现错误消息。
示例
要将磁盘驱动器设备名 E: 分配到[url=file://financial/][color=#0000ff]\\Financial[/color][/url] 服务器上的 Letters 共享的目录,请键入:net use e:\\financial\letters要将磁盘驱动器设备名称 M: 分配到(映射到)[url=file://financial/][color=#0000ff]\\Financial[/color][/url] NetWare 服务器上 Letters 卷内的目录 Mike,请键入:net use m:\\financial\letters\mike要连接用户标识符 Dan,并使该连接看似从“Accounts”域中完成,请键入:net use d:\\server\share /user:Accounts\Dan要使用 Passport 帐户 [email=UserName@passport][color=#0000ff]UserName@passport[/color][/email] 将磁盘驱动器设备名 F: 分配到名为 TargetName MSN Internet 访问社区中的文件包,请键入:net use f:[url=www.msnusers/TargetName]www.msnusers/TargetName[/url] /user:UserName@passport要从 [url=file://financial/Public][color=#0000ff]\\Financial\Public[/color][/url] 目录断开连接,请键入:net use f:\\financial\pu
blic /delete要连接到在 [url=file://financial/][color=#0000ff]\\Financial[/color][/url] 2 服务器上共享的资源备忘录,请键入:net use k:"[url=file://financial/][color=#0000ff]\\financial[/color][/url] 2" \memos要在每次登录时恢复当前连接而不考虑以后的变化,请键入:net use /persistent:yes 命令net use用法 ()net use
与一个网络共享连接或断开连接.不加参数则显示当前网络映射.语法:net use <device name> or * [url=file://%3ccomputer/][color=#0000ff]\\<computer[/color][/url] name>\<share name>[password or *] [/user:[domain\user] /delete or [persistent:[yes or no]]
[url=sway/][color=#0000ff]net use <device name> /home /delete or /persistent:[yes or no]
选项:<device name> 要映射的设备名. * 代表下一个可用的设备名
\\computer name 控制资源的计算机名[/color][/url]
\sharename 共享名
\volume NetWare server上的卷名
password 映射的密码
* 输入密码的提示
/
user:<domain>\<user> 指定用户以何种身份登录
/home 连接进入用户主目录
/delete 关闭连线
/persistent:[yes or no> 设置用户下一次登录是时是否重新连入

实例:
某单位一台电脑要添加另一台ip192168015电脑上共享名为ep的打印机,该电脑设置了密码限制访问未完全开放共享因此添加该机器上的打印机时,需要先用NET USE命令开启共享资源。所需命令如下:

@net use [url=file://\\192.168.0.7\ipc$]\\192.168.0.7\ipc$[/url] /user:username" password

@echo offclsecho rundll32 printui.dll,PrintUIEntry /in /n [url=file://\\192.1680.15\ep]\\192.1680.15\ep[/url]