c2ddde5bc7c3d55bbdc4310598c0e084_t


こんにちは。
以前タスクスケジューラが起動できなくなって結構困ったんですが、その時に行った対処法をまとめておきたいと思います。

当記事を参考にして行う変更などについては全て自己責任でお願いします。
コマンドやその他の設定などはなるべく参考リンクの方からコピーなどを行うようにしてください。




症状


言語バー(IME)が起動しない


ある日、朝起きていつものようにPCを起動したのですが、右下のタスクバーにある言語バー(IME)が消えてました。
言語バー(IME)とはこれのことです。

bandicam 2019-09-10 14-53-21-727


日本語入力するために必要なので、これが起動していないということはローマ字しか入力できないということになります。

流石にこれはすぐに直さないと不便すぎるので、スタートアップにCTFローダーを登録する形で臨時対応しました。

<ctfmon.exeをスタートアップに登録する方法>
  1. タスクバーの検索窓に「ctfmon」と入力し、右クリック→ファイルの場所を開く
  2. 中にあるctfmon.exeをコピーする
  3. スタートボタンを右クリック→ファイル名を指定して実行 で「%appdata%」と入力
  4. AppData\Roaming\Microsoft\Windows\スタート メニュー\プログラム\スタートアップ」の中に先ほどコピーしたctfmon.exeを貼り付ける。
  5. PCを再起動

これで一時的に言語バー(IME)が起動しない問題は解決できます。

本来はタスクスケジューラによってCTFローダーは起動するようになっているらしいですが、タスクスケジューラが動作していないためPC起動時にCTFローダーも起動せず、言語バー(IME)が消えてしまったと考えられます。

ディスクデフラグツールが使えない


bandicam 2019-09-10 15-26-06-182


本来であれば、スタートメニュー → Windows 管理ツール → ドライブのデフラグと最適化 からディスクデフラグツールを起動できます。

ですが、「タスクスケジューラーサービスが実行されていないためディスクデフラグツールを開始できません。」などと表示され、ディスクデフラグツールが起動できなくなりました。

ここら辺で、この「タスクスケジューラ」っていうヤツがおかしいんじゃないのか…?と疑い始めます。

NVIDIA GeForce Experience をインストールできない


bandicam 2019-09-10 15-36-52-729


GeForce Experienceは一時期必要ないと思ってアンインストールしていたのですが、やっぱり使おうと思って再インストールすることにしました。

しかし、「NVIDIAインストーラーを続行できません。続けるにはWindowsタスクのスケジューラーサービスを実行してください。サービスを開始して、もう一度やり直してください。」と表示され、インストーラに失敗する現象が発生しました。

グラフィックドライバはインストールして更新できるんですが、GeForce Experience はインストールできませんでした。

やはり、「タスクスケジューラ」が何らかの悪さをしているのは分かります。

<参考リンク>



タスクスケジューラが起動できない


ということでタスクスケジューラを起動してみます。

スタートボタンを右クリック → コンピュータの管理 からサービス一覧を表示 → 「Task Scheduler」を右クリックしてプロパティ → 開始ボタンをクリックします。

ですが、「Task Schedulerサービスは起動して停止しました。サービスの中には、ほかのサービスやプログラムで使用されていない場合は自動的に停止するものがあります。」などと表示され、起動できません。

直接起動してみるため、同じく コンピュータの管理 → システム ツール → タスク スケジューラ をクリックしてみますが、「リモートコンピュータが見つかりません。」などと表示され、使うことができません。

タスクスケジューラが起動できさえすれば上で述べたような症状は全て解決するはずなので、何とかして起動しようと色々試しました。


解決策


システムを復元する


一番簡単な方法ですが、システムの復元ポイントを作成している場合は、復元するのが手っ取り早いです。

  • デスクトップのPCアイコンを右クリック → プロパティ → システムの保護 → システムの復元

これで、タスクスケジューラが起動していたころに復元すればいいわけですが、復元ポイントを作成していなかった場合はできません。

<参考リンク>



依存しているサービスが起動しているか確認する


タスクスケジューラは他のサービスに依存して起動しているため、必要なサービスが起動していないとタスクスケジューラも起動することができません。

スタートボタンを右クリック → コンピュータの管理 からサービス一覧を表示して、以下の4つのサービスが起動しているかどうか確認します。

  • DCOM Server Process Launcher
  • Remote Procedure Call (RPC)
  • RPC Endpoint Mapper
  • Windows Event Log

起動していなかった場合は右クリックしてプロパティから開始をクリックします。

私の場合は全部起動していたためこれが原因ではありませんでした。

アクセス許可を変更する


