回答:
これは現在のサーバーの状況を解決しないことは承知していますが、Windows Server 2008 R2およびWindows 7では、プリンタードライバーの分離をセットアップできます。厄介なプリンターを別のプロセスとして実行できるので、スプーラーが強制終了されることはありません。
このような問題に遭遇したとき、それは不良ドライバーよりもプリントサーバー上の混合HPモデルプリントドライバーに関連していることがわかりました。すべてのHPプリンターをユニバーサルプリンタードライバーを使用するように移動すると、問題はなくなりました。
同様の問題が発生しました。特定のユーザーが特定のプリンターに印刷した特定のドキュメントは、Win 2k3サーバーのスプールサービスを完全にねじ込み、そのため、他のすべてのプリンターが停止します。
明らかにあまりフレンドリーではない多くのプリントサーバーを使用する以外に、スプーラー全体を取り出さないようにする適切な方法は本当に見つかりませんでした。ただし、PCLまたはPSドライバー(基本的に現在使用されていないドライバー)を使用する問題のあるプリンター用に追加のキューが作成されています。その後に-ps / -pclを付けて同じことを呼び出し、問題が発生しているユーザーにそれを印刷するようにアドバイスします。
スプーラーサービスが自動再起動するように設定されていることも、プリントサーバーのservices.mscで確認することをお勧めします。そうすれば、ほんの少しのダウンタイムで済むかもしれません。
危険なプリンターに印刷する必要のある人は、直接IP印刷を介して印刷する必要があるため、式からプリントサーバーをすべて排除することもできます。
障害のあるプリンター用のより機能的なドライバーを入手するまでの回避策として、スプーラーがクラッシュしたときにスクリプトを実行します(サービスの回復プロパティ)。スクリプトですべてのドキュメントをスプールディレクトリから消去してから、スプーラーを再起動します。印刷ジョブが失われる可能性が少しありますが、通常、これを確認すると、キュー内の唯一のジョブが問題のジョブです。
チェックする他の事柄はあなたが最新のドライバーバージョンであることを確認すること、または1つのバージョンに戻ることです。プリンタとIO(Jetdirect?)ファームウェアが最新であることを確認します。最後に、標準TCP / IPポートの方が、HPまたはベンダー提供のポートタイプを使用するよりもはるかに信頼性が高いことがわかりました。月に600,000ページを超えるプリントサーバーがあり、ポートの種類がプリントサーバーが安定しているかどうかに最も影響するようです。
更新:
スクリプト(バッチファイル)の場合、次のように簡単です。
del /q c:\windows\system32\spool\PRINTERS\*.*
net start spooler
次に、サービスの一部としてバッチファイルを実行し、最初の障害時に回復します。後続の失敗時に通知を送信することができます。
そのための1つの方法は、それぞれ独自のプリンターを備えた複数のVMを作成することです(またはVMごとに数台のプリンターのみ)。
どのサーバーOSですか?印刷スプーラーサービスが停止していますか?もしそうなら、サービスが停止した場合に自動的に再起動するように設定してみませんか?