Batch unter Windows 7 für Shutdown und Wake

tobi25778

Lieutenant
Dabei seit
Dez. 2007
Beiträge
885
Hallo CB´ler,

folgendes Szenario.

Ich habe 3 Rechner, die ich über die Fritzbox Oberfläche per WOL starten kann.
Grundsätzlich funktioniert es also.

Per CMD und Shutdown Befehl, kann ich die PC´s auch runterfahren.

Wie kann ich nun die Rechner per Batch Datei sowohl runterfahren, als auch starten?
Ich nutze auf allen 3 Rechnern Windows 7 Ultimate 64 BIT

Ich möchte, wenn möglich, keine Zusatzprogramme einsetzen.

Wer kann mir jeweils den Code für Shutdown und Wake geben?
 

FrittenFett

Captain
Dabei seit
Juli 2009
Beiträge
3.772
Müsst, wenn ich mich recht erinnere, so sein:
Code:
cd..
cd..
cd..
shutdown -s -t 30 -c "Herunterfahren"
Die Zahl hinter -t bedeutet den Shutdown-Countdown in Sekunden
 
Zuletzt bearbeitet:

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
S

surviver

Gast
Also Remote shutdown erfordert Benutzername und PW ich denke dies wirst du haben.
WOL ohne extra tools also nur per batch ist so nicht möglich.
Wenn aber immer eine Internetverbindung vorhanden ist, kann man dazu einen WOL-server nutzen.
IP, BEnutzername etc ist in folgendem Code anzupassen!


@ECHO OFF

CHOICE /C SW /M "S= Shutdown W= Wake" > NUL
IF ERRORLEVEL 2 GOTO WAKE

WMIC /NODE:Locale.IP.Adresse /USER:MeinBenutzername /PASSWORD:MeinPasswort OS WHERE PRIMARY=1 CALL SHUTDOWN > NUL
EXIT

:WAKE
START /MIN /HIGH mshta http://wakeonlan.me/?ip=Meine.IP.oder.Domain:MeinPort^&mac=MeineMACadresse
PING 0 -n 3 > NUL & TSKILL mshta > NUL



Der Code von oben wird so nicht funzen und das cd... is sogar überflüssig^^
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Ok.
Das klingt jetzt kompliziert.

Kannst Du Batch Befehle mal in 2 getrennte Codes packen?
Blicke da gerade nicht so durch.
 

FrittenFett

Captain
Dabei seit
Juli 2009
Beiträge
3.772
@surviver
Ist auch nur rudimentäres Batch Wissen....gerade soviel, um idiotische Runterfahr Verknüofungen zu erstellen.
:D
 
S

surviver

Gast
Öhm, ich weiss grad nicht was an 5 Zeilen Batchcode so kompliziert sein kann :D
Und hab auch kA wie ich da was trenne sollte.

1. Abschnit = Abfrage ob wake oder shutdown
2. Abschnitt = Shutdown
3. Wake

Du kannst den Code so kopieren und musst nur überall Deine Daten eintragen.
Also IP, Username, passwort, MAC und WOL port
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Das habe ich dann auch gerade geschnallt.
Führe ich die Batch aus, bleibt das die Konsole CMD offen.
Fehlt da nun nur noch ein Exit?
 
S

surviver

Gast
Nee eigentlich sollte da nix fehlen.
Auf welchem OS wird die Batch benutzt?
Es funktioniert soweit nur die Batchbleibt offen oder wie meinste?
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Wie im Eingangsbeitrag geschrieben auf Win7 Ulitmate 64 BIT

Das klappt auch nicht.
Der PC der aus ist, bleibt aus, der der an ist, bleibt an und das Konsolenfenster bleibt auch offen.
 
S

surviver

Gast
Also auf Win7 is das soweit np.
Im falle des herunterfahren kann der fehler eigentlich nur darin liegen, das DU name,IP oder PW falsch eingetragen hast oder den Code geschrottet :D

WoL ist da etwas komplizierter da der Wake Befehl von aussen kommt, muss für ihn ein Broadcast Port frei sein.

Angenommen Dein NEtzwerk hat die IP 198.168.0.1 dann musst Du einem port auf 198.168.0.255 weiterleiten.
Diesen port dann natürlich auch im Code angeben.
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Ok.
Um es genauer erklärt zu bekommen.

Dies ist der Code für Shutdown:
Code:
@ECHO OFF

CHOICE /C SW /M "S= Shutdown W= Wake" > NUL
IF ERRORLEVEL 2 GOTO WAKE

WMIC /NODE:192.168.2.5 /USER:Benutzername /PASSWORD:User Passwort OS WHERE PRIMARY=1 CALL SHUTDOWN > NUL
EXIT
Korrekt?

Dieser Befehl wäre dann für WOL:

