実行するとキューに入るWindowsタスクの謎を解け:その知識、ホントに正しい? Windowsにまつわる都市伝説(209)
先日、Windowsに最初から登録されている、あるシステムタスク(タスクスケジューラのタスク)の状態を確認して、準備完了状態になっている場合は即時実行するようなPowerShellスクリプトを作成しました。しかし、このスクリプトを実行しても、タスクは期待通りに「実行中」にはならず、「キューに挿入済み」になってしまうのです。今回は、その原因と対策などを解説します。
イベントビューアやタスクスケジューラはイライラするからコマンドで解消
Windowsの初期バージョンからの機能と下位互換性を維持するため、応答性が損なわれていると筆者が感じるツールに「イベントビューア」(Eventvwr.msc)と「タスクスケジューラ」(taskschd.msc)があります。
「アプリケーション」「セキュリティ」「システム」「Internet Explorer」といった、少数のログへのアクセスを提供していた「Windows XP」のイベントビューアは非常に高速でした。「Windows 10」や「Windows 11」では、ログが完全に表示されるまでに数十秒かかることがあります。タスクスケジューラも開いたときに、「応答なし」になるのをよく目にします。
イベントログを確認する場合は、「WMIC NTEVENT」コマンド、「Get-EventLog」コマンドレット(アプリケーションとサービスログに対応していない、間違った説明を表示することがある、などで非推奨)、「WEVTUTIL」ツール、「Get-WinEvent」コマンドレットなど、コマンドラインから実行する方が高速であり、細かいフィルタリングも可能なので、定形的な作業に利用しています。詳しくは、筆者の過去の連載(本連載を含む)などをまとめた拙著『Windowsトラブル解決 コマンド&テクニック集』(日経BP社、2018年)などいかがでしょう。
タスクスケジューラの代替としては、「Schtasks」コマンドやPowerShellの「ScheduledTasks」モジュールの「Get-ScheduledTask」「Start-ScheduledTask」などのコマンドレットが利用できます。
「Schetasks /Run」や「Start-ScheduledTask」ではすぐに実行されないタスクがある
PowerShellスクリプトの作成が頭にあったので、迷わずにGet-ScheduledTaskコマンドレットでタスクの状態(State)を取得し、その状態に応じて、Start-ScheduledTaskコマンドレットを実行するようにコードを書いてみました。
コマンドラインで確認してから、スクリプトを仕上げていこうと思っていたのですが、Start-ScheduledTaskでタスクの実行を開始しても、期待通りに状態が「実行中(Running)」にならずに、「キューに挿入済み(Queued)」になってしまうタスクが存在することに気が付きました。Start-ScheduledTaskを再実行しても状況は変わりません(画面1)。
タスクスケジューラで問題のタスクを右クリックして「実行する」をクリックすると、すぐに実行中になります。それと同じことがコマンドラインからできないのです。なお、「キューに挿入済み(Queued)」の状態になったタスクは、しばらく放置しておくと、「実行中」になるようです。
タスクの履歴機能を有効化して確認すると、イベントID「325」の「起動要求がキューに入れられました」と、イベントID「110」の「ユーザーにトリガーされるタスク」から先がありません(画面2)。
画面2 Start-ScheduledTaskでタスクを開始しても「キューに挿入済み」状態になってしまうタスクの履歴(イベントID「129」より新しい履歴は右クリックして「実行する」を選択した後のもの)
原因は「条件」オプションにあり!
試しに、「cmd.exe」を開始するだけの単純な基本タスクを作成して、同じように実行してみました。すると、筆者が作成したタスクは、期待通りにすぐに実行されました(画面3)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 11一般提供開始、企業での導入/展開時に注意すべきポイントは?
MicrosoftはWindowsデスクトップOSの最新バージョンである「Windows 11」を正式にリリースし、Windows 11対応ハードウェアを搭載したWindows 10デバイスに対して、無料アップグレードの段階的なロールアウトを開始しました。 - Windows 11登場! 11で変わること、思ったほど変わらないこと
新しいWindows OS「Windows 11」の正式出荷が2021年10月5日に開始された。Windows 10からの無償アップグレードが可能であるため、どのような新機能が実装されたのか気になる人も多いのではないだろうか。そこで、本稿ではWindows 11の新機能、削除された機能などを簡単にまとめてみた。 - 買って、試して分かったWindows 365(契約・セットアップ編)
Microsoftからクラウド上でWindows 10が動く「クラウドPC」の利用可能なサブスクリプションサービス「Windows 365」の提供が開始された。早速、サブスクリプションを契約し、クラウドPCの設定を行ってみた。契約からセットアップまでで見えてきた便利な点、不便な点などをまとめてみた。 - いよいよ完全終了へ。Internet Explorer(IE)サポート終了スケジュール
長らくWindows OSに標準装備されてきたInternet Explorer(IE)。その「寿命」は各種サポートの終了時期に左右される。Windows OSごとにIEのサポート終了時期を分かりやすく図示しつつ、見えてきた「終わり」について解説する。