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