PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : System herunterfahren mittels Batch-Files


][immy
2016-04-26, 16:42:55
Ich bin häufig auf virtuellen Systemen unterwegs und muss diese auch ab und zu mal neu starten. Da ich zumeist über die Remote-Konsole auf den VMs bin erspare ich mir normalerweise den weg über die VM Verwaltung zu gehen um einen VM neu zu zu starten oder diese herunter zu fahren.
Daher hab ich mir auf den Desktop eine Bat-Datei gelegt mit der ich das System runterfahren kann (bzw. neu starten).
Allerdings machen mir die Server Systeme hier einen Strich durch die Rechnung. Wenn ich die Batch-Datei aufrufe (als Administrator gestartet) sehe ich in der Kommandozeile nur wie der Befehle ständig wiederholt in der Konsole runter läuft ohne das er jemals ausgeführt wird.
Wenn ich die gleiche Batch-Datei auf meinem System (hab es auch per Remote ausprobiert) ausführe, wird der Befehl ordentlich ausgeführt und das System fährt herunter.
Kopiere ich den Befehl aus der Batch-Datei und führe ihn manuell in der Kommandozeile aus, wird er ebenfalls sofort ausgeführt.
Der größte Unterschied zwischen den Systemen ist, das es sich bei den VMs um Windows Server 2012 R2 handelt und bei dem Lokalen System um Windows 10.

Leider ist besonders bei der R2 Variante die Möglichkeit weggefallen, den Neustart direkt über den Start-Knopf auszuführen (auch bei windows 10) wenn man per Remote auf der VM ist (bei 2008R2 und 2012 & windows 8/8.1 ging das noch).

Befehl:
shutdown -s -t 0

Weiß jemand wie man dieses kleine aber nervige Problem beseitigt?

Alternativ, wie man die Shutdown-Möglichkeiten wieder in das Start-Menü rein bringt, wenn man per Remote drauf ist.


PS:
ich weiß, man startet die VM nicht ständig neu, aber es ist einfach nervig :) und wüsste gerne mal woran es liegt, das der Befehl in der Kommandozeile ständig wiederholt wird (selbst wenn man die Batch-Datei als Administrator startet).

kruemelmonster
2016-04-26, 23:08:17
Der Server 2012 R2 braucht fürs remote runterfahren die Pfadangabe zur shutdown.exe in der Batchdatei, also bspw%windir%\system32\shutdown -s -t 0

Milchkanne
2016-04-27, 08:26:42
hast du deine batch datei vielleicht shutdown.bat genannt? Dann ruft sich die datei natürlich einfach selber wieder auf. Oder den vollen Pfad der shutdown.exe(?) nutzen, wie kruemelmonster schrieb.

kruemelmonster
2016-04-27, 13:56:51
:up:

