AT コマンドで表示されなくなったジョブが繰り返し実行されます

現象
Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 で AT コマンドで表示されないジョブが繰り返し実行される
原因
AT コマンドは古いバージョンの Windows のジョブのスケジュール機能ですが、新しい Windows では同様の機能としてタスク スケジューラーが実装されました。以降 AT コマンド実行時はコマンド ライン オプションに応じたタスクをタスク スケジューラー上に作成し、実際の実行はタスク スケジューラーが行なっています。しかし、Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2  の新しいタスク スケジューラーでは AT コマンドの /next: オプションが正しく機能しません。

/next: を指定したジョブが実行されると AT コマンドのジョブ一覧からは削除されますが、タスク スケジューラーにはタスクが残り続け、繰り返し実行されてしまいます。
解決方法
AT コマンドに表示されなくなったジョブをタスク スケジューラーから削除します。

タスク スケジューラーでは AT コマンドのジョブ ID に応じて At1 、At2 というタスク名で登録されています。 AT コマンドで一覧に表示されない ID のタスクが存在する場合は該当タスクを削除してください。なお、At1 等のタスクは通常タスク スケジューラーのタスク スケジューラ ライブラリ直下に作成されます。
回避策
Windows Vista、Windows 7、Windows Server 2008、Windows Server 2008 R2 では AT コマンドの /next: オプションを使用しないでください。または、コマンド ラインからのタスク管理は AT コマンドではなくタスク スケジューラーの標準コマンド schtasks をご使用ください。
状況
詳細
AT コマンドの /next: オプションは指定したジョブが次の日付や次の曜日に一度だけ実行させるオプションです。新しいタスク スケジューラーでは /next: に該当する設定がありません。

AT コマンドの /every: と /next: オプションは内部的には同じ 繰り返し実行 のジョブが作成されます。異なる点は /next: を指定した場合のみ、ジョブの有効期限に繰り返し実行の初回実行日時が設定される点です。これにより /every: は繰り返し実行され続け、 /next: は繰り返し実行の初回のみ実行されるようになります。

新しいタスク スケジューラーではタスクそのものの有効期限の設定が無いため、実行済みのタスクも残り続けます。この違いにより AT コマンドの /every: と /next: を指定したそれぞれのジョブは実際にはタスク スケジューラー上で等しく繰り返し実行のタスクとして作成されます。その結果、本来 1 回のみ実行の /next: を指定した場合であっても、タスク スケジューラーでは通常の繰り返し実行のタスクとなり、初回実行以降も実行され続けます。

一方 AT コマンドでは /next: は一回のみ実行のオプションのため、タスクが一覧から削除され、AT コマンドからジョブの削除が行なえなくなります。
関連情報
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2642667 - 最終更新日: 09/20/2016 10:27:00 - リビジョン: 3.0

Windows Server 2008 R2 Enterprise, Windows Server 2008 Enterprise, Windows 7 Enterprise, Windows Vista Enterprise

  • KB2642667
フィードバック