Code:
:WAKE
START /MIN /HIGH mshta http://wakeonlan.me/?ip=user.no-ip.org:Port^&mac=MAC Adresse
PING 0 -n 3 > NUL & TSKILL mshta > NUL
Korrekt?

Denn generell funktionier das Aufwecken per WOL und Internet
 
Zuletzt bearbeitet:
S

surviver

Gast
völlig korrekt
Wenn es generell funktioniert, würde ich sagen DU hast etwas falsch eingetragen.
Aber da ich so ein netter MEnsch bin, werde ich nunmal persönlich testen^^
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Das ist sehr nette.
Leider bleibt bei mit das CMD offen und der PC an.

Mehr als kopieren und Daten ersetzen musste ich ja nicht.


EDIT: Die Broadcast IP 192.168.2.255 lässt die Fritzbox nicht zu.
 
Zuletzt bearbeitet:
S

surviver

Gast
Hehe ja mein Fehler, ich habe die abfrage in dem bsp. Code ausblenden lassen, du hättest bei dem Offenen fenster S oder W drücken müssen, von der Aufforderung war nur nix zu sehen :D


@ECHO OFF
MODE CON: COLS=21 Lines=3
ECHO.
ECHO S= Shutdown W= Wake
CHOICE /C SW > NUL
IF ERRORLEVEL 2 GOTO WAKE

WMIC /NODE:Locale.IP.Adresse /USER:MeinBenutzername /PASSWORD:MeinPasswort OS WHERE PRIMARY=1 CALL SHUTDOWN > NUL
EXIT

:WAKE
START /MIN /HIGH mshta http://wakeonlan.me/?ip=Meine.IP.oder.Domain:MeinPort^&mac=MeineMACadresse
PING 0 -n 3 > NUL & TSKILL mshta > NUL

so lüppt dat

Der Code funzt, grad getestet...
Achso... die MAC OHNE trennzeichen eintragen!

Ich glaube die Fritzbox unterstützt WoL daher kannst Du auch die locale IP des Zielrechners nehmen.
Falls das aufwecken nur die ersten 10min nach dem Runterfahren klappen sollte.... is die FritzBox für'n Ar*** :D
 
Zuletzt bearbeitet:

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Ok. Also eine Batch Datei und der komplette Code muss da rein kopiert werden?
Oder sind das 2 Batch Dateien?

Wie mache ich das nun mit dem Port für das Magic Paket.
Wie gesagt, Fritzbox unterstützt ja keine Broadcast IP´s und Wakeonlan wohl nur UDP Port 9?


Also bei mir wird das CMD Fenster dann klein und da steht:

S=Shutdown W=Wake

Fenster bleibt offen

Stehe ich denn so auf dem Schlauch?
 
Zuletzt bearbeitet:
S

surviver

Gast
Jop, ist für 1ne Batchdatei.

Der Port ist UDP, welchen Du nimmst ist eigentlich egal, standard ist glaube ich 7.
Eintragen im Code musst Du ihne so oder so.

Richtig Du musst W für WoL drücken oder S zum runterfahren, steht doch da :D
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Ja OK.
Bei mir ist es UDP 9

Auf W reagiert die Batch und schliesst sich.
Auf S dauert es etwas, schliesst sich, aber der PC bleibt an.

WTF, wo mache ich die Fehler


Ich teste bereits über LAN und nicht am selben Rechner, wo ich die Batch schreibe.
 
Zuletzt bearbeitet:
S

surviver

Gast
Das sie sich schliesst ist normal wenn sie fertig ist :D

Die Fehler bei falschen Einträgen liegen, wie gesagt, dat Dingen läuft hier tadellos und blitzschnell ;)
BEschäftige Dich ertsmal mit dem einfachem Part, dem Shutdown, also wenn das nicht ans laufen kriegst, denn weiss ich aber auch nicht.
 

tobi25778

Lieutenant
Ersteller dieses Themas
Dabei seit
Dez. 2007
Beiträge
885
Sorry Surviver, dass Du soviel Zeit opfern musst, aber ich raffe es echt nicht.
Ich mache nichts anderes als Du.
Gebe die Zugangsdaten ein, die ich auch für Remotedesktop bzw. Login auf dem PC nutze.

Jedoch bleibt der PC bei mir an.

Wie gesagt, wenn ich CMD aufrufe und dort das eintrage:

shutdown.exe -s -f -m \\192.168.2.5

Dann bekomme ich den Fehler 5 Zugriff verweiger

Bei dem PC, gleicher Login, gleiches Passwort wie Laptop, geht es:

shutdown.exe -s -f -m \\192.168.2.34 da kommt dann ein Fenster, sie werden in weniger als 1 Minute runtergefahren

Nur wie muss jetzt die Batch Datei in beiden fällen aussehen?

Lieb wären mir auch 2 Batch Dateien, 1 zum Ausschalten und eine zum Starten, ist aber nicht zwingend notwendig.
 
Top