Manchmal sieht man den Wald vor lauter Bäumen nicht, auch meine Batch hieß shutdown.cmd. :redface:
Die Pfadangabe ist bei einem anderen Namen dann unnötig.

][immy
2016-04-28, 16:24:22
hast du deine batch datei vielleicht shutdown.bat genannt? Dann ruft sich die datei natürlich einfach selber wieder auf. Oder den vollen Pfad der shutdown.exe(?) nutzen, wie kruemelmonster schrieb.
oh :freak:

frag mich nur warum es funktioniert hat wenn ich es auf meinen lokalen rechner kopiert habe

manchmal ist die Lösung wohl auch ganz einfach

edit:
ah, vielleicht weil das UAC aktiv ist (auf meinem lokalen System) und die Datei daher nicht von "meinem" Desktop aus starte sondern von dem "Admin-User" Desktop

xiao didi *
2016-04-28, 17:47:28
[immy;11013856']Alternativ, wie man die Shutdown-Möglichkeiten wieder in das Start-Menü rein bringt, wenn man per Remote drauf ist.
Weitere Möglichkeiten, eine Windows-Maschine Remote neuzustarten:

1. In einer RDP-Sitzung Alt+F4 hämmern.

(Bei Powershell als Default Console)
2."Win+x" --> "a" --> "Restart-Computer"

(Von beliegigem Windows-Host aus)
3. Powershell: Restart-Computer "Computername" -force

Eine Verknüpfung auf dem Desktop, die potenziell großen Schaden anrichten kann, aber einem nur sehr wenig Arbeit abnimmt, halte ich nicht für klug.

kruemelmonster
2016-04-28, 18:35:01
[immy;11015842']ah, vielleicht weil das UAC aktiv ist (auf meinem lokalen System) und die Datei daher nicht von "meinem" Desktop aus starte sondern von dem "Admin-User" Desktop

Korrekt, das Startverzeichnis einer cmd als admin ist %windir%\system32 statt der aktuelle Ordner, daher ist dann auch keine Pfadangabe nötig.

Cherry79
2016-04-29, 08:07:19
Ich halte ein Batch-Script (inbesondere auf potentiell wichtigen produktiven Servern) auch für etwas heikel.

Aber ich verstehe das Problem prinzipiell nicht.
Wenn ich mich per VMWare-Konsole (über den VSphere Client) auf eine Maschine verbinde, ist das doch genauso, als würde man vor einen physischen PC sitzen, inkl. vorhandener Startup- und Shutdown-Möglichkeiten. So ist es zumindest bei unserem Setup in der Firma.
Das einzige, wo mir ein Shutdown/Reboot fehlt, ist bei RDP. Und auch da nur bei "Desktop"-OS (XP/7/8/10), hier gibts nur "Trennen" oder "Abmelden" im Menü.
Die Server (von 2000 -> 2012R2) haben auch bei RDP immer die Shutdown/Restart-Option ganz normal übers Startmenü.
Die Lösung für den fehlenden Shutdown/Restart bei Desktop-Windows heißt "ALT-F4" auf dem Desktop, die funktioniert bei Bedarf auch genauso auf einem Server.

Sollte das beim Threadersteller nicht so sein, dann sind irgendwo die Maschinen verkonfiguriert, wäre aus meiner Sicht eher spannend zu wissen, wer das was wo und warum geändert hat.

][immy
2016-04-29, 12:43:06
Ich halte ein Batch-Script (inbesondere auf potentiell wichtigen produktiven Servern) auch für etwas heikel.

Aber ich verstehe das Problem prinzipiell nicht.
Wenn ich mich per VMWare-Konsole (über den VSphere Client) auf eine Maschine verbinde, ist das doch genauso, als würde man vor einen physischen PC sitzen, inkl. vorhandener Startup- und Shutdown-Möglichkeiten. So ist es zumindest bei unserem Setup in der Firma.
Das einzige, wo mir ein Shutdown/Reboot fehlt, ist bei RDP. Und auch da nur bei "Desktop"-OS (XP/7/8/10), hier gibts nur "Trennen" oder "Abmelden" im Menü.
Die Server (von 2000 -> 2012R2) haben auch bei RDP immer die Shutdown/Restart-Option ganz normal übers Startmenü.
Die Lösung für den fehlenden Shutdown/Restart bei Desktop-Windows heißt "ALT-F4" auf dem Desktop, die funktioniert bei Bedarf auch genauso auf einem Server.

Sollte das beim Threadersteller nicht so sein, dann sind irgendwo die Maschinen verkonfiguriert, wäre aus meiner Sicht eher spannend zu wissen, wer das was wo und warum geändert hat.
vsphere ist in der Handhabung ziemlicher Müll (langsam und träge). Die Verzögerungen darin sind nicht auszuhalten. Da ist eine Remote-Desktop-Verbindung um einiges besser.
Es ist auch kein Produktiver server, sondern ich entwickel auf dem System, das nur unter meiner Kontrolle steht. Ein Sicherheitsproblem mit einem Batch-Datei auf dem Desktop sehe ich daher nicht. Wenn es jemand schafft auf den Desktop zu kommen kann er auch einen shutdown-befehl von sich aus eingeben. Der Desktop ist zumindest noch ein Ort auf den nicht jeder Benutzer zugrifen kann (wenn er nicht admin ist) da dieser vor zugriffen geschützt ist.
aber egal.

Und nein, Server 2012R2 hat bei mir (auf einem aktuellen Stand) keine Möglichkeit mehr diesen über eine RDP-Session im Start menü herunter zu fahren (leider). Meine 2008/R2 Server (ich meine auch die 2012er) haben das noch.

danke noch mal für den Hinweis mit Alt + F4, wusste noch gar nicht das das den Shutdown dialog öffnet

Rooter
2016-04-30, 12:56:10
hast du deine batch datei vielleicht shutdown.bat genannt? Dann ruft sich die datei natürlich einfach selber wieder auf. Oder den vollen Pfad der shutdown.exe(?) nutzen, wie kruemelmonster schrieb.
Das ist ein geiler Fehler, den muss ich mir merken... ;D

MfG
Rooter