在 Windows PowerShell 中使用 WMI 以及 WSH 提供的 WScript.Network COM 物件就可以進行印表機的管理。底下將交互運用這兩種工具來示範特定的工作。
列舉印表機連線
若要列舉電腦上安裝的印表機,最簡單的方法是使用 WMI Win32_Printer 類別:
Get-WmiObject -Class Win32_Printer -ComputerName
您也可以使用 WSH 指令碼常用的 WScript.Network COM 物件來列舉印表機:
(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")