おはようございます。こんにちは。こんばんは。
ミッドです。
テレワークで作業の効率化を妨げるかもしれないスクリーンセーバの回避方法です。
前編では、スクリーンセーバとは?という概要と物理的に回避する方法に触れていますので、参考にしてください。
本日はレジストリ操作および簡易PGでの回避方法をご紹介します。
イッツ・ア・オールフィクション!スクリーンセーバをなかったことにした!
スクリーンセーバ回避②(レジストリ操作、やや中級者向け)
用意するもの:レジストリを弄る勇気
メリット:パソコン上の設定変更のみで完結
デメリット:権限がないと設定不可、再起動などで設定が戻る、管理者にバレる可能性
会社ではドメインコントローラーなどで、一括でパソコンの設定を縛っていて、スクリーンセーバの設定画面すら表示させない等を行っている場合があります。
そのため、ポリシーで設定されたレジストリ値を弄ることで、スクリーンセーバが設定されていない状態にすることが可能です。
レジストリを操作するので、自己責任でお願いします。変な場所を弄るとパソコンがおかしなことになりますので、ご注意を。あと変更するには管理者権限が必要になるかもです。
①Windowsマークのスタートを右クリックし、ファイル名を指定して実行を選択します。
②ファイル名を指定して実行のウインドウが起動するので、名前部分に「regedit」と入力し、OKを選択します。
③レジストリエディターが起動するので、下記のパスを探します。
<パス>
1.HKEY_CURRENT_USER\Control Panel\Desktop
2.HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop
1は端末内で縛られている場合、2はドメインコントローラーで縛られている場合のパスです。両方確認しておきましょう。上記パスに下記のパスがあるかと思います。
<キー>
ScreenSaveActive
ScreenSaverissecure
これらをダブルクリックして、値を「1」から「0」に変更します。
すると、あーら不思議、スクリーンセーバが効かなくなります。
注意点としては、デメリットで上げている通り、再起動でポリシーが再読み込みされて元に戻ることや、管理者側がレジストリの値を確認している場合にスクリーンセーバを外していることがバレる可能性があります。
業務終了時は、きちんと設定値を戻しておきましょう。
スクリーンセーバ回避③(簡易PG作成、中級者向け)
用意するもの:メモ帳などのテキストエディタ(通常Windowsにプリインストール済)
メリット:パソコン環境を変更しない(PowerShellは変更必要)
デメリット:環境によって利用可否がある(PowerShellは禁止されていることが多い)
VBS形式(.vbs)では、下記の記事が参考になります。というか、私はこのVBSを丸々コピペして利用させてもらってます。
デメリットは、開始・終了が同VBSファイルの実行になるので、今稼働しているのか、止まっているかが一目でわかりにくいことです。私は停止するのを忘れて稼働したままになっていることが多いです(笑)
PowerShellでも同じようなことができそうだったので、自分で作ってみました。
スクリーンセーバが5分で掛かることを想定して、F13キーを押下→290秒待機→F13キー押下のループを、9時間勤務(休憩1時間)想定で108回ループさせています。(1時間に12回、12×9で108回。煩悩の数と一緒ですね!)
add-type -AssemblyName System.Windows.Forms
for ($i = 0; $i -lt 108;$i++)
{
[System.Windows.Forms.Sendkeys]::SendWait(“%{F13}”)
Start-Sleep -s 290
}
exit
上記をコピペして、テキストエディタに貼り付け、名前を付けて保存で「任意名.ps1」として保存してください。
回数を増やしたい場合は、「108」の部分を増やしてください。待機時間を短くor長くするなら、「Start-Sleep」の「290(秒)」を適当に変更ください。
実行が「任意名.ps1」を右クリックして、「PowerShellで実行」を選択すればOKです。下記のようにPowerShellのウインドウが起動しますので、最小化でもしておいてください。
止めるときは、右上の「×」で閉じます。
ただしPowershellの場合、初回に実行ポリシーを変更しておく必要があります。(普段解除してるので、すっかり忘れてました)
そういった意味で言うと、VBS側の方が初回の制約がなく、使いやすい気がします。
PowerShellの実行制限を解除する場合は、下記を参考にしてください。
1.管理者権限でPowerShellを実行
2.「Get-ExecutionPolicy」と入力してEnter
3.現在のポリシーが表示されます。(Restrictedはすべて制限)
4.「Set-ExecutionPolicy RemoteSigned」と入力してEnter
※「RemoteSigned」は5段階ある制限レベルの一つです。署名のあるものしか許可しない場合は「AllSigned」の方がセキュリティが高いです。自作PGはほぼ署名なしですけど。
5.変更しますか?には「Y」と入力してEnter
6.設定確認のため、「Get-ExecutionPolicy」と入力してEnterし、結果が設定したポリシーになっていることを確認
PowerShellは初回設定があるなど、若干ハードルが高いですが、例えば待機時間を特定時間内のランダム秒にする(100秒~290秒の間でランダム秒)とか、Forから始まるループ文内でウインドウ表示させるなど、カスタマイズもできます。
VBSもPowerShellも存在しないF13キーを操作することで、スクリーンセーバの支配から逃れています。F13キー使う仕組みを見たことがないですが、F13になにかしらのキーが配置されていると、おかしなことになりますので、利用する際は自己責任でお願いします。
スクリーンセーバを回避することで、別作業(洗濯、お皿洗いなど)していたとしても、すぐに仕事に戻れるので、生産性は高くなるんじゃないかなと思います。
あくまで、仕事の効率をあげるための回避術ですので悪用厳禁です。
尚、会社にパソコンの操作ログを取得されている場合は、あとで作業していないとバレバレになるので、周囲にきちんと仕事していると思わせるコミュニケーション能力と、成果物的な目に見える成果は必要になるかなと思います。
8時間掛かる作業を7時間で終わらせて、1時間はまったりタイムは個人的にはOKだと思ってます。(仕事してるんで!)
ではでは