在 Windows 10/8.1 中从命令提示符管理打印机
今天我们将讨论在 Windows 10/8.1 和 Windows Server 2012 R2/2016 中通过命令提示符管理打印机及其驱动程序的机会。我们将考虑如何使用简单的 Windows 命令安装新的本地或网络打印机、打印驱动程序、创建 TCP/IP 打印端口、打印测试页、删除驱动程序或打印机。它在 SCCM 任务中的无人值守打印机安装、组策略的登录脚本以及在服务器核心模式下运行的服务器上的各种场景中非常有用。
即用型 VBS 脚本在 Windows 中管理打印机
为了管理打印机,微软开发了几个VBS脚本,可以让你管理打印机和打印队列、安装和卸载打印机驱动程序等。
这些脚本存在于所有 Windows 版本中(从 Vista 和 Windows Server 2008 开始),位于目录 C:\Windows\System32\Printing_Admin_Scripts n-US 中。
注意。
除了en-US目录之外,还可以有另一个与系统语言对应的目录;
-
在 Windows XP 和 2003 中,这些 VBS 方案存储在 C:\WINDOWS\system32 目录中。
以下 VBS 脚本位于此文件夹中:
Prncnfg.vbs - 显示有关打印机设置信息的脚本;
Prndrvr.vbs - 打印机驱动管理(安装/卸载打印机驱动);
Prnjobs.vbs - 管理打印作业;
Prnmngr.vbs - 管理打印机(包括在系统中创建和删除打印机);
Prnport.vbs - 通过 TCP/IP 端口管理与远程打印机的连接;
Prnqctl.vbs - 打印队列管理;
Pubprn.vbs - 管理 Active Directory 中的打印机发布。
注意。在不同版本的 Windows 中管理打印机的一种众所周知的方法是主机进程 rundll32.exe,它接收库 printui.dll 的名称及其入口点 (PrintUIEntry)。命令 rundll32 printui.dll,PrintUIEntry 足以执行打印机的基本操作,并且完全受 Microsoft 支持,但从管理员的角度来看,使用指定的 vbs 脚本更好。
让我们考虑一下使用这些 VBS 脚本的典型场景。
如何从命令行安装打印机驱动程序?
以下本地组的成员可以获得安装和配置本地打印机的权限:管理员、打印操作员或服务器组。
使用以下命令安装 HP 打印机驱动程序:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -a -m "HP Universal Printing PCL 6" -i "C:\drv\HP Universal Print Driver\hpcu160u.inf"-a - 添加打印机驱动程序;
-m“HP Universal Printing PCL 6”——打印机驱动程序的名称;
-i “path ” - 驱动程序 INF 文件的完整路径。
安装驱动程序后,它将显示在打印服务器属性中(控制面板\硬件和声音\设备和打印机 ->打印服务器属性)。
注意。如果您使用的打印机驱动程序不兼容,您可以手动安装。
如何从命令提示符添加新打印机?
使用以下命令,您可以使用之前安装的 HP Universal Printing PCL 6 打印驱动程序安装名为 HP5525 的新打印机:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5520" -m "HP Universal Printing PCL 6" -r "lpt1:"-a - 安装新的本地打印机;
-p “HP5520 ” - 打印机的显示名称;
-m“HP Universal Printing PCL 6” - 使用的打印驱动程序;
-r “lpt1:” - 使用的本地打印端口的名称。此时,应通过LPT端口进行打印。此处可以指定并行端口(LPT1:、LPT2:)、串行端口(COM1:、COM2: - 安装前,确保该 COM 端口没有被其他设备使用)或 USB 端口(USB001 等)。
使用 CMD 管理默认打印机
从命令行,您可以选择使用哪台打印机进行默认打印。使用以下命令可以列出所有已安装的打印机:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l您可以获取当前默认打印机的名称:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -g默认打印机是 HP Universal Printing PCL 6(重定向 1)
要设置不同的默认打印机,请运行以下命令:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -t -p "HP5525"如何为网络打印机创建 TCP/IP 端口?
如果要连接网络打印机,必须先为其创建一个TCP/IP打印机端口(假设打印机IP地址为192.168.1.22):
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\Prnport.vbs" -a -r IP_192.168.1.22 -h 192.168.1.22 -o raw -n 9100-r IP_192.168.1.22 - 网络端口名称;
-h 192.168.1.22 - 设备的IP地址;
-o raw - 端口类型(raw 或 lpr);
-n 9100 - 设备的 TCP 端口号(通常为 9100)。
然后您可以在系统上安装新的网络打印机:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -a -p "HP5525" -m "HP Universal Printing PCL 6" -r " IP_192.168.1.22"脚本结束后,系统中出现一台新打印机HP5525。
如何从 CMD 打印测试页?
要在您创建的打印机上打印测试页,请执行以下操作:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnqctl.vbs” -e -p "HP5525"从命令提示符管理打印队列
使用 prnjobs.vbs 脚本,您可以查看队列中的打印作业。要显示所有本地打印机的所有打印作业,请运行以下命令:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” -l要在特定打印机上显示作业,您需要指定其名称:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” -l -p HP5525要清除一台打印机上的打印队列,请运行以下命令:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” -x -p HP5525或者您可以快速清除所有打印机的所有队列(这比手动清理打印队列方便得多):
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnjobs.vbs” -x使用命令行共享网络打印机
您通过命令提示符在 Windows 中安装的所有新打印机都是本地打印机。您可以从 Windows GUI 通过网络与其他用户共享它们(请参阅文章)。您还可以从命令行共享打印机。例如,您希望通过以 HP5525_Shared 名称发布 HP5525 打印机来提供对 HP5525 打印机的网络访问。使用命令:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs” -t -p HP5525 -h "HP5525_Shared" +shared要禁用打印机共享,请运行:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs” -t -p "HP5525" -shared同样,您可以在 Active Directory 中发布打印机:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prncnfg.vbs” -t -p HP5525 +published要从 AD 中删除打印机,请使用“-published”参数。
如何通过命令行添加网络打印机?
要将共享网络打印机连接到另一台计算机,请使用
命令:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -ac -p “\\rome-prnt01\hp2100”连接网络打印机时经常出现错误 - 0x00000002、0x00000057 和 0x0000007e。上面的链接提供了解决错误的方法。
如何从命令提示符删除打印机及其驱动程序?
系统中打印机的完整列表可以显示为:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -l可以使用以下命令删除打印机:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs" -d -p "HP5525"删除打印驱动程序如下:
cscript "C:\Windows\System32\Printing_Admin_Scripts\en-US\prndrvr.vbs" -d -m "HP Universal Printing PCL 6" -e "Windows x64" -v 3在本文中,我们了解了旧版 Microsoft VBS 脚本的基本操作,这些脚本允许在各种 Windows 版本中通过命令行管理打印机及其驱动程序。这些脚本的功能和参数的完整列表可在 Microsoft 文档或场景的内置帮助中找到(只需在命令行中运行不带参数的脚本文件)。
在下一篇文章中,我们将介绍PowerShell在Windows 10/8.1和Windows Server 2016/2012 R2中提供的打印机管理的新机会。





