neocortex
Goto Top

Batchdatei zum Herunterfahren von PCs im Netzwerk

hallo zusammen,
ich möchte gerne eine batch basteln in der ich alle oder ausgewählte rechner im netzwerk herunterfahren kann. prinzipiell hab ich das schon auch soweit das es funktioniert nur das problem ist folgendes:
wenn ein pc nicht an ist, was ja öfter mal vorkommt, führt er die batch nicht aus und "hängt" fest -> fährt die anderen rechner logischerweise dann auch nicht runter.
Wie kann ich das abfangen???
wäre echt super wenn mir jemand dabei helfen könnte.

Content-Key: 11185

Url: https://administrator.de/contentid/11185

Printed on: April 24, 2024 at 14:04 o'clock

Member: meinereiner
meinereiner May 27, 2005, updated at Oct 17, 2012 at 13:31:27 (UTC)
Goto Top
frag doch erst über einen ping ab, ob der Rechner oben ist..
guckst du hier:
Hilfe, benötige Script das feststellt ob ein Server (Printserver) erreichbar ist "Ping"
Member: NeoCortex
NeoCortex May 27, 2005 at 11:09:59 (UTC)
Goto Top
Danke für den Tipp, aber sowas ähnliches hab ich schon mal versucht:

@echo off
ping -n 1 -i 135 -w 130 "IP Adresse"
if errorlevel 1 goto SHUTDOWN
:SHUTDOWN
shutdown -s -m -c "Ihr Rechner wird in 30s automatisch heruntergefahren, bitte speichern Sie Ihre Dokumente" -d u:11:11
goto ENDE
:ENDE

hat aber net so geht wie ich wollte. (nämlich gar nicht) ich bin auch allerdings net so ganz fit in batchprogrammierung, kann ja sein das ein oder mehrere fehler drin ist.
Member: Snooker
Snooker May 27, 2005 at 11:18:47 (UTC)
Goto Top
Hi

wenn ich mich richtig entsinne, müsste

if errorlevel 1 goto SHUTDOWN

geändert werden in "...goto ENDE" (also wenn Errorlevel 1= dann net weitermachen sondern zum Punkt ENDE gehen)

Das "goto ENDE" direkt über :ENDE kannste weg lassen

Ob der Rest jetzt 100% stimmt kann ich nicht sagen...
Member: NeoCortex
NeoCortex May 27, 2005 at 11:36:24 (UTC)
Goto Top
Danke, werd ich mal versuchen! gibt es jetzt eigentlich noch die möglichkeit
mehrere pc in die programmierung zu bringen und das ergebnis in eine txt datei zu schreiben??
Member: Snooker
Snooker May 27, 2005 at 11:58:05 (UTC)
Goto Top
Wenn du das Ping-Ergebnis loggen willst, dann sieht das so aus:

ping -n 1 -i 135 -w 130 "IP Adresse" >\\SERVERNAME\ORDNER\log.txt


Also könnte dein Szenario SO aussehen:

@echo off 
:PC1
REM Testen ob PC erreichbar
ping -n 1 -i 135 -w 130 "IP Adresse" >\\SERVERNAME\ORDNER\log.txt  

if errorlevel 1 goto PC2 

REM SHUTDOWN setzen
shutdown -s -m -c "Ihr Rechner wird in 30s automatisch heruntergefahren, bitte speichern Sie Ihre Dokumente" -d u:11:11   

:PC2
REM Testen ob PC erreichbar
ping -n 1 -i 135 -w 130 "IP Adresse" >\\SERVERNAME\ORDNER\log.txt  
if errorlevel 1 goto ENDE 

REM SHUTDOWN setzen 
shutdown -s -m -c "Ihr Rechner wird in 30s automatisch heruntergefahren, bitte speichern Sie Ihre Dokumente" -d u:11:11  

:ENDE 

Snooker
Member: NeoCortex
NeoCortex May 27, 2005 at 13:00:17 (UTC)
Goto Top
danke für die schnell antwort!
Ich habs mal damit getestet, geht aber net.
kann das sein das bei:

