Windowsを再起動した後スリープにするPowershellスクリプト

Microsoft Windows コンピュータ
Microsoft Windows

私はパソコンの電源を落とさずスリープで運用していますが、たまにシステムをリセットする為、再起動することがあります。
そのような目的の再起動は1日のパソコン作業を終了時に行うことが多く再起動後にはすぐスリープにする事になります。

スリープを実行する為にパソコンの起動を待つのも時間がもったいないのでスクリプトを書いてみました。

スクリプト

<#
.SYNOPSIS
再起動後スリープ

#>

Set-StrictMode -Version Latest
$ErrorActionPreference = "STOP"

$reg_path = "HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce"
$ps_path = (Join-Path $PSHOME "powershell.exe")
$script_path = (Join-Path ([Environment]::GetFolderPath("MyDocument")) "WindowsPowerShell\suspend.ps1")
$option = " -suspend"
$key = "Restart-And-RunOnce"

Set-ItemProperty -path $reg_path -name $key -value "${ps_path} ${script_path} ${option}"

# 再起動
Restart-Computer -Force

注意事項

レジストリを書き変えますので管理権限が必要だと思われます。
スリープを実行するスクリプトの$script_pathは実行環境のパスに合わせてください。
スリープを実行するスクリプトの内容は以下の記事に有ります。
Windows10をスリープ(サスペンド)するスクリプト
シャットダウンのショートカットを作ってスリープ(サスペンド)が無いのは片手落ちかなと思い作成してみました。シャットダウンはshutdown.exeへのショートカットで済みましたが、スリープの場合そういったコマンドが無くwin32apiを実行...

コメント