web-dev-qa-db-ja.com

タスクスケジューラを使用してWindowsサービスを再起動する方法

これを行う最も簡単な方法は、次を使用してバッチファイルを作成することです。

NET stop <service name>
NET start <service name>

バッチファイルを作成してテストしたら、Windowsタスクスケジューラに追加して、特定の時間間隔で実行します。ここでの問題は、batファイルが見つからないか破損している場合、サービスが再起動しないことです。だから、特定の時間間隔でサービスを再起動する他の方法はありますか?

32

Batファイルを使用する代わりに、単純にスケジュールされたタスクを作成できます。ほとんどの場合、アクションを1つだけ定義します。この場合、NETコマンドを使用して2つのアクションを作成します。最初はサービスを停止し、2番目はサービスを開始します。 STOP引数とSTART引数を指定し、その後にサービス名を指定します。

この例では、Printer Spoolerサービスを再起動します。

NET STOP "Print Spooler" 
NET START "Print Spooler"

enter image description here

enter image description here

注:残念ながらNET RESTART <service name>は存在しません。

85