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