タスクスケジューラを PowerShell で管理してみる。<Get 編 其の三>

特定の曜日に実行されるタスクの情報を PowerShell で確認すると、[DaysOfWeek]というプロパティにその曜日が表示されます。

確認のために実行するコマンドレットは ” ((Get-ScheduledTask -TaskName ***).Triggers).DaysOfWeek “ です。

 

コマンドレット全体を括弧記号 ” () “ で括ることにより、そのコマンドレットの実行結果を持つ「オブジェクト」として扱えるようになります。

そして括弧記号の後ろに ” .プロパティ名 “ を続けて記述することで、そのオブジェクトに含まれる各種プロパティの中から、指定したプロパティの情報だけを抜き出して表示できます。

上記コマンドレットは、それを二重で行っているわけです。

まず、タスク名を指定して特定タスクの情報を取得し、その中からプロパティ [Triggers] の情報を取得し、さらにその中からプロパティ [DaysOfWeek] の情報を取得しているわけです。

 

 







 

[DaysOfWeek] は数値で表示されるため、何曜日がどういう数値になるのかを調べてみました。

日曜日・・・・・・・・・  1

月曜日・・・・・・・・・  2

火曜日・・・・・・・・・  4

水曜日・・・・・・・・・  8

木曜日・・・・・・・・・ 16

金曜日・・・・・・・・・ 32

土曜日・・・・・・・・・ 64

 

 

二倍ずつ増えている理由は、複数の曜日に実行される設定を「合計値」で表現するためだと思われます。

下記の通り「日曜日 & 月曜日」は「3」なので、もし火曜日の値が「3」だったら区別できません。

日曜日 & 月曜日・・・・  3 (1+2)

日曜日 & 土曜日・・・・ 65 (1+64)

平日・・・・・・・・・・ 62 (2+4+8+16+32)

全曜日・・・・・・・・・127  (1+2+4+8+16+32+64)

 

 

Get 編は以上です。