Fehler bei Sys_GetSpooler()

Hallo
Benutze schon sehr lange die Funktion Sys_GetSpooler() um zu testen
ob ein Druckauftrag ansteht. Wenn ja schalte ich den Drucker ueber
Funk ein. Hat bis heute immer funktioniert.
Heute einen neuen Drucker zum Testen hinzugefuegt der sich gleich als
Standarddrucker gemeldet hat , was ich aber gleich wieder geaendert habe
auf meinen alten Drucker.
Seit dem erhalte ich beim Aufruf von

print_r(Sys_GetSpooler());

folgende Meldung :
Warning: SystemError. Code: 53
Der Netzwerkpfad wurde nicht gefunden

IP_Symcon beendet und wieder gestartet, jetzt hab ich immer die Meldung :
Warning: System Error. Code: 12007.
Jemand eine Idee ?

Rechner mal neu gestartet?

Werd ich in einer Stunde mal machen.
Nehme gerade was mit dem selben Rechner mit
Mediaportal auf.

Geht mir genauso, hab auch Mediaportal auf dem gleichen Rechner. :slight_smile:

Also Neustart bringt nichts , aber bin jetzt ein bisschen
schlauer. Nachdenken hilft .
Hab einen Drucker installiert der ueber einen Printserver ( Wlan )
angeschlossen ist. Zum testen hatte ich den zweimal installiert mit verschiedenen Anschluessen ( LAN-Manager Druckeranschluss und Internetport )
Brauchen tu ich ihn aber nur als Internetport.
Hab den Drucker mit dem Anschluss ( LAN-Manager ) geloescht dann
ist die Meldung ( Netzwerkpfad … ) weg aber eine neue ist da :
Warning: System Error. Code: 1801. Der Druckername ist unzulässig
Der Anschlussname ist http://PS_TREUPEL:631/p1
Der Drucker ist aber nicht immer an genauso wie der Printserver.
Daher wohl dann auch die Fehlermeldung.
Hat Sys_GetSpooler ein Problem mit Drucker die im Moment nicht per
Netzwerk zu erreichen sind ?

Hab die Sache mal eingekreist. Es liegt nicht an nicht verfuegbaren
Netzwerkdruckern sondern an Sonderzeichen im Druckernamen.
Wenn ich meinem „normalen“ Drucker ein Sonderzeichen zB Doppelpunkt oder
Slash im Namen verpasse nimmt Windows das an aber ein Sys_GetSpooler
bringt die Fehlermeldung:
Warning: System Error. Code: 1801.
Der Druckername ist unzulässig

Hi,

ich habe ähnliches vor, scheitere aber jämmerlich am php :-/

Könntest Du mir(uns) Dein Skript zur Verfügung stellen ?

Speziell geht es mir darum wie ich verschiedene Queues auslese und daraus dann Aktionen ableite…

Viele Grüße
Martin

Hallo
Eigentlich ganz einfach

   
  $drucker = (Sys_GetSpooler());
  print_r ($drucker);
  if ( $drucker['Brother HL-1250'] )
		{
                 // mach was 
                }
  if ( $drucker['Microsoft XPS Document Writer'] )
		{
                 // mach was anderes
                }


print_r gibt dir die infos welche Drucker es gibt.Nach dem Testen kann
man es dann auskommentieren ( // )

Ahh…es ist ja so einfach wenn man es einmal verstanden hat…IPS ist schon klasse^^

Vielen Dank !

Gruß
Martin

Ich habe das gleiche Problem, nur habe ich keine Sonderzeichen in den Druckernamen. Es läuft 3-4 Tage gut, dann irgendwann kommt dieser Fehler und ich muss den IPS Dienst neu starten.

Ich kann noch nicht genau bestimmen wann es knallt, aber ich könnte mir vorstellen, dass es daran liegt, dass wenn ich jemand über Terminal anmeldet, dass sein Drucker auf dem Server automatisch angemeldet wird, dann erscheint ein neuer Drucker „HP-Laserjet 4025X(an Sitzung 2)“

Hmmm…seit heute bekomme ich auch diesen Fehler.

Warning: System Error. Code: 1801.
The printer name is invalid in [Drucker_spooler_auslesen] on line 3

Code habe ich von oben stiebitz - lief jetzt mehrere Monate problemlos, plötzlich geht es nicht mehr. Mein Drucker heisst relativ einfallslos „Drucker“. Ich habe ihn auch schon gelöscht und neu eingerichtet, andere Namen probiert - geht nicht. Immer die gleiche Fehlermeldung…

Und ich habe nichts gemacht. Keine Updates, keine neuen Drucker, nix…rebootet habe ich schon, hilft nicht.

Ideen irgendwer ?

Gruß
Martin

Ja, bei mir lag es am Terminal Zugriff, dabei wird automatisch ein Drucker hinzugefügt und dabei werden immer Klammern verwendet. Man kann das in den Optionen kurz vor dem Verbinden ausschalten.

Ja, dass weiss ich - da ist aber kein User angemeldet gewesen…hmmm…es funktionierte auch immer. bis es dann plötzlich vorbei war…

Inzwischen hat einer der ca 100 Reboots (hust) geholfen und es funktioniert wieder problemlos. Seltsam…

Hmmm…wieder drei Monate rum, da isser wieder mein alter Freund „invalid Printer name“. Wenn ich am Server angemeldet bin, dann geht es, denn dann greift das Skript auf den gemappten Drucker zu und wird erfolgreich ausgeführt. Wenn ich die rdp Verbindung schliesse (nicht abmelde) und die Druckermappings der rdp session nach ein paar Minuten gelöscht werden, geht es wieder nicht.

Seltsam. Ich suche mal weiter…

Es fällt mir auf, seit ich am Dienstag auf 2.5 gewechselt habe - aber eigentlich hat sich in dem Skript nichts geändert. Oder gibt es da Änderungen in php selber ?

Gruß
Martin