2012 年 7 月の履歴(もしくは日誌)


2012 年 7 月

7 月 13 日

Mac からリモートで Windows の電源を落とす

職場では Mac Pro を主に使っていて時々 Windows も利用します.Windows PC 側はモニタやキーボードとかを使ってなくて Mac 側から Remote Desktop Connection Client for Mac (RDP) を利用してリモートで使っています.コピーする時も Mac のキーボードでコマンド+Cってやれば,Windows 側で Cntrol + C に変換してくれているのかちゃんとコピーできます.Mac と PC 間のコピー&ペーストも簡単.机の上にキーボードを二つ並べるとかキーボードを物理的に切り替えるとかよりも RDP の方が快適です.

ところでいちいち Windows 側の電源を切るのが面倒.必ず PC の電源も入れるけど,結局 PC は一度も使わないって事もあるので Windows を操作しないで電源切れたら便利です.そこで Mac 側からコマンド一発で Windows の電源を落とせるようにしました.まずは Windows 側に freeSSHd をインストールして SSH 秘密鍵公開鍵認証でログインできるようにしました. Mac 側から次のコマンドを打てば Windows の電源を切る事ができます.

/usr/bin/ssh -i /Users/username/.ssh/id_rsa Administrator@hostname "C:\WINDOWS\system32\shutdown.exe /s /f"

さらにコマンドこれをシェルスクリプトにして Mac OS X の LogoutHook に登録すれば Mac からログアウトしたら PC の電源が自動で切れます.LogoutHook に登録されたシェスルクリプトはログインユーザの権限で実行されるのではなくて root で実行されるってのが注意点.コマンドはフルパスで指定した方が良いし SSH の秘密鍵も明示的に指定するのが必要.LogoutHook にシェルスクリプトを登録するには,次のようにコマンドを打ちます.

sudo defaults write com.apple.loginwindow LogoutHook /path/to/shutdown.sh

これで Mac からログアウトすると PC 側の電源が自動で落ちるようになります.

ここでは freeSSHd の説明はしません.

もっと簡単な方法があったら教えてください.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20120713n1 TrackBack