Puede utilizar Windows PowerShell para administrar impresoras utilizando WMI y el objeto COM WScript.Network de WSH. Utilizaremos una combinación de ambas herramientas para demostrar la forma de realizar tareas específicas.
Crear una lista de conexiones de impresora
La manera más sencilla de crear una lista de las impresoras instaladas en un equipo es usar la clase Win32_Printer de WMI:
Get-WmiObject -Class Win32_Printer -ComputerName
También puede crear una lista de las impresoras mediante el objeto COM WScript.Network que se utiliza habitualmente en scripts de WSH:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
Como este comando devuelve una colección de cadenas simple de los nombres de puertos y de los nombres de dispositivos de impresora sin etiquetas distintivas, su interpretación no resulta fácil.
Agregar una impresora de red
Para agregar una nueva impresora de red, utilice WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
Configurar una impresora predeterminada
Para utilizar WMI para establecer la impresora predeterminada, busque la impresora en la colección Win32_Printer y, a continuación, invoque el método SetDefaultPrinter:
(Get-WmiObject -ComputerName . -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'").SetDefaultPrinter()
WScript.Network es un poco más fácil de usar porque tiene un método SetDefaultPrinter que toma solamente el nombre de la impresora como argumento:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
Quitar una conexión de impresora
Para quitar una conexión de impresora, utilice el método WScript.Network RemovePrinterConnection:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")