その他

【BIOS設定不要】Windows PCの自動起動→プログラム実行→自動終了する方法[No33]

投稿日:2020年7月1日 更新日:

スポンサーリンク

定期的にプログラムを自動実行させるべく調べてみました。すると「自動起動するにはBIOSが対応していないと実現できない」という記事ばかり。私のPCのBIOS画面には「POWER」や「Power On By RTC」、「Power Management」、「Wake On LAN」の言葉を見当たらないので、実現不可能と一度諦めました。しばらくし、私のPCは結構古かったので、新しいPCには付いているのでは?ということで、急遽PCを購入しましたが、残念なことにそのPCでもありませんでした。

今回は何度か諦めながら、古いPCで実現できたのでその方法を紹介します。まずは、実現できたPCのBIOS設定をご覧ください。

画像1:メニュー「Main」
画像2:メニュー「Advanced」
画像3:メニュー「Boot」
画像4:メニュー「Security」
画像5:メニュー「Save&Exit」

スポンサーリンク

実現方法

実現する方法は大きく2つあります。

  1. BIOS設定を用いる方法
  2. タスクスケジューラーを用いる方法

BIOS設定を用いる方法

今回はBIOSの設定での方法は割愛しますが、もし、その設定ができるPCをお探しの場合は次のことを参考頂ければと思います。

・BIOSの設定画面はマザーボードで決まります。PCのマザーボードの確認方法はいくつかありますが、コマンドプロンプトで「systeminfo」と入力し「システム製造元」「システムモデル」で確認できます。

・売り場のPCのBIOS設定を確認する際は、その前に店員さんに相談してからにする。理由はBIOS設定を変更すると保証の対象から外れる場合もあるためです。BIOS画面は「スタートボタンを右クリックし[設定]→[設定画面の左側の[回復]→[PCの起動をカスタマイズする]の[今すぐ再起動]→[トラブルシューティング]→[詳細オプション]→[UEFIファームウェアの設定]→[再起動]で起動することが一番楽に思います。

・直接PCのメーカーに問い合わせするのも手です。メーカーによってはネットに公開しています。

タスクスケジューラーを用いる方法

方法は2つです。

  1. スリープ状態から起動→プログラム実行→スリープの繰り返し
  2. 休止状態から起動→プログラム実行→休止状態の繰り返し

今回は2つ目の方法を紹介します。

1つ目の方法では「上手くいかない場合があること」があり、私のPCはスリープにするとPCからとても小さな音量で、モスキート音のような高い音が数秒間間隔で聞こえてきます。休止状態では聞こえないので2つ目の方法を積極的に利用することにしています。

スポンサーリンク

準備(その1)

  1. HDDパスワードの設定をしている場合は解除しましょう。
  2. スリープを復帰したら自動でサインインするようにする(手順:「設定→サインインオプション→サインインを求める」を「なし」にする。)

準備(その2)

・2-2:自動でログオン画面をユーザー名、パスワードを入力させパスさせる。
(手順:「netplwiz」(windowsキー+r)で「ユーザーアカウント」画面を起動し、「ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要」のチェックボックスがあれば、そこから設定する。なければ「regedit」(windowsキー+r)で「レジストリエディター」画面を起動し、バックアップをエクスポートしてから、次のように設定する。

<キー>
 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
<値>
 AutoAdminLogon(REG_SZ:文字列値) :1(半角数字)
 DefaultUserName(REG_SZ:文字列値):XXX(自動ログオンするユーザー名):ユーザー名はCドライブのユーザーフォルダを確認したほうが良い。
 DefaultPassword(REG_SZ:文字列値):XXX(自動ログオンするユーザーのパスワード)

※「ユーザーがこのコンピューターを使うには、ユーザー名とパスワードの入力が必要」のチェックボックスは、最近(2020年6月現在)のインストーラーでWindowsをインストールした場合、レジストリを変更してもこのチェックボックスは表示されない。
-----

スポンサーリンク

準備(その3)

  1. 電源オプションの変更1
    コントロールパネル→「電源オプション」→「コンピュータがスリープ状態になる時間を変更」→「詳細な電源設定の変更」を押し、表示される「電源オプション」画面の「スリープ」→「スリープ解除タイマーの許可」→「設定」を「有効」にする。もし、今後上手くいかなければ、「既定のプランの復元」を押してから「有効」にする。
  2. 電源オプションの変更2
    コントロールパネルの「ディスプレイの電源を切る時間の指定」「コンピュータがスリープ状態になる時間を変更」では「適用しない」を選択しておく。
  3. 標準は「休止状態」を選択できないようになっているので、選択できるようにする
    コントロールパネルの「電源ボタンの動作を選択する」で「現在利用可能ではない設定を変更します」をクリックし、「シャットダウン設定」のところにある「休止状態」のチェックボックスにチェックし、選択できるようになったことを確認する。

準備(その4)

を参考に休止状態が有効か確認。ONになっていなければONにして以下のようにする。

offの場合は次のようになっている。

スポンサーリンク

準備(その5)

BIOSを起動してBIOSの時間が現在の時間にあっているか確認する。※画像1:メニュー「Main」参照

準備&実行(その6)

任意の場所に次のバッチファイルを作成する。拡張子はbat。ここでは「ダウンロード」フォルダに置くとする。


@echo on

set t=%time: =0%
set hh=%t:~0,2%
set mn=%t:~3,2%
set ss=%t:~6,2%

echo %time%>>%hh%%mn%%ss%.txt

スポンサーリンク

準備&実行(その7)

タスクスケジューラーにタスクを登録します。


タスク名:Hibernate
全般:「ユーザーがログオンしている時のみ実行する」選択
トリガー:試す場合は設定作業が終わる時間から2分以降にしてほうが良いです。
 ※2分以内だと何故かタスクが実行されません。
操作:プログラム/スクリプト:shutdown、開始(オプション)は/h
条件:「タスクを実行するためにスリープを解除する。」選択設定:そのまま


スポンサーリンク

タスク名:StartUp
全般:「ユーザーがログオンしている時のみ実行する」選択
トリガー:試す場合はHibernateの時間から2分以降にしてほうが良いです。
 ※Hibernateの時間から2分以降
操作:プログラム/スクリプト:ダウンロードフォルダのsample.batのパス、開始(オプション)はダウンロードフォルダのパス
条件:「タスクを実行するためにスリープを解除する。」選択設定:そのまま

スポンサーリンク

結果

ダウンロードフォルダに「StartUp」で「実行時間に設定した時間がわかるファイル」ができていれば上手くいっています。

備考

BIOSの更新をすることで、もしかしたら、BIOSの設定からも実現できるかもしれません。

最後までお付き合いいただきありがとうございます!

この情報が誰かの役にたてれば幸いです。

スポンサーリンク

タグ

-その他

© 2021 BookALittle