Quantcast
Channel: Windows PowerShell Forum
Viewing all articles
Browse latest Browse all 2314

Drucker in Win-VM erkennen

$
0
0

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?


Viewing all articles
Browse latest Browse all 2314


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>