引き続き、Outlookの予定表に沿ってPCをロックする仕組みをつくっていきたいとおもいます。
前回は パソコンをロックする仕組みを準備するところまで進めました。
パソコンにログインした際に現在の予定が休憩中であれば、前回準備したVBSファイルを呼び出せばパソコンをロックしてくれます。
ただ、それ以外の予定だった場合はログイン時には何もせず、次の休憩時間でパソコンをロックする仕組みが必要になります。
今回は次の休憩時間にパソコンをロックする仕組みをつくります。
仕組みの概要としては、進行中の予定が休憩ではなかった場合、次の休憩時間を確認し、その時間に実行されるタスクを作成・更新します。
目次:
ひな型となるタスクのxmlファイルを準備する
タスクの登録・更新にはコマンドラインのschtasksコマンドを使います。
ほぼ全てのタスク設定が可能なコマンドですが、個々の設定方法を調べてコードを書くのはなかなか大変です。
タスクはxmlファイルを読み込ませることで作成・更新することもできるので、今回はこちらの方法を採用します。
まずは、タスクスケジューラーでひな形となるタスクを作成し、xmlファイルとして保存しましょう。
新規タスクの作成
タスクマネージャーを呼びます。
- 「Windowsキー + R」でファイル名を指定して実行を呼び出す
- 「control schedtasks」を入力し、「Enter」
![ファイル名を指定して実行「control schedtasks」](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/05/windows_batch-files_network-Adapter-switch_8.png?resize=570%2C337&ssl=1)
![右クリック→ タスク作成](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/05/windows_batch-files_network-Adapter-switch_8.52.png?resize=531%2C420&ssl=1)
タスク作成・全般
![タスクの作成「全般」の設定風景](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/07/life-hack-schedule-lock-out-according-to-outlook-appointments-3_1-2.png?resize=812%2C585&ssl=1)
ここではタスク名を「BreakTimeSchedule」としておきます。
![タスクの作成「トリガー」→ 新規](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/05/windows_batch-files_network-Adapter-switch_10.2.png?resize=812%2C585&ssl=1)
![トリガー編集の設定の風景(変更なし)](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/07/life-hack-schedule-lock-out-according-to-outlook-appointments-3_4.png?resize=840%2C716&ssl=1)
今回の仕組みではVBSから開始時間を変更するため、そのままOKをクリックします。
タスク作成・操作
![タスク作成「操作」→ 新規](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/05/windows_batch-files_network-Adapter-switch_12.2.png?resize=812%2C585&ssl=1)
![新しい操作「wifi-off.bat」を参照する](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/05/windows_batch-files_network-Adapter-switch_13.2.png?resize=680%2C750&ssl=1)
操作では前回準備した「sysLockWorkStation.vbs」を参照します。
カウントダウン表示の処理を有効にしている場合、「引数の追加」欄に秒数を指定することで猶予時間を設定できます。
![操作の編集設定風景](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/07/life-hack-schedule-lock-out-according-to-outlook-appointments-3_2.png?resize=680%2C750&ssl=1)
タスク作成・条件
タスクの作成・条件
![タスクの作成「条件」設定風景](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/05/windows_batch-files_network-Adapter-switch_14.3.png?resize=812%2C585&ssl=1)
電源に関する項目「コンピュータをAC電源で使用している場合のみタスクを開始する」はデフォルトではチェックが入っていますが、このタスクではいらないと考えて外しました。ここは自分の計画に合わせて設定します。
タスク作成・設定
![タスク作成「設定」の設定風景(変更なし)](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/07/life-hack-schedule-lock-out-according-to-outlook-appointments-3_3-1.png?resize=812%2C585&ssl=1)
今回の仕組みでは特に変更する必要はありません。
タスクをxmlファイルとしてエクスポートする
タスク作成を確定後、タスク一覧に戻ります。
![タスクを右クリック→ エクスポート](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/07/life-hack-schedule-lock-out-according-to-outlook-appointments-3_6.png?resize=566%2C333&ssl=1)
名前をつけて保存ダイアログが表示されます。管理しやすい場所に保存しましょう。
![名前をつけてひな形xmlファイルを保存](https://i0.wp.com/c1upp.info/wp-content/uploads/2020/07/life-hack-schedule-lock-out-according-to-outlook-appointments-3_5.png?resize=840%2C527&ssl=1)
ひな形xmlファイルの内容
参考として私が準備しているひな形ファイルを下記に載せておきます。
xmlファイルをタスクスケジューラーに読み込ませる際、記載がない項目は標準の設定が適用されます。標準設定のままの項目を削除しておくとファイルの可読性が上がります。
<?xml version="1.0" encoding="UTF-16"?> <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> <RegistrationInfo> <URI>\BreakTimeSchedule</URI> </RegistrationInfo> <Triggers> <TimeTrigger> <StartBoundary>2020-07-10T6:10:00</StartBoundary> <Enabled>true</Enabled> </TimeTrigger> </Triggers> <Settings> <DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries> <StopIfGoingOnBatteries>false</StopIfGoingOnBatteries> </Settings> <Actions Context="Author"> <Exec> <Command>C:\(保存場所)\sysLockWorkStation.vbs</Command> <Arguments>30</Arguments> </Exec> </Actions> </Task>
このファイルを「BreakTimeSchedule.xml」として保存します。
今回はここまで。次回に続きます。
今回の仕組み必要なステップは下記になります。
この断片があなたの星へ続く道を、少しでも照らすことを願って
「【3】休憩時間にパソコンをロックするタスクのひな形を作る」への1件のフィードバック