none
"Fehler: Beschreibung = Die Anfrage ist ungültig" RRS feed

  • Frage

  • Hallo zusammen

    Ich benötige eine Möglichkeit, von einem Windows 7 in einer Linux-VM zu erkennen, an welchem von zwei Standorten sich der Rechner befindet, um den dortigen Drucker als Default zu setzen. An dem einen Standort sind die Drucker ein direkt angeschlossener USB-Drucker und ein Netzwerkdrucker, an dem anderen Standort nur der Netzwerkdrucker.

    Ich habe weder auf dem Windows 7, noch auf dem mir unbekannten Linux Administrator-Rechte.

    Mit:

    set-variable -name wahl (Get-WmiObject -query "SELECT Name FROM Win32_Printer WHERE (Portname LIKE 'USB%') AND (WorkOffline = FALSE)" | ft Name)

    erhält die Variable 'wahl' den Namen des USB-Druckers, wenn er erreichbar ist. Ist er es nicht, weil sich der Rechner am anderen Standort befindet, bleibt die Variable leer. Nun habe ich per IF die Möglichkeit je nach Befüllung von 'wahl' den Default-Drucker zu setzen, was ich hiermit versuche:

    if ($wahl -eq "" ) {
    wmic printer where name='\\printserv\PRINT-7402-3' call setdefaultprinter
     echo                   "Drucker-1 als Standard gesetzt."
    }
    
    else {
    wmic printer where name='HP OfficeJet Pro 8210 PCL 6' call setdefaultprinter
     echo                   "Drucker-2 als Standard gesetzt."
    }

    Das Script wählt je nach Standort den richtigen Drucker und läuft ohne rote Fehlerzeilen durch. Jedoch bekomme ich bei der Ausführung vor der Einblendung der Ausgabe, von "Drucker-2 als Standard gesetzt." lapidar die im Titel genannte Fehlermeldung "Fehler: Beschreibung = Die Anfrage ist ungültig". Der Standard-Drucker wird danach nicht geschaltet.

    Wie bekomme ich als blutiger Powershell-Neuling heraus, wo es jetzt noch hakt, bzw. wer kann meinen Code lauffähig machen?

    Liebe Grüße, der Rudi

    Samstag, 22. Juni 2019 23:12

Antworten

  • Moin,

    die Meldung kommt aus dem DOS-Befehl, hat somit mit PowerShell nichts zu tun.  Du musst den WMIC-Befehl debuggen oder ihn in PowerShell umschreiben.

    Wenn Du Code postest, formatiere ihn bitte auch als  Code (3. Button von rechts im Editor).


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Sonntag, 23. Juni 2019 05:24
  • Dann laß Dir doch vor der if-Abfrage mal "wmic printer get name" ausgeben - vermutlich stimmt der Druckername nicht. Und dann würde ich zum Test WMIC-Befehle immer auch in einer cmd ausprobieren - nicht dass Powershell da was reininterpretiert.

    PS: Wenn Du doch eh schon Powershell machst - warum nicht get-cimobject oder get-wmiobject?


    Greetings/Grüße, Martin - https://mvp.microsoft.com/en-us/PublicProfile/5000017 Mal ein gutes Buch über GPOs lesen? - http://www.amazon.de/Windows-Server-2012--8-Gruppenrichtlinien/dp/3866456956 Good or bad GPOs? My blog - http://evilgpo.blogspot.com And if IT bothers me? Coke bottle design refreshment - http://sdrv.ms/14t35cq

    Montag, 24. Juni 2019 14:22

Alle Antworten

  • Moin,

    die Meldung kommt aus dem DOS-Befehl, hat somit mit PowerShell nichts zu tun.  Du musst den WMIC-Befehl debuggen oder ihn in PowerShell umschreiben.

    Wenn Du Code postest, formatiere ihn bitte auch als  Code (3. Button von rechts im Editor).


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Sonntag, 23. Juni 2019 05:24
  • Dann laß Dir doch vor der if-Abfrage mal "wmic printer get name" ausgeben - vermutlich stimmt der Druckername nicht. Und dann würde ich zum Test WMIC-Befehle immer auch in einer cmd ausprobieren - nicht dass Powershell da was reininterpretiert.

    PS: Wenn Du doch eh schon Powershell machst - warum nicht get-cimobject oder get-wmiobject?


    Greetings/Grüße, Martin - https://mvp.microsoft.com/en-us/PublicProfile/5000017 Mal ein gutes Buch über GPOs lesen? - http://www.amazon.de/Windows-Server-2012--8-Gruppenrichtlinien/dp/3866456956 Good or bad GPOs? My blog - http://evilgpo.blogspot.com And if IT bothers me? Coke bottle design refreshment - http://sdrv.ms/14t35cq

    Montag, 24. Juni 2019 14:22
  • PS: Wenn Du doch eh schon Powershell machst - warum nicht get-cimobject oder get-wmiobject?

    get-cimobject -> Get-CimInstance.!?  ;-)

    Live long and prosper!

    (79,108,97,102|%{[char]$_})-join''

    Montag, 24. Juni 2019 15:47