PowerShell基础教程(21)——处理打印机 <o:p></o:p>
在 Windows PowerShell 中,可以使用 WMI 和来自 WSH 的 WScript.Network COM 对象执行打印机管理任务。我们将同时使用这两种工具演示特定的任务。
列出打印机连接<o:p></o:p>
列出安装在计算机上的打印机的最简单方法是,使用 WMI Win32_Printer 类:
Get-WmiObject -Class Win32_Printer -ComputerName .<o:p></o:p> |
<o:p> </o:p>
也可以使用 WScript.Network COM 对象(通常在 WSH 脚本中使用)列出打印机:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()<o:p></o:p> |
<o:p> </o:p>
此命令返回端口名称和打印机设备名称的简单字符串集合,不含可区别标签,因此对于轻松检查不太有用。
添加网络打印机<o:p></o:p>
使用 WScript.Network 可以非常轻松地添加新的网络打印机:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")<o:p></o:p> |
<o:p> </o:p>
设置默认打印机<o:p></o:p>
若要使用 WMI 设置默认打印机,需要向下筛选 Win32_Printer 集合找到所需的打印机,然后调用 SetDefaultPrinter 方法:
(Get-WmiObject -ComputerName .-Class Win32_Printer -Filter "Name='HP LaserJet 5Si'").InvokeMethod("SetDefaultPrinter",$null)<o:p></o:p> |
<o:p> </o:p>
WScript.Network 使用起来更简单一点;它也具有 SetDefaultPrinter 方法,您只需将打印机名称指定为参数即可:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')<o:p></o:p> |
<o:p> </o:p>
删除打印机连接<o:p></o:p>
可以使用 WScript.Network RemovePrinterConnection 方法删除打印机连接:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")<o:p></o:p> |