web-dev-qa-db-ja.com

プリントスプーラサービスが再起動しない

いくつかのプリンタを搭載したWindowsServer 2003を使用していますが、イベントビューアに次のメッセージが表示されてPrint Spoolerサービスがクラッシュすることがあります:障害のあるアプリケーションspoolsv.exe、バージョン5.2.3790.0、障害のあるモジュールZSR.DLL、バージョン6.20.1625.0 、障害アドレス0x0001f979。もちろん、これを完全に防ぐのはいいことですが、それまでは自動的に再起動したいと思います。 [プロパティ/リカバリ]タブの[1回目/ 2回目/後続の障害]で[サービスの再起動]に設定しましたが、再起動しません。手動で起動すると、正常に動作します。自動的に再起動するように設定するにはどうすればよいですか?

1
Balázs Pozsár

タスクを定期的に実行するようにスケジュールできます

net stop spooler
net start spooler

ただし、問題の根本は、破損したプリントドライバである可能性があります。プリンターを削除した後、すべてのプリンタードライバーをクリアしてみてください。更新されたドライバーをダウンロードし、プリンターを再度追加します。

3
JS.

問題はHP1020レーザープリンターにあるようですが、私には当然のことです。これらの1020は、非常に手頃なWindowsホストベースのプリンターであり、HPによって作成されたドライバーは完全ではないため、プリントサーバーで使用すると本当にひどいものになります。

私たちは、従業員がそれらを購入するのをやめ、代わりに、適切なイーサネットカードが入っているHPの最下位に行くように頼む傾向がありました。 1020は自宅での使用は問題ありませんが、ビジネス環境では使用できません。

スプーラのクラッシュ、DLLの問題、および HPフォーラム などのこれらのプリンタを使用するためのWeb上のDEPとの競合に関する長い議論があります。

しかし、私の提案は、トラブルシューティングの時間を節約し、それをビンに入れて、まともな何かを手に入れることです。

2
SteveBurkett

プリンタードライバーをクリーンアップしようと思います。プリンタドライバをアンインストールして、ベンダーから最新のものを再インストールしてみてください。

プリンタドライバのトラブルシューティングの良いページはここにあります: プリンタドライバをクリーンアップする方法

1
splattne

このような単純なvbsスクリプトをスケジュールして、必要に応じてローカルコンピューターでスプーラーサービスを定期的に再起動できます。


 strComputer = "。" 
 strSvcName = "Spooler" 
 set objWMI = GetObject( "winmgmts:\\"&strComputer& "\ root\cimv2")
 set objService = objWMI.Get( "Win32_Service .Name = '"&strSvcName&"' ")
 If objService.State =" Stopped "Then 
 objService.StartService()
 End If 


ただし、これは問題の回避策にすぎません。すべてのドライバーをチェックして、最新であるかどうかを確認できます。

0
Maxwell
Net Stop Spooler && Net Start Spooler

それをスケジュールされたタスクに押し込み、数分ごとに実行すると、おそらくカバーされます。

個人的には、どのプリンタードライバーがzsr.dllをインストールし、それを削除/再インストールするかを調べています。破損している可能性があり、交換する必要があります。

0
Kip

Service Hawkなどのサードパーティのサービス監視ツールをインストールして、再起動することができます。それでうまくいくでしょう。

0
ExtraLean

私の2セントを追加するには:zsr.dllはWindows dllファイルではないため、プリンタードライバーdll(おそらくHP)である必要があります。私のアドバイスは、サーバー上のプリンタードライバーを更新し、サービスの回復オプションを設定して、障害が発生したときにサービスを再起動することです。私見、これは、スケジュールに従ってサービスを停止および再開するためにバッチファイルをスケジュールするよりも優れたオプションです。

0
joeqwerty