アクティブ時間を自動で書き換えてWindows 10の自動再起動を阻止する

Windows 10でWindows Updateによる自動再起動を
無効化できなくなったことを受け、
再起動阻止策を用意しています、というのが先日の記事。

本当に使う時だけPCを起動する方にとっては
確かにアクティブ時間の設定だけで充分だと思うのですが、
PCを常時起動しておきたい方にとっては
それだと不充分なのですよね。

設定したもののWindows Updateがなかなか来ないため
本当に止められるのかどうかがイマイチわかりませんが、
とりあえず「設定しても無影響だ」と言うには充分だと思うので、
設定方法だけ掲載しておこうと思います。

タスクテンプレートのXMLを配布することも考えましたが、
個人サイトからダウンロードするのって抵抗感ありますし、
XMLコードを掲載するにしても、ファイル保存時の文字コードなど
微妙に気をつけなければならないことがあります。

面倒がない方法を、と考えた末、
コマンドラインを用意いたしました。

管理者権限のコマンドプロンプトを起動して、
以下の3行をコピペすれば、アクティブ時間の
レジストリを書き換えるタスクが3つ作成されます。

(すごく長いので自動改行が入りますが、
 schtasksで始まる行が1行のコマンドラインです)

コマンドライン(1)
schtasks /create /ru System /sc Daily /st 05:00 /tn 自動再起動抑止03-13 /tr \""C:\Windows\System32\cmd.exe\""\""/c reg add HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings /v ActiveHoursStart /t REG_DWORD /d 3 /f ^& reg add HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings /v ActiveHoursEnd /t REG_DWORD /d 13 /f\""

コマンドライン(2)
schtasks /create /ru System /sc Daily /st 13:00 /tn 自動再起動抑止11-21 /tr \""C:\Windows\System32\cmd.exe\""\""/c reg add HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings /v ActiveHoursStart /t REG_DWORD /d 11 /f ^& reg add HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings /v ActiveHoursEnd /t REG_DWORD /d 21 /f\""

コマンドライン(3)
schtasks /create /ru System /sc Daily /st 21:00 /tn 自動再起動抑止19-05 /tr \""C:\Windows\System32\cmd.exe\""\""/c reg add HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings /v ActiveHoursStart /t REG_DWORD /d 19 /f ^& reg add HKLM\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings /v ActiveHoursEnd /t REG_DWORD /d 5 /f\""

削除するときは、タスク スケジューラ(taskschd.msc)から、
上記コマンドラインによって作成されたタスク3点をすべて削除してください。

作成したタスクの動作確認としては、同じくtaskschd.mscにて
「実行する」を選択したのちにアクティブ時間の設定画面に行くと、
書き換えられていることが確認できると思います。

なお、レジストリの値を読み込んで画面に反映するタイミングは
設定メニューの「Windows Update」を選んだ時のようなので、ご注意ください。
レジストリを書き換えて、てきとーに「Windows Defender」とか選んだあとに
「Windows Update」を選ぶと、アクティブ時間の設定画面にも反映されます。

……それにしても、「アクティブ時間」という言葉はやっぱり気になりますね……
「アクティブタイム」なり「使用時間帯」なり、
どちらかの言語に統一してほしいなー、なんて……


終わりや終わり! 終了!!

書いた人: 久世うりう (kuzeuriu) お問い合わせ


コメント

タイトルとURLをコピーしました