Linux から Windows システムをシャットダウンするコマンド -:
$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f
このコマンドは、bash から発行することも、cron ジョブで設定して特定の時間にコンピューターをシャットダウンすることもできます。このコマンドは、デフォルトで多くのディストリビューションに付属しています。
特に Windows Vista、Windows 7、およびそれ以降の Windows バージョンでは、リモート シャットダウンを可能にするために、さらにセットアップを行う必要がある場合があります。
パート A) Windows マシンの場合:
1) リモート シャットダウン セキュリティ ポリシーを追加します。
-
secpol.msc
を実行 -
プログラム ツリーで
Security Settings
を開きます>Local Policies
>User rights Assignment
-
エントリ
Force shutdown from a remote system
を見つけます -
エントリを編集し、シャットダウンに使用する Windows ユーザー アカウントを追加します (例:nouknouk)
2) レジストリ キーを追加して、UAC リモート制限を無効にします:
-
regedit.exe
を実行 管理者として -
HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System
を探す -
新しいレジストリ
DWORD(32)
を作成しますLocalAccountTokenFilterPolicy
という名前の値 次に、値1
を割り当てます
3) リモートレジストリサービスを開始:
-
cmd.exe
を開く 管理者として -
次の 2 つのコマンドを実行します。
sc config RemoteRegistry start= auto
sc start RemoteRegistry
パート B) Linux マシンの場合:
1) パッケージ samba-common
をインストールします :
Linux ディストリビューションによって異なりますが、Debian およびその派生 (Ubuntu、Linux Mint など) の場合、apt-get コマンドは次のように実行できます。
apt-get install samba-common
2) 実際に Windows マシンを Linux マシンからシャットダウンするには、次のコマンドを実行します:
net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt
場所:
-
-f
すべてのアプリケーションを強制的にシャットダウンすることを意味します (必須の場合があります) -
-t 0
はそれを実行するまでの遅延です (0 は「今すぐ」を意味します)。 -
-U user%password
は、Windows マシン上のローカル ユーザーとそのパスワードです (パート A でリモート シャットダウンを許可されたユーザー)。 -
-I
シャットダウンする Windows マシンの IP アドレスです。