WindowsをにはRPCというリモート管理の仕組みがあります。
RPCとは、たぶんリモートなんとかの略だと思う。
RPCを使って、Windwsを外部(Linux)から起動したりシャットダウンする方法。
Windowsファイアーウオールの設定(制御される側)
Windowsファイアウォールがrpcをブロックしているので外す。
Windowsファイアウォールの詳細設定を開く
(設定→ネットワーク→Windowsファイアウォール→詳細設定)
RPC(リモートシャットダウン、制御)
137と445を開ける。許可する相手先を右クリックして有効化
ping応答
pingもファイアウォールでブロックされている。
リモートで動いてるかどうか判別するときにping応答がないと不便なのでついでに通るようにしておく。
エコー要求、ICMPv4受信を有効
レジストリの設定
HKLM\SOFTWARE\Microsoft\Windows\ CurrentVersion\Policies\Systemに
LocalAccountTokenFilterPolicyを作成(32bit値)で値を1にする。
これがないとRPCが動かない。
いつものようにgpe(グループポリシーエディタ)で設定したいところだが、レジストリを直接いじるしか方法はないようだ。
Linuxからコマンドで制御する
インストール
sudo apt-get install wakeonlan
sudo apt-get install samba-common
sudo apt-get install samba-common-bin
sudo apt-get install winbind
起動
wakeonlan 11:22:33:44:55:66
シャットダウン
net rpc shutdown -I ターゲットIPアドレス -U "アカウント%パスワード" -C "Shutdown"