Der Druckerwarteschlangendienst (Druckerspooler) speichert alle eingehenden Druckaufträge in einem Zwischenspeicher und sendet diese der Reihe nach an den eigentlichen Drucker. Weiterhin können durch den Dienst im Hintergrund Druckaufträge angehalten und neu gestartet werden. Falls es zu Problemen mit den Druckaufträgen (z. B. hängender und nicht löschbarer Druckauftrag) oder dem Druckerwarteschlangendienst (z. B. Dienst reagiert nicht mehr) kommt, dann kann der Dienst inklusiver aller Druckaufträge (von allen Druckern) zurückgesetzt werden.
So geht's:
- Dienst "Druckerwarteschlange" beenden:
- "" > "()" bzw. "" > "" (oder "" starten)
- Klicken Sie auf das Symbol "" bzw. "" und dann auf "" (oder "" starten).
- Doppelklicken Sie auf den Dienst "" ("").
- Auf der Registerkarte "" klicken Sie auf den Schaltfläche "".
- Zwischenspeicher löschen:
- Öffnen Sie den Ordner "".
- Löschen Sie alle Dateien im Ordner.
- Dienst "Druckerwarteschlange" starten:
- "" > "()" bzw. "" > "" (oder "" starten)
- Klicken Sie auf das Symbol "" bzw. "" und dann auf "" (oder "" starten).
- Doppelklicken Sie auf den Dienst "" ("").
- Auf der Registerkarte "" klicken Sie auf den Schaltfläche "".
Kommandozeilenskript (BAT-Datei):
@ECHO OFF
REM Alle Druckaufträge auf dem Gerät löschen.
REM Es werden administrative Rechte benötigt!
REM (c) Windowspage 2023
net stop spooler
DEL /F /S /Q %systemroot%\System32\spool\PRINTERS\*
ECHO.
net start spooler
VisualBasic-Skript (VBS-Datei):
' Alle Druckaufträge in der Warteschlangen löschen
' Copyright (c) 2023 Windowspage
Option Explicit
' Variablen
strService="Spooler"
strComputer = "."
DIM objWMIService, objService, objWshShell, objFSO
DIM strService, strComputer, strFiles
' Programmausführung
IF MsgBox("Möchten Sie alle Druckaufträge auf dem Gerät löschen?", vbYesNo or vbQuestion, "Druckerspooler") = vbYes THEN
' Service stoppen
SET objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
FOR EACH objService IN objWMIService.ExecQuery("Select * from Win32_Service Where Name = '" & strService & "'")
objService.StopService
NEXT
' Dateien löschen
SET objWshShell = CreateObject("WScript.Shell")
strFiles = objWshShell.ExpandEnvironmentStrings("%SystemRoot%") & "\System32\Spool\Printers\*.*"
CONST DeleteReadOnly = TRUE
SET objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFile(strFiles), DeleteReadOnly
' Service starten
FOR EACH objService IN objWMIService.ExecQuery("Select * from Win32_Service Where Name = '" & strService & "'")
objService.StartService
NEXT
MsgBox "Druckaufträge wurden gelöscht.", vbOKOnly or vbInformation, "Druckerspooler"
END IF
Hinweis:
- Für die Löschung aller Druckaufträge sind erweiterte administrative Rechte erforderlich. Dies gilt auch für die beiden Skripte.
|