ども。
明日のChromebook納品を前にドキドキな担当ちゅんです。
先日、教職員が利用しているシンクライアント端末で「印刷に失敗してジョブを削除しようとしても削除できずに困っている」と連絡がありました。
Windowsで印刷を実行後、例えば紙詰まりが発生したりしてプリンタがエラーになってしまうと、キューの中に印刷中のジョブが残ったままになることがあります。この場合、ジョブをキャンセルしないとプリンタに意味のないデータを送り続けることになってしまい、結果、文字化けした紙が大量に出力されてしまう(紙とトナーがもったいない!)といったことも稀に発生しますよね。
長年、あのキャンセルできないジョブはどういう理由で残ってしまうんだろうと疑問に思ってきました(それは今も解決していません)。本当はきちんと原因を探って正しい手順で解決すべきなのでしょうが、現場では一刻も早く復旧することが至上命題となるので、プリンタの再起動と併せてPCも再起動するなどの方法により解決を試みてきました。
しかし、今回のケースでエラーとなった環境は、およそ50人がリモートデスクトップ接続により同時にログインして利用しているサーバであり、何の告知もなくいきなり再起動することは許されない状況。つまり、従来のような強引な手法は使えません。せっかくの機会なので、本来、この現象が起きたらどう対処すべきなのか調べました。
(以下は自分たちに向けた備忘録も兼ねて)
印刷のジョブをキャンセルしたにもかかわらず「削除中」といったステータスのままデータが残り続けてしまった場合、まずはWindowsに管理者としてログインし、Windowsのサービス「Print Spooler」を停止します。その後、「C:\Windows\System32\spool\PRINTERS」の中にあるファイル(拡張子shdやspl)の中からタイムスタンプがそれらしいファイルを見つけて、これを削除。その後、再び「Print Spooler」のサービスを起動させることで、ちょっと強引ですが手動でジョブを削除することができました。分かってしまえば簡単なことですね。
通常はこんな煩わしいことをしなくてもなんとかなることがほとんどですが、もし今回の私のように「別なユーザーもログイン中でPCの再起動はかけられない」とか、そういう特殊な事情がある際にはこの手順をお試しいただければ幸いです。
・・・もしかして、世のサーバ管理者にとっては常識中の常識だったりして。
最近、ますますマニアックな作業が増えています。
(投稿者:ちゅん)