# PCS Toolkit - Print Spooler Fix # Fixes common printing issues by resetting the spooler service $timestamp = Get-Date -Format "yyyy-MM-dd_HH-mm-ss" $logFile = "$env:USERPROFILE\Desktop\PrintSpoolerFix_$timestamp.log" function Log($msg) { $line = "$(Get-Date -Format 'HH:mm:ss') - $msg" Write-Host $line Add-Content $logFile $line } Log "========================================" Log " PCS Toolkit - Print Spooler Fix" Log "========================================" Log "Computer: $env:COMPUTERNAME" Log "" # Check if running as admin $isAdmin = ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator) if (-not $isAdmin) { Log "ERROR: This script must be run as Administrator!" Read-Host "Press Enter to exit" exit } Log "Step 1: Stopping Print Spooler service..." Stop-Service -Name Spooler -Force -EA SilentlyContinue Start-Sleep -Seconds 2 Log " Done" Log "Step 2: Clearing print queue..." $spoolPath = "$env:SystemRoot\System32\spool\PRINTERS" $files = Get-ChildItem $spoolPath -EA SilentlyContinue Log " Found $($files.Count) files in queue" Remove-Item "$spoolPath\*" -Force -EA SilentlyContinue Log " Cleared" Log "Step 3: Clearing print driver isolation..." Remove-Item "$env:SystemRoot\System32\spool\drivers\x64\3\*" -Recurse -Force -EA SilentlyContinue 2>$null Log " Done" Log "Step 4: Resetting spooler registry permissions..." $acl = Get-Acl "HKLM:\SYSTEM\CurrentControlSet\Control\Print\Printers" -EA SilentlyContinue if ($acl) { Log " Registry ACL intact" } Log "Step 5: Starting Print Spooler service..." Start-Service -Name Spooler -EA SilentlyContinue Start-Sleep -Seconds 2 $svc = Get-Service -Name Spooler Log " Status: $($svc.Status)" Log "Step 6: Checking installed printers..." $printers = Get-Printer -EA SilentlyContinue foreach ($p in $printers) { Log " - $($p.Name) [$($p.DriverName)] - $($p.PrinterStatus)" } Log "" Log "========================================" Log "PRINT SPOOLER FIX COMPLETE" Log "========================================" Log "" Log "If issues persist, try:" Log " 1. Remove and re-add the printer" Log " 2. Update printer drivers" Log " 3. Run: sfc /scannow" explorer.exe "/select,$logFile" Read-Host "Press Enter to exit"