Windows'de Yazıcılarla Çalışma

WSH'den WMI ve WScript.Network COM nesnesini kullanarak yazıcıları yönetmek için PowerShell kullanabilirsiniz. Belirli görevleri göstermek için her iki araç da bir karışımını kullanacak.

Yazıcı Bağlantılarını Listeleme

Bir bilgisayarda yüklü yazıcıları listeleyenin en basit yolu WMI Win32_Printer kullanmaktır:

Get-CimInstance -Class Win32_Printer

Yazıcıları, genellikle WSH betikleri içinde kullanılan WScript.Network COM nesnesini kullanarak da liste edebilirsiniz:

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

Bu komut, ayırt edici etiketler olmadan bağlantı noktası adlarının ve yazıcı cihaz adlarının basit bir dize koleksiyonunu döndürerek yorumlamak kolay değildir.

Ağ Yazıcısı Ekleme

Yeni bir ağ yazıcısı eklemek için WScript.Network kullanın:

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

Varsayılan Yazıcı Ayarlama

Varsayılan yazıcıyı ayarlamak üzere WMI kullanmak için, yazıcıyı Win32_Printer koleksiyonunda bulun ve ardından SetDefaultPrinter yöntemini çağırın:

$printer = Get-CimInstance -Class Win32_Printer -Filter "Name='HP LaserJet 5Si'"
Invoke-CimMethod -InputObject $printer -MethodName SetDefaultPrinter

Bağımsız değişken olarak yalnızca yazıcı adını alan bir SetDefaultPrinter yöntemine sahip olduğundan WScript.Network'in kullanımı biraz daha basittir:

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

Yazıcı Bağlantısını Kaldırma

Yazıcı bağlantısını kaldırmak için WScript.Network RemovePrinterConnection yöntemini kullanın:

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