{"id":319,"date":"2018-09-13T09:56:39","date_gmt":"2018-09-13T07:56:39","guid":{"rendered":"https:\/\/www.nicht-trivial.de\/?p=319"},"modified":"2018-09-13T09:56:39","modified_gmt":"2018-09-13T07:56:39","slug":"druckwarteschlange-stuerzt-unregelmaessig-ab","status":"publish","type":"post","link":"https:\/\/www.nicht-trivial.de\/index.php\/2018\/09\/13\/druckwarteschlange-stuerzt-unregelmaessig-ab\/","title":{"rendered":"Druckwarteschlange st\u00fcrzt unregelm\u00e4\u00dfig ab"},"content":{"rendered":"<p>Ein neuer Druckertreiber bringt offensichtlich den Spoolerprozess alias Druckwarteschlange unter Windows Server zum Absturz. Oder genauer gesagt wird die Druckwarteschlange in einen Zustand gebracht, in der sie nicht mehr reagiert, aber nicht ordentlich beendet wird. Das hat zu Folge, dass die Druckwarteschlange von Windows nicht als nichtfunktionierend erkannt und der Dienst neu gestartet wird. Supportanrufe diesbez\u00fcglich und manuelles Starten des Dienstes\u00a0 lassen schnell nach Wegen suchen, die Sache automatisiert aus der Welt zu schaffen.<\/p>\n<p>Die L\u00f6sung besteht derzeit daraus, ein Batch-Skript in Endlosschlaufe laufen zu lassen. Das Skript pr\u00fcft auf Existenz eines vorhandenen Druckers. Wenn dieser nicht auffindbar ist, wird die Druckerwarteschlange neu gestartet.\u00a0 Da rundll32 keinen auswertbaren Errorlevel zur\u00fcck gibt, muss man \u00fcber den Parameter \/f eine Datei anlegen, welche als Indikator f\u00fcr den Fehlerfall dient. Bei jedem Neuaufruf der Skriptschleife wird die Datei (bei Existenz) wieder gel\u00f6scht.<br \/>\nDie Verz\u00f6gerung wird \u00fcber Pings an&#8217;s eigene System realisiert.<br \/>\nIch setze zus\u00e4tzlich noch eine &#8222;1&#8220; per zabbix_sender an mein unabh\u00e4ngiges Monitoring-System Zabbix ab, um die H\u00e4ufigkeit des Eingriffs mitzuloggen.<\/p>\n<p>das Skript chkPrter.cmd:<\/p>\n<p>@echo off<br \/>\ncls<\/p>\n<p>SET PrinterName=Rechnungsdrucker<br \/>\nSET TESTfile=%TEMP%\\PrtExist.txt<\/p>\n<p>:start<\/p>\n<p>REM Delete %TESTfile% to avoid false positives<br \/>\nIF EXIST &#8222;%TESTfile%&#8220; (<br \/>\nDEL %TESTfile% \/F \/Q<br \/>\n)<\/p>\n<p>REM Try to get the printer settings into a file<br \/>\nRUNDLL32.EXE PRINTUI.DLL,PrintUIEntry \/Xg \/n &#8222;%PrinterName%&#8220; \/f &#8222;%TESTfile%&#8220; \/q<\/p>\n<p>IF EXIST &#8222;%TESTfile%&#8220; (<br \/>\nREM ECHO Drucker %PrinterName% existiert<br \/>\nREM &#8222;C:\\Program Files\\zabbix\\zabbix_sender.exe&#8220; -z zabbixserver.local -s ServerXYZ -k serverZYX.printer.spooler -o 1 &gt; NUL<br \/>\n) ELSE (<br \/>\nREM ECHO Drucker %PrinterName% existiert NICHT!<br \/>\nNET START Druckwarteschlange<br \/>\nREM &#8222;C:\\Program Files\\zabbix\\zabbix_sender.exe&#8220; -z zabbixserver.local -s ServerXYZ -k serverZYX.printer.spooler -o 0<br \/>\n)<\/p>\n<p>ping -n 30 localhost &gt; NUL<\/p>\n<p>goto start<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein neuer Druckertreiber bringt offensichtlich den Spoolerprozess alias Druckwarteschlange unter Windows Server zum Absturz. Oder genauer gesagt wird die Druckwarteschlange in einen Zustand gebracht, in der sie nicht mehr reagiert, aber nicht ordentlich beendet wird. Das hat zu Folge, dass die Druckwarteschlange von Windows nicht als nichtfunktionierend erkannt und der Dienst neu gestartet wird. Supportanrufe &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.nicht-trivial.de\/index.php\/2018\/09\/13\/druckwarteschlange-stuerzt-unregelmaessig-ab\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eDruckwarteschlange st\u00fcrzt unregelm\u00e4\u00dfig ab\u201c<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,10],"tags":[],"class_list":["post-319","post","type-post","status-publish","format-standard","hentry","category-it","category-windows"],"_links":{"self":[{"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/posts\/319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/comments?post=319"}],"version-history":[{"count":2,"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/posts\/319\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/posts\/319\/revisions\/321"}],"wp:attachment":[{"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/media?parent=319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/categories?post=319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nicht-trivial.de\/index.php\/wp-json\/wp\/v2\/tags?post=319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}