Hallo zusammen
Mein Problem ist folgendes:
Gegeben ist ein Win7 in einer unter Linux laufenden VM. Durch die dadurch gegebene Entkoppelung der peripheren Hardware - hier der Drucker, fällt es nicht leicht etwas innerhalb von Win7 über den Status der Drucker zu erfahren. Die Aufgabe besteht darin, einem Laptop den jeweils richtigen Drucker als Standard zuzuordnen.
Gegeben sind ein Netzwerkdrucker und ein lokaler USB-Drucker. Kann das Script den USB-Drucker nicht sehen, richtet es automatisch den Netzwerkdrucker als Standarddrucker ein. Sieht das Script den USB-Drucker, richtet es den als Standarddrucker ein.
Hierfür habe ich mir dieses Powershell-Script geschrieben, welches den USB-Drucker zwar findet, ihn aber nicht als Standartdrucker setzt :-(
Hier das Script:
set-variable -name wahl "" set-variable -name wahl (Get-WmiObject -query "SELECT Name FROM Win32_Printer WHERE (Portname LIKE 'USB%') AND (WorkOffline = FALSE)" | ft Name) if ('$wahl' -notlike 'HP OfficeJet Pro 8210 PCL 6') { (Get-WMIObject -class Win32_Printer -Filter "Name='\\\\druckserver\\12345Printer'").SetDefaultPrinter() | Out-Null echo " Jobdrucker als Standard gesetzt" } else { (Get-WMIObject -class Win32_Printer -Filter "Name='HP OfficeJet Pro 8210 PCL 6'").SetDefaultPrinter() | Out-Null echo " Heimdrucker als Standard gesetzt" } clear-Variable wahl timeout /T 2 > $NULL
Im Ergebnis wählt diese Script immer den Jobdrucker aus, egal ob der USB-Heimdrucker online ist, oder nicht.
Wo liegt der Fehler im Script?