主にPHPファイルを呼び出す.batファイルを実行する、スケジュールされたタスクを持つWindows Server 2008があります。サーバーには2人のユーザーがいます。1人は管理者で、もう1人は標準ユーザーです。
標準ユーザーを使用して、イベントビューアーを使用して[タスクスケジューラの履歴]タブで履歴ログをクリアしました。これで、履歴が記録されなくなります。すべてのスケジュールされたタスクの履歴タブに履歴がなくなりました。ただし、最終実行結果は0x0を返し、スケジューラは正常に機能しています。
お知らせ下さい。
手順1:昇格されたタスクスケジューラを開きます(つまり、タスクスケジューラアイコンを右クリックして、管理者として実行)
ステップ2:アクションペイン(右ペイン、notアクションtab)、クリックすべてのタスク履歴を有効にする
それでおしまい。なぜこれがデフォルトでオンになっていないのかはわかりませんが、そうではありません。
混乱は、サーバー上で左側のタスクスケジューラライブラリを右クリックし、右クリックしてすべてのタスク履歴を有効または無効にするオプションを取得する必要があることだと思います。
お役に立てれば
別のpossibleがあります。特定のタスクのタスクスケジューラの[履歴]タブにイベントログエントリが表示されない理由については、[すべてのタスク履歴]が有効になっていても、それらのタスクのイベントはイベントログ、およびその他のすべてのタスクは履歴を正常に表示します。私の場合、13個の新しいタスクを作成しました。それらのうちの5つでは、イベントが履歴の下で正常に表示されましたが、他の8つでは、[履歴]タブは完全に空白でした。イベントビューアーの使用に関するMick Woodの投稿を使用して、これらのタスクが履歴に対して個別に有効になっていること(およびイベントのログ記録)を確認しました。
それからそれは私を襲った。私は突然、他の5つにはない8つすべての共通点に気付きました。イベント名にはすべてアンパサンド(&)文字が含まれていました。作成した最初のタスク「Sync E to N」をエクスポートし、エクスポートしたファイル名を変更し、XMLコンテンツを編集してから、新しいタスクをインポートすることで作成しました。 Windowsエクスプローラーでは、タスクの名前を「CからN&Tに同期」に変更でき、タスクスケジューラーではインポートできます。ただし、名前にその厄介な「&」があると、イベントログからその履歴を取得できませんでした。元のイベントを削除し、xmlファイルの名前を「CをNとTに同期」に変更し、インポートすると、タスクスケジューラの[履歴]タブにすべてのログエントリがありました。
タスクスケジューラアプリの調整は、実際には特定のイベントログの有効状態を制御するだけなので、Windowsコマンドラインを使用してタスクスケジューラの「履歴」モードを同等に調整できます。
wevtutil set-log Microsoft-Windows-TaskScheduler/Operational /enabled:true
現在の状態を確認するには:
wevtutil get-log Microsoft-Windows-TaskScheduler/Operational
キーストロークを避けるために、上記を少し短縮したバージョンを以下に示します。
wevtutil sl Microsoft-Windows-TaskScheduler/Operational /e:true
wevtutil gl Microsoft-Windows-TaskScheduler/Operational
Windows 2008R2サーバーで見つけた場所です。高機能タスクスケジューラ[タスクスケジューラライブラリ]をクリックします。右側の[アクション]パネルにオプションとして表示されます。
これは、タスクスケジューラの任意の場所で履歴を有効/無効にするオプションがない他のユーザーに役立つ場合があります。
(コンピューターの管理または管理ツール>イベントビューアーのいずれかで)イベントビューアーを開きます。
イベントビューアで、プレビューペインが表示されていることを確認します([表示]> [プレビューペイン]にチェックマークを付ける必要があります)
左側のペインで、[アプリケーションとサービスログ]、[Microsoft]、[Windows]、[TaskScheduler]の順に展開し、[操作]を選択します。
プレビューペインに2つのセクション(操作上とそのイベントnnn、TaskSchedulerの下)でアクションを表示する必要があります。 [運用]セクションにリストされている項目の1つは[プロパティ]である必要があります。この項目をクリックすると、[ログを有効にする]オプションが[全般]タブにあります。
私の問題は、最大ログサイズに達しており、古いイベントを上書きするオプションが選択されていても、新しいイベントをログに記録していなかったことです。これはアクセス許可の問題である可能性がありますが、いっぱいになったときにアーカイブに変更し、すべてが再び機能するようになりました。
これが他の誰かに役立つことを願っています。上記のオプションがない場合は申し訳ありませんが、どこを見るべきかわかりません。
8.1 Proに勝つ
上記のブライアンクラークの答えは私にとっては有効でしたが、私がやったのとは少し異なるシーケンスに従う必要があるかもしれない人のためにここに投稿しています。
[コントロールパネル]> [管理ツール]> [タスクスケジューラ-[管理者として実行]を右クリック]を実行すると、[アクション]ウィンドウに次のアクションが既に含まれていることがわかりました。
Disable All Tasks History
そのため、私のマシンではすでに履歴が有効になっています。しかし、私のマシンは最初に履歴を無効にしてから、戻って「すべてのタスク履歴を有効にする」必要がありました。その後、履歴が表示され、エラーは発生しませんでした。私は、アクションが何らかの方法で初期化またはセットアップを実行し、OSのインストールに至るまで適切に実行されなかったと想定しています。
また、履歴の有効化/無効化設定を前後に切り替える前に、タスクスケジューラを終了して再入力する必要があることも追加します。
前述のように、昇格された「管理者」モードでタスクマネージャーを開く場合は、履歴をオンまたはオフにするオプションがあります(タスクスケジューラプログラム/ショートカットを右クリックし、「管理者として実行」を選択します)。次に、「タスク」の下に、履歴を停止または開始するスポットがあります。