การทำงานกับเครื่องพิมพ์
ตัวอย่างนี้ใช้กับแพลตฟอร์ม Windows เท่านั้น
คุณสามารถใช้ PowerShell เพื่อจัดการเครื่องพิมพ์โดยใช้ WMI และวัตถุ COM WScript.Network จาก WSH
การแสดงรายการการเชื่อมต่อเครื่องพิมพ์
วิธีที่ง่ายที่สุดในการแสดงรายการเครื่องพิมพ์ที่ติดตั้งบนคอมพิวเตอร์คือการใช้คลาส WMI Win32_Printer:
Get-CimInstance -Class Win32_Printer
คุณยังสามารถแสดงรายการเครื่องพิมพ์โดยใช้ออบเจ็กต์ COM WScript.Network ที่โดยทั่วไปใช้ในสคริปต์ WSH:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
เนื่องจากคำสั่งนี้ส่งคืนคอลเล็กชันสตริงอย่างง่ายของชื่อพอร์ตและชื่ออุปกรณ์เครื่องพิมพ์โดยไม่มีป้ายกำกับที่แตกต่าง จึงไม่ง่ายที่จะตีความ
การเพิ่มเครื่องพิมพ์เครือข่าย
หากต้องการเพิ่มเครื่องพิมพ์เครือข่ายใหม่ ให้ใช้ WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
การตั้งค่าเครื่องพิมพ์เริ่มต้น
หากต้องการใช้ WMI เพื่อตั้งค่าเครื่องพิมพ์เริ่มต้น ให้ค้นหาเครื่องพิมพ์ในคอลเลกชัน Win32_Printer จากนั้นเรียกใช้เมธอด SetDefaultPrinter:
$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter
WScript.Network ใช้งานง่ายกว่าเล็กน้อย เนื่องจากมีเมธอด SetDefaultPrinter ที่ใช้เฉพาะชื่อเครื่องพิมพ์เป็นอาร์กิวเมนต์:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
การถอดการเชื่อมต่อเครื่องพิมพ์
หากต้องการลบการเชื่อมต่อเครื่องพิมพ์ ให้ใช้วิธี WScript.Network RemovePrinterConnection:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")