Yazıcılarla çalışma


Bu örnek yalnızca Windows platformları için geçerlidir.

Yazıcıları WMI ve WSH'den WScript.Network COM nesnesini kullanarak yönetmek için PowerShell'i kullanabilirsiniz.

Yazıcı bağlantılarını listeleme

Bilgisayarda yüklü yazıcıları listelemenin en basit yolu WMI Win32_Printer sınıfını kullanmaktır:

Get-CimInstance -Class Win32_Printer

Yazıcıları, genellikle WSH komut dosyalarında kullanılan WScript.Network COM nesnesini kullanarak da listeleyebilirsiniz:

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

Bu komut, herhangi bir ayırt edici etiket olmadan bağlantı noktası adlarından ve yazıcı aygıtı adlarından oluşan basit bir dize koleksiyonu döndürdüğü için yorumlanması 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ıyı ayarlama

Varsayılan yazıcıyı ayarlamak amacıyla WMI'yı kullanmak için Win32_Printer koleksiyonunda yazıcıyı 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

WScript.Network'ün kullanımı biraz daha basittir çünkü bağımsız değişken olarak yalnızca yazıcı adını alan bir SetDefaultPrinter yöntemi vardır:

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

Yazıcı bağlantısını kaldırma

Bir 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")

İlgili makaleler