Arbeta med skrivare i Windows
Du kan använda PowerShell för att hantera skrivare med hjälp av WMI och WScript.Network COM-objektet från WSH. Vi använder en blandning av båda verktygen för att demonstrera specifika uppgifter.
Lista skrivaranslutningar
Det enklaste sättet att lista de skrivare som är installerade på en dator är att använda WMI-Win32_Printer klassen:
Get-CimInstance -Class Win32_Printer
Du kan också lista skrivarna med hjälp av WScript.Network COM-objektet som vanligtvis används i WSH-skript:
(New-Object -ComObject WScript.Network).EnumPrinterConnections()
Eftersom det här kommandot returnerar en enkel strängsamling med portnamn och skrivarenhetsnamn utan några särskiljande etiketter, är det inte lätt att tolka.
Lägga till en nätverksskrivare
Om du vill lägga till en ny nätverksskrivare använder du WScript.Network:
(New-Object -ComObject WScript.Network).AddWindowsPrinterConnection("\\Printserver01\Xerox5")
Ange en standardskrivare
Om du vill använda WMI för att ange standardskrivaren, hittar du skrivaren i Win32_Printer-samlingen och anropar sedan metoden SetDefaultPrinter:
$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter
WScript.Network är lite enklare att använda eftersom det har en SetDefaultPrinter-metod som endast använder skrivarnamnet som argument:
(New-Object -ComObject WScript.Network).SetDefaultPrinter('HP LaserJet 5Si')
Ta bort en skrivaranslutning
Om du vill ta bort en skrivaranslutning använder du metoden WScript.Network RemovePrinterConnection:
(New-Object -ComObject WScript.Network).RemovePrinterConnection("\\Printserver01\Xerox5")