web-dev-qa-db-ja.com

LinuxターミナルからWindowsマシンをシャットダウンします

Linuxマシンでアプリケーションを実行しています。 WindowsマシンのIPアドレスを入力として指定することにより、アプリケーションはWindowsマシンをシャットダウンする必要があります。マシンが同じOSを実行している場合、それは非常に簡単ですが、クロスOSでそれを行う方法が混乱しています。

10
ganesshkumar

LinuxからWindowsシステムをシャットダウンするコマンド-:

$ net rpc -S <ip address> -U <username>%<password> shutdown -t 1 -f

このコマンドは、bashから発行することも、cronジョブに設定して、特定の時間にコンピューターをシャットダウンすることもできます。このコマンドは、デフォルトで多くのディストリビューションに付属しています。

15
ganesshkumar

リモートシャットダウンを可能にするために、特に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アドレスです。

13
nouknouk

問題のユーザー名にパスワードが設定されていない場合、上記の解決策は機能しないことに注意することが重要です(少なくとも私の場合はそうだった)。

Windows 10(およびそれ以下ではチェックしなかった)ユーザーの場合、ファイアウォール設定に移動し、Linuxボックスの「リモートサービス管理」を有効にしてrpc経由で接続できるようにする必要があります。

1
PCatinean

インフラストラクチャ(Windowsマシンへの認証方法、自分で構成できるかどうかなど)によって異なります。私だった場合は、Windowsボックスに Cygwin を配置し、次にsshをそれらに実行してshutdown -h。もちろん、それを行う方法は他にもあります。

Windowsに組み込まれている shutdown コマンドを実行できるように、Windowsボックスでシェルを起動する方法が必要です。

これには Cygwin をインストールしてから、WindowsにSSHデーモンをインストールできます。それが実行されると、Linuxボックスは別のLinuxマシンであるかのようにWindowsボックスでコマンドを実行できます。

WindowsでCygwinのsshdを設定するためのいくつかの手順があります

1
ghoti

オプション1:WindowsにSSHサーバーをインストールします。任意のボックスからこのサーバーにログインし、shutdownコマンドを呼び出します。 Interix(Microsoftのunixライクな環境)を使用します。 telnetサーバーが付属しています-他のマシンからWindowsコマンドを呼び出すことができます。

別のオプション:WindowsにSambaをインストールした場合、Windowsに接続してWindowsコマンドを呼び出すことができます

 net rpc SHUTDOWN ...

http://www.linuxforums.org/forum/red-hat-Fedora-linux/60324-remote-shutdown-windows-linux-box.html#post573872 から)

別のオプション:shutdownコマンドを使用してWindowsマシンにrdesktopを試してください(シャットダウンが含まれているWindowsバッチスクリプトを実行するために使用します。shutodwnを直接呼び出すことができるかどうかはわかりません)

0
Jayan