È possibile utilizzare Windows PowerShell per gestire le stampanti tramite WMI e l'oggetto COM WScript.Network da WSH. Per illustrare attività specifiche, verrà utilizzata una combinazione di entrambi gli strumenti.
Visualizzazione dell'elenco delle connessioni a stampanti
Il modo più semplice per visualizzare l'elenco delle stampanti installate in un computer consiste nell'utilizzare la classe Win32_Printer di WMI:
Get-WmiObject -Class Win32_Printer -ComputerName
È inoltre possibile utilizzare l'oggetto COM WScript.Network, in genere utilizzato in script WSH:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
Poiché questo comando restituisce una raccolta di stringhe semplici che include i nomi di porte e di stampanti senza alcuna etichetta distintiva, la sua interpretazione non è semplice.
Aggiunta di una stampante di rete
Per aggiungere una nuova stampante di rete, utilizzare WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
Impostazione di una stampante predefinita
Per utilizzare WMI per l'impostazione della stampante predefinita, trovare la stampante nella raccolta Win32_Printer, quindi richiamare il metodo SetDefaultPrinter:
(Get-WmiObject -ComputerName . -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'").SetDefaultPrinter()
WScript.Network è più semplice da utilizzare, poiché dispone di un metodo SetDefaultPrinter che accetta solo il nome della stampante come argomento:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
Rimozione di una connessione alla stampante
Per rimuovere una connessione alla stampante, utilizzare il metodo WScript.Network RemovePrinterConnection:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")