在 Windows PowerShell 中,可以使用 WMI 和来自 WSH 的 WScript.Network COM 对象来管理打印机。我们将同时使用这两种工具演示特定的任务。
列出打印机连接
列出安装在计算机上的打印机的最简单方法是使用 WMI Win32_Printer 类:
Get-WmiObject -Class Win32_Printer -ComputerName
也可以使用 WScript.Network COM 对象(通常用在 WSH 脚本中)列出打印机:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
由于此命令返回端口名称和打印机设备名称的简单字符串集合,不含任何特别标签,因此不太容易解释。
添加网络打印机
若要添加新的网络打印机,请使用 WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
设置默认打印机
若要使用 WMI 设置默认打印机,请在 Win32_Printer 集合中找到所需打印机,然后调用 SetDefaultPrinter 方法:
(Get-WmiObject -ComputerName . -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'").SetDefaultPrinter()
WScript.Network 的使用略为简单一些,因为它具有 SetDefaultPrinter 方法,您只需将打印机名称指定为参数即可:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
删除打印机连接
若要删除打印机连接,请使用 WScript.Network RemovePrinterConnection 方法:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")