프린터 작업Working with Printers

WSH의 WMI 및 WScript.Network COM 개체를 사용하여 Windows PowerShell을 통해 프린터를 관리할 수 있습니다.You can use Windows PowerShell to manage printers by using WMI and the WScript.Network COM object from WSH. 이 가이드에서는 두 도구를 모두 사용하여 프린터를 관리하는 방법을 보여 줍니다.We will use a mix of both tools to demonstrate specific tasks.

프린터 연결 표시Listing Printer Connections

컴퓨터에 설치된 프린터를 표시하는 가장 간단한 방법은 다음과 같이 WMI Win32_Printer 클래스를 사용하는 것입니다.The simplest way to list the printers installed on a computer is to use the WMI Win32_Printer class:

Get-WmiObject -Class Win32_Printer -ComputerName

일반적으로 WSH 스크립트에서 사용되는 WScript.Network COM 개체를 통해 프린터를 표시할 수도 있습니다.You can also list the printers by using the WScript.Network COM object that is typically used in WSH scripts:

(New-Object -ComObject WScript.Network).EnumPrinterConnections()

이 명령을 사용하면 고유 레이블 없이 포트 이름 및 프린터 장치 이름의 간단한 문자열 컬렉션만 반환되기 때문에 쉽게 해석할 수 없습니다.Because this command returns a simple string collection of port names and printer device names without any distinguishing labels, it is not easy to interpret.

네트워크 프린터 추가Adding a Network Printer

새 네트워크 프린터를 추가하려면 다음과 같이 WScript.Network를 사용합니다.To add a new network printer, use WScript.Network:

(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")

기본 프린터 설정Setting a Default Printer

WMI를 사용하여 기본 프린터를 설정하려면 Win32_Printer 컬렉션에서 프린터를 찾은 다음 SetDefaultPrinter 메서드를 호출합니다.To use WMI to set the default printer, find the printer in the Win32_Printer collection and then invoke the SetDefaultPrinter method:

(Get-WmiObject -ComputerName . -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'").SetDefaultPrinter()

WScript.Network가 좀더 사용하기 쉽습니다. 프린터 이름만 인수로 받아들이는 SetDefaultPrinter 메서드가 있기 때문입니다.WScript.Network is a little simpler to use, because it has a SetDefaultPrinter method that takes only the printer name as an argument:

(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')

프린터 연결 제거Removing a Printer Connection

프린터 연결을 제거하려면 WScript.Network RemovePrinterConnection 메서드를 사용합니다.To remove a printer connection, use the WScript.Network RemovePrinterConnection method:

(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")