Uso delle stampanti in Windows
Questo esempio si applica solo alle piattaforme Windows.
È possibile usare PowerShell per gestire le stampanti usando WMI e l'oggetto COM WScript.Network di WSH.
Elenco delle connessioni della stampante
Il modo più semplice per elencare le stampanti installate in un computer consiste nell'usare la classe WMI Win32_Printer:
Get-CimInstance -Class Win32_Printer
È anche possibile elencare le stampanti usando l'oggetto COM WScript.Network usato in genere negli script WSH:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
Poiché questo comando restituisce una semplice raccolta di stringhe di nomi di porta e nomi di dispositivo della stampante senza etichette distintive, non è facile interpretare.
Aggiunta di una stampante di rete
Per aggiungere una nuova stampante di rete, usare WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
Impostazione di una stampante predefinita
Per usare WMI per impostare la stampante predefinita, individuare la stampante nella raccolta Win32_Printer e quindi richiamare il metodo SetDefaultPrinter:
$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter
WScript.Network è un po' più semplice da usare, perché include 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, usare il metodo WScript.Network RemovePrinterConnection:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")