it-swarm.com.de

Fahren Sie den Windows-Rechner vom Linux-Terminal herunter

Ich führe eine Anwendung unter Linux aus. Durch Eingabe der IP-Adresse eines Windows-Computers muss die Anwendung den Windows-Computer herunterfahren. Wenn auf den Computern dasselbe Betriebssystem ausgeführt wird, ist dies sehr einfach, ich bin jedoch verwirrt, wie dies unter einem anderen Betriebssystem erfolgen soll.

10
ganesshkumar

Befehl zum Herunterfahren des Windows-Systems unter Linux -:

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

Dieser Befehl kann von Bash oder sogar im Cron-Job zum Herunterfahren des Computers zu einem bestimmten Zeitpunkt ausgegeben werden. Dieser Befehl wird standardmäßig mit vielen Distributionen ausgeliefert.

15
ganesshkumar

Insbesondere für Windows Vista, Windows 7 und weitere Windows-Versionen müssen möglicherweise weitere Einstellungen vorgenommen werden, um das Herunterfahren per Fernzugriff zu ermöglichen:

Teil A) Auf dem Windows-Computer:

1) Fügen Sie eine Sicherheitsrichtlinie zum Fernabschalten hinzu:

  • secpol.msc ausführen

  • Öffnen Sie in der Programmstruktur Security Settings> Local Policies> User rights Assignment

  • Finde den Eintrag Force shutdown from a remote system

  • Bearbeiten Sie den Eintrag und fügen Sie das Windows-Benutzerkonto hinzu, das zum Herunterfahren verwendet wird (z. B .: nouknouk).

2) Fügen Sie Registrierungsschlüssel hinzu, um UAC-Remote-Einschränkungen zu deaktivieren:

  • Führen Sie regedit.exe als Administrator aus

  • HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/Policies/System suchen

  • Erstellen Sie einen neuen Registrierungswert DWORD(32) mit dem Namen LocalAccountTokenFilterPolicy, und weisen Sie ihm den Wert 1 zu.

3) Starten Sie den Remoteregistrierungsdienst:

  • cmd.exeals Administrator öffnen

  • Führen Sie die beiden folgenden Befehle aus:

    sc config RemoteRegistry start= auto

    sc start RemoteRegistry

Teil B) Auf dem Linux-Rechner:

1) installiere das Paket samba-common:

Es hängt von Ihrer Linux-Distribution ab, aber für Debian und abgeleitete (Ubuntu, Linux Mint, ...) kann der Befehl apt-get folgendermaßen ausgeführt werden:

apt-get install samba-common

2) Führen Sie den folgenden Befehl aus, um Ihren Windows-Computer unter Linux tatsächlich herunterzufahren:

net rpc shutdown -f -t 0 -C 'message' -U userName%password -I xxx.yyy.zzz.ttt

Woher:

  • -f bedeutet, dass das Herunterfahren aller Anwendungen erzwungen wird (möglicherweise obligatorisch)

  • -t 0 ist die Verzögerung davor (0 bedeutet "gerade jetzt").

  • -U user%password ist der lokale Benutzer und sein Kennwort auf dem Windows-Computer (derjenige, der das Remote-Herunterfahren in Teil A durchführen durfte).

  • -I ist die IP-Adresse des Windows-Computers, der heruntergefahren werden soll.

12
nouknouk

Es ist wichtig zu beachten, dass die obige Lösung nicht funktioniert, wenn für den fraglichen Benutzernamen kein Kennwort festgelegt wurde (zumindest war dies in meinem Fall so).

Für Windows 10-Benutzer (und Benutzer, die dies möglicherweise nicht überprüft haben) muss man zu den Firewall-Einstellungen gehen und "Remote Service Management" aktivieren, damit die Linux-Box eine Verbindung über RPC herstellen kann.

1
PCatinean

Es hängt von Ihrer Infrastruktur ab - wie Sie sich bei den Windows-Computern authentifizieren, ob Sie sie selbst konfigurieren können usw. Wenn ich es wäre, würde ich Cygwin auf die Windows-Boxen setzen, dann ssh zu ihnen und shutdown -h ausführen. . Natürlich gibt es auch andere Möglichkeiten.

Sie benötigen eine Möglichkeit, eine Shell auf der Windows-Box zu starten, damit Sie den in Windows integrierten Befehl shutdown ausführen können.

Sie können dazu Cygwin installieren und dann einen SSH-Dämon in Windows installieren. Sobald dies ausgeführt wird, kann Ihre Linux-Box Befehle auf der Windows-Box ausführen, als wäre es eine andere Linux-Maschine.

Hier sind einige Anweisungen zum Einrichten von Cygwin sshd in Windows .

1
ghoti

Option 1: Installieren Sie den SSH-Server unter Windows. Melden Sie sich von einer beliebigen Box aus bei diesem Server an und rufen Sie den Befehl shutdown auf. Wir verwenden Interix (Microsoft Unix-ähnliche Umgebung). Es wird mit einem Telnet-Server geliefert, mit dem Windows-Befehle von anderen Computern aus aufgerufen werden können.

Eine weitere Option: Wenn Sie Samba unter Windows installiert haben, kann es eine Verbindung zu Windows herstellen und Windows-Befehle aufrufen

 net rpc SHUTDOWN ...

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

Eine andere Option: versuchen Sie, rdesktop mit dem Befehl shutdown auf dem Windows-Computer auszuführen (ich verwende es zum Ausführen eines Windows-Batch-Skripts, in dem shutdown ausgeführt wird, nicht sicher, ob Sie shutodwn direkt aufrufen können).

0
Jayan