# Windows Druckserver -

# Windows Druckserver: festklebende Druckaufträge entfernen (PowerShell)

**Ziel:** Druckjobs löschen, die selbst nach einem Server-Neustart wieder auftauchen.  
**Wichtig:** Die “Keule”-Variante stoppt den Spooler. Währenddessen druckt niemand.

---

## Variante A: Komplett-Reset (alle Druckjobs löschen)

1. PowerShell **als Administrator** öffnen
2. Ausführen:

```powershell
# Stoppt den Druckspooler (Druckbetrieb steht in der Zeit)
Stop-Service -Name Spooler -Force

# Löscht alle Spool-Dateien (Jobs) vom Printserver
Remove-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*" -Force -ErrorAction SilentlyContinue

# Startet den Druckspooler neu
Start-Service -Name Spooler

# Status prüfen
Get-Service -Name Spooler | Select-Object Name, Status
```

**Erwartung:** Warteschlangen sind danach leer, weil die `.spl`/`.shd`-Spoolfiles weg sind.

---

## Variante B: Nur eine bestimmte Drucker-Queue leeren (gezielt)

Wenn du nicht alles löschen willst, sondern nur einen Drucker:

```powershell
# Anpassen:
$ServerName  = "DEIN-PRINTSERVER"
$PrinterName = "DEIN-DRUCKERNAME"

# Alle Jobs in der Queue anzeigen
Get-PrintJob -ComputerName $ServerName -PrinterName $PrinterName |
  Select-Object ID, DocumentName, UserName, SubmittedTime, Size

# Alle Jobs in der Queue löschen
Get-PrintJob -ComputerName $ServerName -PrinterName $PrinterName |
  ForEach-Object {
    Remove-PrintJob -ComputerName $ServerName -PrinterName $PrinterName -ID $_.ID
  }
```

**Wenn Jobs bei “Deleting…” hängen bleiben:** Variante A benutzen (Spooler stoppen + Spoolfiles löschen).

---

## Quick-Checks, falls Jobs “wie von selbst” wiederkommen

- **Client schickt den Job erneut:** Der Job ist weg, wird aber sofort neu gesendet (z.B. User druckt erneut, App hängt, Print-to-PDF-Loop).
- **Treiber/Queue kaputt:** Testweise anderen/aktuellen Treiber (z.B. Hersteller-Universal) verwenden.
- **AV/EDR blockiert Spool-Dateien:** Ausnahme für `C:\Windows\System32\spool\PRINTERS` prüfen.

---

## Optional: Ereignisprotokoll für Print-Probleme (lesen)

Praktisch, wenn du sehen willst, was beim Spoolen schief läuft:

```powershell
# Letzte 50 PrintService-Events anzeigen (Operational Log)
Get-WinEvent -LogName "Microsoft-Windows-PrintService/Operational" -MaxEvents 50 |
  Select-Object TimeCreated, Id, LevelDisplayName, Message |
  Format-List
```