茱萸note

電子工作の備忘録と旅行の記録

IoT Raspberry Pi Windows

Raspberry Pi で Windows PC をシャットダウン or スリープモードにする

投稿日:

Windows PC を Raspberry Pi から遠隔操作してシャットダウン or スリープモードにします。


目次


Raspberry Pi から PC を起動 or スリープからの復帰をするには、Wake on LAN を使う方法がよく知られています。ですが、その逆、すなわち、PC をシャットダウン or スリープモードにする方法はあまり紹介されていません。恐らく需要があまりないからでしょう。需要があまりないのを承知の上で、備忘録としてこの記事を残しておきます。

今回は、Windows PC 側に OpenSSH サーバーを立てて、Raspberry Pi から Windows PC に SSH ログインしてシャットダウン or スリープコマンドを発行する方法を用いました。

OpenSSH サーバーを Windows PC で有効にする

以下の記事を参考に Windows に OpenSSH サーバーを導入して、公開鍵認証を使ってログインできるようにしてください。

Raspberry Pi で、秘密鍵と公開鍵のペアを作成する必要がありますが、パスフレーズの入力はEnter を連打してスキップしておくことをおすすめします。LAN内でのSSH接続でしょうし、パスフレーズが設定されてしまうとログインの度に入力が必要となり、コマンドの自動実行が不可能になってしまいます。

Raspberry Pi からシャットダウン or スリープコマンドを発出!

Raspberry Pi で以下のコマンドを実行すると、SSH ログイン先のWindows PC がシャットダウンします。

bash💩ssh XXXXX@192.168.X.X shutdown -s -t 0

また、Raspberry Pi で以下のコマンドを実行すると、SSH ログイン先のWindows PC がスリープモードに突入します。

ssh XXXXX@192.168.X.X PowerShell -Command "Add-Type -Assembly System.Windows.Forms;[System.Windows.Forms.Application]::SetSuspendState('Suspend', \$false, \$false);"

これらのコマンドは、公開鍵認証でのログインが可能かつ鍵のパスフレーズが設定されていないのであれば、パスワード等の入力なしに実行できます。

一応コマンドの解説

SSH 接続は、一般的に以下のコマンドでできます。

ssh ユーザー名@192.168.X.X 接続先で実行するコマンド

接続先で実行するコマンド はオプションです。今回は、シャットダウン or スリープコマンドをここに書いています。

Windows のシャットダウンコマンドは、以下のとおりです。

bat💩shutdown -s -t 0

このコマンドはコマンドプロンプトでも PowerShell でも使えます恐らく。

コマンドプロンプトで使えるスリープコマンドは次のとおりです。

PowerShell -Command "Add-Type -Assembly System.Windows.Forms;[System.Windows.Forms.Application]::SetSuspendState('Suspend', $false, $false);"

このコマンドは、こちらのサイトで紹介されていました。

カンの良い人なら分かると思いますが、これはコマンドプロンプトから PowerShell のコマンドを呼び出しています。PowerShell でスリープモードにするには、以下のコマンドを使います。

Add-Type -Assembly System.Windows.Forms;[System.Windows.Forms.Application]::SetSuspendState('Suspend', $false, $false);

-電子工作
-, ,


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

【祝入学】WSLでC言語のお勉強を始める

WindowsでC言語をお勉強をしたい人におすすめの方法です。

【Ubuntu】NVIDIAドライバ・CUDA・CUDNNをインストールして深層学習環境を整える

Ubuntuで Nvidiaドライバ、CUDA、CUDNN をインストールし深層学習環境を整える方法を説明します。

Raspberry Pi と AWS IoT を連携させて Alexa で LED や スマートプラグを操作する【Alexa×Raspberry Pi その1】

AWS IoT Core と Raspberry Pi を連携させて、Alexa を搭載した Amazon Echo 等を使って Raspberry Pi につないだ LED を制御します。ついでに、Tp-Link のスマートプラグ『Tapo P105』も操作させてみます。

Atmel SAM D21 を使ってみる(1)

秋月で売っているAtmelのARMマイコンATSAMD21G18AをWindows環境で使いたいと思います。

プロキシ設定が必要な学内LANに接続するときに役に立つスクリプト

プロキシ設定が必要な学内 or 社内LANに接続する際のプロキシ設定の切り替えをしやすくするスクリプトを用意します。