Ankündigung

Einklappen
Keine Ankündigung bisher.

OT Drucker

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Michel, das mit dem WMI hört sich gut an. Ich müsste mal am WE meine alten Programmierhandbücher lesen.

    makki,
    Der zentrale Spooler mangelt am Rechner, außerdem haben die Rechner eine Anbindung ans interne große Netz der Company, da kann ich leider nix verdrehen...
    never fummel a running system...

    Kommentar


      #17
      Ich habe an meinem Drucker einen externen Printserver laufen, da ich keinen Netzwerkanschluß am Drucker habe. Ich verwende dafür einen Lexmark MarkNet XLe.

      Ich denke schon, dass ich das auf der Clientseite Lösen muss, da ich den Server und den daran angeschlossenen Drucker ja erst einschalten möchte, wenn ein Druckauftrag vorliegt.

      Das mit dem WMI werde ich mir einmal anschauen. Mal sehen, ob ich das verstehe. Ich denke aber das es in die richtige Richtung geht.

      Erst einmal vielen Dank an alle!

      Kommentar


        #18
        Zitat von Rafko Beitrag anzeigen

        Das mit dem WMI werde ich mir einmal anschauen. Mal sehen, ob ich das verstehe. Ich denke aber das es in die richtige Richtung geht.
        Ja, ich denke auch dass WMI der richtige Ansatzt ist. Leider kann man WMI nicht direkt vom HS abfragen falls dieser Weg gewüscht würde. WMI benötigt DCOM. Es gibt allerdings eine WMI auf WEBEM mapper worauf man dann per HTTP zugreifen könnte.

        Dennoch ist die aktive Lösung mittels WMI die bessere.

        Ich benutze zwei Tools für WMI de sehr hilfreich sein können um in den Daten zu stochern:

        WMI Explorer

        Hier kann man einsehen welche Klassen auf dem Comoputer zur Verfügung stehen und die Werte der verschiedenen Instanzen direkt ansehen. Im Fall von Win32_Printer (Klasse) sind alle installieretn Drucker je eine Instanz.

        WMI Code Creator

        Dieser generiert Code für die WMI Abfrage für C#, VB .Net und VBscript

        Gruss,
        Gaston

        Kommentar


          #19
          Klasse win32_Printer Attribut: PrinterStatus

          Der PrinterStatus 3 = Idle, bei jedem anderen Status sollte der Drucker also eingeschaltet werden falls er es noch nicht ist.

          Der Code Creator generiert für die Attibute Name & Printer Status folgenden Code (VBscript):

          Code:
          strComputer = "." 
          Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
          Set colItems = objWMIService.ExecQuery( _
              "SELECT * FROM Win32_Printer",,48) 
          For Each objItem in colItems 
              Wscript.Echo "-----------------------------------"
              Wscript.Echo "Win32_Printer instance"
              Wscript.Echo "-----------------------------------"
              Wscript.Echo "Name: " & objItem.Name
              Wscript.Echo "PrinterStatus: " & objItem.PrinterStatus
          Next
          Dieser gibt den Namen und Status alle Drucker aus. Für einen Bestimmten Drucker ändert man den Query Code um (bei mir z.B. hp officejet d series):

          Code:
          "SELECT * FROM Win32_Printer WHERE Name='hp officejet d series'"
          Gruss,
          Gaston

          Kommentar

          Lädt...
          X