【PowerShell】AUtoITでスクリーンセーバーの設定を自動化する

会社のパソコンがスクリーンセーバー設定が義務になってまして、わざわざチェックしてる人がいるわけです。暇だなーとは思うわけですが、得てしてそういう人は鬼の首とったように「ルール違反だと」迫ってくるわけですよ。でも、プレゼンとかデモとかスクリーンセーバーが動いちゃ困る場面はあるわけで、そういう時だけスクリーンセーバーを外したい訳だけども、Windows10になっていよいよスクリーンセーバー設定はアクセスしづらい。「一定間隔でshiftキーを押す」スクリプトは見つかったんですが、あまりうまく動いているように見えない。

レジストリ書き換えれば良いのかなと思ったんですが、「反映に再起動」とか訳のわからないこと言うし、作ってみたら「ScreenSaverIsSecure」に1を入れたら今と反対の値になるだけだし、これ本当に運用して情報書いてるのかな?っていうものばかり。しょうがないのでGUI使って設定する方法に切り替えました。

使ったのは前にも記事にしたAutoIT。導入方法はこちらを参照してください。UiAutomationクラスでもできるという情報は入手したんですけど、.netオブジェクトを直接叩くのでこちらの方がまだ便利っぽい。(UiAutomationは残念ながら開発が止まったようです。)

AutoITを使ってWindows操作を自動化する

完成したスクリプトがこちら

  1. AutoITを使って、引数SetTime(分)にスクリーンセーバー起動を設定します。
  2. 引数を変えれば、何分にでも設定可能です。
  3. $env:PSModulePathかスクリプトと同じフォルダにAutoITXフォルダが有ることを前提にしてます。スクリプトはC:¥scriptに保管してます。

あとはPowershell.exeのリンクを作ってリンク先に引数を入力すればOK
5分にする

999分にする

リンクをデスクトップとかにおいておけばだいたいわかってくれると思います。

【PowerShell】AUtoITでスクリーンセーバーの設定を自動化する” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください