1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WindowsPCの自動起動

Last updated at Posted at 2025-05-14

やりたいこと

【営業時間外はPCの電源を切りたい】

  • 毎朝8時にPC自動起動
  • 自作Pythonプログラム自動起動
  • 毎日23時に電源オフ

課題

【自動シャットダウンはできるが、自動起動ができない】

  • 自動シャットダウンはタスクスケジューラやPythonプログラムから実行できる。
  • しかし、シャットダウンしてしまうと、翌朝の起動ができない。
  • BIOSにタイマー起動(Wake On LAN)のないPCの場合、どうしようもないのかとあきらめかけた。

解決策

【Windowsの休止を活用する】

◆発見 休止状態でもタスクスケジューラは動作する◆

  • タスクスケジューラで休止から復帰し、その後、タスクスケジューラで再起動させる。
  • こうすれば、毎日自動シャットダウン・自動起動を繰り返すことと同等のことが可能。

具体的な方法

  • 休止状態に入る、次のようなバッチファイルを作成
sleep.bat
@echo off
cd C:\tool\PSTools\
psshutdown.exe -d -t 10

echo "10s後にスリープします"
psshutdown.exeについて

こちらから導入しました。
https://learn.microsoft.com/ja-jp/sysinternals/downloads/psshutdown
こちらのようなコマンドでは、復帰できませんでした。

C:\>shutdown -s -t 0
  • sleep.batを実行すると、「このアプリが PC に変更を加えることを許可しますか?」というユーザーアカウント制御のポップアップが表示されれるため、自動的には実行できない。そのため、タスクスケジューラの機能を利用する。

  • タスクスケジューラにsleep.batを「スリープ実行」という名前で登録
    スリープ実行-タスクスケジューラ.jpg
    「最上位の特権で実行する」にチェックを入れる

  • 以下のバッチファイルを作成(バッチファイルから登録したタスクを実行させる)

sleep_task.bat
@echo off
schtasks /run /tn スリープ実行
  • sleep_task.batを実行すると、ユーザーアカウント制御のポップアップを回避できる。

  • sleep_task.batを自作Pythonプログラム内から、毎日23:00に実行させるようにした。

タスクスケジューラで休止状態から復帰させる方法

  • タスクスケジューラに「毎日8:00に実行する」というトリガーで再起動コマンドを登録し、「タスクを実行するためにスリープを解除する」にチェックを入れる。
shutdown -r -t 0

スリープ解除のタスク.jpg

  • スリープ解除タイマーの許可をする。

コントロール パネル→すべてのコントロール パネル項目→電源オプション→プラン設定の編集で「詳細な電源設定の変更」をクリックして開くダイアログ画面で、「スリープ→スリープ解除タイマの許可」で「バッテリ駆動」「電源に接続」ともに「有効」に変更します。

プラン設定の変更.jpg
スリープタイマーの許可.jpg

  • これにより、毎朝8:00に休止状態から自動復帰、そのまま再起動するようになる。

自作Pythonプログラムをタスクスケジューラまたはスタートアップ機能を使って、PC起動時に自動実行させる。

以上の設定で完成

  • 毎朝8時にPC自動起動
  • 自作Pythonプログラム自動起動
  • 毎日23時に電源オフ
    が実現できた。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?