Aracılığıyla paylaş


Windows'da yazıcılarla çalışma

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

WSH'den WMI ve WScript.Network COM nesnesini kullanarak yazıcıları 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

Ayrıca, genellikle WSH betiklerinde kullanılan WScript.Network COM nesnesini kullanarak da yazıcıları listeleyebilirsiniz:

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

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

Wmi kullanarak varsayılan yazıcıyı ayarlamak için Win32_Printer koleksiyonunda yazıcıyı bulun ve 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öntemi olduğundan WScript.Network'ün kullanımı biraz daha kolaydır:

(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 RemovePrinter Bağlan ion yöntemini kullanın:

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