Linuxマシンでアプリケーションを実行しています。 WindowsマシンのIPアドレスを入力として指定することにより、アプリケーションはWindowsマシンをシャットダウンする必要があります。マシンが同じOSを実行している場合、それは非常に簡単ですが、クロスOSでそれを行う方法が混乱しています。
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
_を検索します
LocalAccountTokenFilterPolicy
という名前の新しいレジストリDWORD(32)
値を作成し、それに値_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)LinuxマシンからWindowsマシンを実際にシャットダウンするには、次のコマンドを実行します。
_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アドレスです。
問題のユーザー名にパスワードが設定されていない場合、上記の解決策は機能しないことに注意することが重要です(少なくとも私の場合はそうだった)。
Windows 10(およびそれ以下ではチェックしなかった)ユーザーの場合、ファイアウォール設定に移動し、Linuxボックスの「リモートサービス管理」を有効にしてrpc経由で接続できるようにする必要があります。
インフラストラクチャ(Windowsマシンへの認証方法、自分で構成できるかどうかなど)によって異なります。私だった場合は、Windowsボックスに Cygwin を配置し、次にssh
をそれらに実行してshutdown -h
。もちろん、それを行う方法は他にもあります。
オプション1:WindowsにSSHサーバーをインストールします。任意のボックスからこのサーバーにログインし、shutdownコマンドを呼び出します。 Interix(Microsoftのunixライクな環境)を使用します。 telnetサーバーが付属しています-他のマシンからWindowsコマンドを呼び出すことができます。
別のオプション:WindowsにSambaをインストールした場合、Windowsに接続してWindowsコマンドを呼び出すことができます
net rpc SHUTDOWN ...
別のオプション:shutdownコマンドを使用してWindowsマシンにrdesktopを試してください(シャットダウンが含まれているWindowsバッチスクリプトを実行するために使用します。shutodwnを直接呼び出すことができるかどうかはわかりません)