3 樓 Print Queue 被壞檔塞爆,Central Print Server 死 Spooler,求 PowerShell 免重啟 Purge 腳本

Min Yang 80 信譽點數
2026-09-24T07:45:17.2066667+00:00

公司 3 樓個 Print Queue 今朝突然塞死咗。查返發現有 user 發送咗個 corrupt 咗嘅 500 頁大 PDF,直接令到 Central Print Server 個 spoolsv.exe (Print Spooler) 鎖死,結果成個 3 樓所有 Print Job 完全卡住(Stuck)。

而家去 GUI 右鍵 Cancel 個 Job 一直顯示 "Deleting..." 但毫無反應。如果直接 Restart 個 Print Spooler Service,舊嘅 .SHD 同 .SPL 檔又會直接 Lock 住個 directory,導致開返 service 個陣又塞過。

除咗開 Maintenance Window 去打擾其他 Floor 之外,有冇人有現成嘅 PowerShell One-Liner / Automation Script,可以:

強行 Stop 埋依附喺 Print Spooler 下面嘅 dependencies (例如某些 Driver Monitor Services)

自動 Purge 走 C:\Windows\System32\spool\PRINTERS 裏面嘅過期 stale .SPL / .SHD 檔案

再乾淨重新 Start 返 Service 兼清掉指定 Queue?

唔該晒!

Windows 商務版 | Windows 365 企業版
0 則留言 沒有留言

2 個回答

排序依據: 最實用
  1. HLBui 15,430 信譽點數 獨立顧問
    2026-09-29T03:10:51.3866667+00:00

    如果一切正常,请不要忘记通过将此回复标记为“已采纳答案”来分享您解决问题的经验。 如果您需要更多信息,欢迎随时留言。 我们非常乐意为您提供帮助

    此回答有幫助嗎?

    0 則留言 沒有留言

  2. HLBui 15,430 信譽點數 獨立顧問
    2026-09-24T08:56:22.2533333+00:00

    你好 Min Yang

    遇到大 PDF 卡死整个打印队列真的很常见。 GUI 上点 “Deleting…” 没反应是因为 spoolsv.exe 已经被那份坏掉的 Job 锁住了。 比较干净的做法是用 PowerShell 一次性停掉 Print Spooler 和相关依赖服务,然后清空 PRINTERS 目录 里的 . SPL / . SHD 文件,再重新启动服务。 你可以用类似的脚本:

    停止服务 -名称 Spooler -强制

    获取服务 |在哪里-对象 {$_.名字 -类似“打印”} |停止-服务 -强制

    Remove-Item “C:\Windows\System32\spool\PRINTERS*.shd” -强制

    Remove-Item “C:\Windows\System32\spool\PRINTERS*.spl” -强制

    Start-Service -Name Spooler

    这样就能强制清掉卡住的 Job,队列会恢复正常。 记得在执行前先通知用户,避免误删正在排队的正常任务。 以后也可以考虑加个 自動化清理腳本 定期跑,减少人工干预。

    此回答有幫助嗎?

    0 則留言 沒有留言

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。