"if errorlevel 1 goto PC2" wenn der errorlevel 1 ist springt er doch direkt zu PC2 und überspringt den shutdown befehl??
reicht das wenn ich die errorlevel abfrage hinter den shutdown befehl setzte oder wird noch eine then oder else abfrage benötigt.
Member: Snooker
Snooker May 27, 2005 at 13:21:22 (UTC)
Goto Top
Am besten du postest mal dein Script so wie dus eingegeben hast hier rein....

Ach und was ich vergessen habe....

Hinter dem Befel "-m" muss noch der Computername, der heruntergefahren werden soll, also:

shutdown -s -m \\Computername -c "Ihr Rechner wird in 30s automatisch heruntergefahren, bitte speichern Sie Ihre Dokumente" -d u:11:11

Gruß
Snooker
Member: NeoCortex
NeoCortex May 27, 2005 at 13:38:20 (UTC)
Goto Top
Kuckt so aus:

@echo off
:PC1
REM Testen ob PC erreichbar
ping -n 1 -i 135 -w 130 "IP Adresse" >c:\ausschalten_log.txt

if errorlevel 1 goto PC2

REM SHUTDOWN setzen
shutdown -s -m \\"IP Adresse" -c "Ihr Rechner wird in 30s automatisch heruntergefahren,

bitte speichern Sie Ihre Dokumente" -d u:11:11

:PC2
REM Testen ob PC erreichbar
ping -n 1 -i 135 -w 130 "IP Adresse" >c:\ausschalten_log.txt
if errorlevel 1 goto ENDE

REM SHUTDOWN setzen
shutdown -s -m \\"IP Adresse" -c "Ihr Rechner wird in 30s automatisch heruntergefahren,

bitte speichern Sie Ihre Dokumente" -d u:11:11

:ENDE

ich glaub fast das könnts gewesen mit der IP Adresse, theoretisch logisch er weis ja net welchen rechner er runterfahren soll. face-smile
Member: Snooker
Snooker May 27, 2005 at 13:47:02 (UTC)
Goto Top
Also bald isses geschafft...nur ich muss mich auch erst wieder einfinden... face-smile

ping -n 1 -i 135 -w 130 "IP

Das stell ma um.... ping "IP-Adresse" -n 1 -i 135 -w 130


shutdown -s -m \\"IP Adresse" -c
"Ihr Rechner wird in 30s automatisch
heruntergefahren, bitte speichern Sie Ihre Dokumente" -d
u:11:11

Geb ma bei "-m \\[IP-Adresse]" den PC-Namen ein... also "-m \\[Computername]"


ich glaub fast das könnts gewesen mit
der IP Adresse, theoretisch logisch er weis
ja net welchen rechner er runterfahren soll.
face-smile

Sorry....aber den letzten Absatz hab ich net verstanden...

Snooker
Member: NeoCortex
NeoCortex May 27, 2005 at 14:04:33 (UTC)
Goto Top
ich habs jetzt probiert mit dem was du gesagt hast:

@echo off
:PC1
REM Testen ob PC erreichbar
ping -n 1 -i 135 -w 130 "IP Adresse" >c:\ausschalten_log.txt

if errorlevel 1 goto PC2

REM SHUTDOWN setzen
shutdown -s -m \\"IP Adresse" -c "Ihr Rechner wird in 30s automatisch heruntergefahren,

bitte speichern Sie Ihre Dokumente" -d u:11:11

:PC2

so geht es einwandfrei. Es lag wirklich nur an der IP-Adresse. Mit Computername geht es genauso.

warum was war am letzten absatz so unverständlich face-smile

danke für deine hilfe!! hat mir echt weitergeholfen. Nach ewig langer suche nach dem zeig ist es endlich geschafft!! *erleichtertsei*
obwohl es ja eigentlich net so arg schwer ist, wenn man es mal kapiert hat! face-smile

Schönes WE

Gruß
NeoCortex