サービス一覧からタスクスケジューラを起動してみる際、スタートアップの種類が無効になったまま灰色になって編集できない場合があります。

(下の画像は現在の私のPCの状態なので実行されているが)
bandicam 2019-09-10 16-34-36-044


この場合は、以下の方法で直ることがあるようです。

  1. スタートメニュー → Windowsシステムツール → コマンドプロンプト を右クリックして管理者として実行
  2. 以下のコマンドを入力(コピペで)
    sc sdset schedule D:(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;IU)(A;;CCLCSWLORC;;;AU)(A;;CCLCSWRPDTLOCRRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWLORC;;;BU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

SUCCESSと表示されたら成功です。
スタートアップの種類を変更できるようになるため、「自動」にしてPCを再起動します。

これで直っていれば、タスクスケジューラが起動しているはずです。
終わった後は必ず、

sc sdset schedule D:(A;;CCLCSWLORC;;;AU)(A;;CCLCSWRPDTLOCRRCWDWO;;;BA)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWLORC;;;BU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

を同じようにコマンドプロンプトにコピペします。

ただ私の場合、スタートアップの種類などは灰色にはなってなく元々変更できる状態であり、サービスを開始しても前述したように「Task Schedulerサービスは起動して停止しました。サービスの中には、ほかのサービスやプログラムで使用されていない場合は自動的に停止するものがあります。」と表示されるため、これが原因ではありませんでした。

<参考リンク>



レジストリエディタをいじる


  1. スタートボタンを右クリック → ファイル名を指定して実行 から「regedit」と入力しレジストリエディタを開く。
  2. コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance\State\ReportedState の値を3から0に変更する。
  3. スタートボタンを右クリック → コンピュータの管理 からサービス一覧を表示 → 「Task Scheduler」を右クリックしてプロパティ → 開始ボタンをクリック

これで起動できるらしいです。

ですが私の場合、レジストリエディタにおいてMaintenanceより先に進めず、値の変更すらできませんでした。

<参考リンク>



システムファイルチェッカーツールを使う


ここまで来るとWindowsに何らかの問題が生じてる可能性があると思い、システムの修復をしてみることにしました。

今回はシステムファイルチェッカーツールというものを利用してみました。

  1. スタートメニュー → Windowsシステムツール → コマンドプロンプト を右クリックして管理者として実行
  2. DISM.exe /Online /Cleanup-image /Restorehealth
    と入力して実行
  3. 終わったら、
    sfc /scannow
    と入力して実行
  4. 終わったらコマンドプロンプトを閉じる。


実際に実行してみると、やはり何か問題があったみたいで「ファイルが修復された」などと表示されました。
これは流石に直ったんじゃないかと思いPCを再起動してみるも、やはりタスクスケジューラは起動できず…

<参考リンク>



最終手段


OSの再インストール


何の問題が起きているか特定しないといけないため、イベントログを確認してみることにしました。

スタートボタンを右クリック → コンピュータの管理 から、
システム ツール → イベント ビューアー → Windows ログ → システム を確認します。

すると、タスクスケジューラを起動しようとするとき以下のようなエラーが起こることがわかりました。

  • "JobStore::CreateJobStore" のエラーのため、タスク スケジューラ サービスを開始できませんでした。追加データ: エラー値: 2147943714。

これは、アカウントが必要な権限を持っていないということらしいです。

<参考リンク>



そこで、Windowsの設定 → アカウント より、自分のユーザー情報を確認してみたところ、画像のようになっていました。

bandicam 2019-09-10 17-33-00-139


アカウント名が表示されていない…

もしかしてアカウントを認識していないのではないか?アカウントが無効になってるのではないか?と思いました。
ですが、C:\ユーザー には自分のアカウント名のフォルダが表示されているため、そういうわけでは無さそうです。
Windows起動時にもロック画面に自分のアカウント名がちゃんと表示されます。

そして、この先色々調べたのですがどこを探しても解決方法は出てきませんでした。
というわけで最終手段としてOSを再インストールすることにしました。

OSの再インストールはファイルが全部消えてしまうと思っていたのですが、どうやら個人のファイルを残したまま再インストールするモードもあるようなので、それを実行しました。
無事、体感2~3時間ほどで再インストールが終了し、タスクスケジューラも復活しました。
その後数週間ほどPCを使っていますが、特に問題は起きていません。

まとめ


結局、何が原因だったのか分からないままでした。
寝る前にPCをシャットダウンして、翌日PCを起動したときにタスクスケジューラがおかしくなっていたため、恐らくWindows Updateで何らかの不具合が起きたと考えるのが妥当だと思います。
Windows Updateはたまに失敗するらしいですし、システムの復元ポイントを定期的に作っておいた方がいいですね。