Você pode usar o Windows PowerShell para gerenciar impressoras usando o WMI e o objeto COM de WScript.Network do WSH. Usaremos uma mistura de ambas as ferramentas para demonstrarmos tarefas específicas.

Listando conexões de impressora

A maneira mais simples de listar as impressoras instaladas em um computador é usar a classe WMI Win32_Printer:

Get-WmiObject -Class Win32_Printer -ComputerName

Você também pode listar as impressoras usando o objeto COM WScript.Network, normalmente utilizado em scripts WSH:

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

Como esse comando retorna uma coleção simples de cadeias de caracteres de nomes de portas e de nomes de dispositivos de impressão sem qualquer rótulo característico, não é fácil interpretá-lo.

Adicionando uma impressora de rede

Para adicionar uma nova impressora de rede, use WScript.Network:

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

Definindo uma impressora padrão

Para usar o WMI na definição da impressora padrão, localize a impressora na coleção Win32_Printer e invoque o método SetDefaultPrinter:

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

WScript.Network é um pouco mais simples de usar, porque tem um método SetDefaultPrinter com apenas o nome da impressora como argumento:

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

Removendo uma conexão de impressora

Para remover uma conexão de impressora, use o método WScript.Network RemovePrinterConnection:

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




Sumário