mixiユーザー(id:2416887)

2019年03月08日02:09

1065 view

タスクスケジューラの直し方 WindowsXP

WindowsXPでタスクスケジューラが何かしらのエラーを起こしている場合、

・Protected Storageサービスが起動状態を確認する
・Crypto\RSA\S-1-5-18を初期化する

の2つのアプローチ方法が存在する。
(1つ、わざとキャッシュをオーバーフローさせて、自動クリーンアップさせる方法があるけど、あれは何か違う気がする)

でも、直らない場合がある。うちの場合はこれが該当。
この場合、WindowsXPの再インストールが近道と言われているが、

先人の奴ら、もう少し頑張れよ、と言いたくなる。

再インストールは、最も時間的コストがデカいので、こいつはあくまで最終手段であり、
これを最短手段としては行けない。
Windows10はことあることに「初期化しろ」という指示があるが、
あれ販売メーカーが言ったらいけないわけですよ。時間的コストが全く考えられてない。
ということで、色々抗った結果、ちゃんと手段が見つかった。

・タスクスケジュールサービスを停止して、Windows\Tasksフォルダを削除
→タスクスケジュールサービスを開始→新しいTasksフォルダの作成されること確認

以上の方法で直りました。
まぁ、これいきなりやると、すべてのジョブが吹っ飛びます。
でも、フォルダ見ると分かるんですが、1ジョブ=1ファイルで管理されています。
なので、先にジョブを適当なフォルダに移すか、削除ではなく、リネームかコピーで対応して、
新しく出来たフォルダにjobファイルを移してやると、ある程度楽です。
でも、この状態だと正常に動きません。
移したあと、プロパティを表示して、どのユーザーで動かすか設定し、パスワードを入力してください。
その状態で、ジョブを開始して正常に起動すれば問題なしです。

■解説
実はjobファイルには実行ユーザー情報が書き込まれていません。
あれは、実行ファイルパス・条件・期間等が書き込まれているだけで、
SA.DATというファイルが、どのジョブをどのユーザーで実行させるか割り当てていると思われます。
ただ、何かしら書き込む段階で、このSA.DATが壊れる場合があると思われます。
Tasksを消すと、このSA.DATが一緒に消されます。
そして、ジョブとユーザー割当時に勝手に作成されます。
なので、このSA.DATに何かしら問題が発生したとき、
・ジョブを実行時、ユーザー割当情報が読み込めないため、ジョブが実行出来ない。
・ユーザー割当時、情報がSA.DATに書き込めなくなるため、エラーが発生する。
の2点が発生すると思われます。

なお、Windows7でもこのSA.DATは存在しているため、
もしかしたらWin7やWin10でも起こるかもしれません。恐怖ですね。
1 0

コメント

mixiユーザー

ログインしてコメントを確認・投稿する

<2019年03月>
     12
3456789
10111213141516
17181920212223
24252627282930
31