Aktionen

Windows:Rechner oder Server per Batch/Script remote neu starten: Unterschied zwischen den Versionen

Aus znilwiki

K (Textersetzung - „<comments>“ durch „<comments />“)
 
(kein Unterschied)

Aktuelle Version vom 6. August 2017, 20:52 Uhr

Die fertigen Batch-Dateien stehen weiter unten!

In jedem Windows ist der Befehl

shutdown

eingebaut. Diese kann sowohl den lokalen Rechner als auch andere Rechner im Netzwerk herunterfahren oder neu starten.

Am besten funktioniert das natürlich innerhalb einer Domäne.

Zusätzlich zu allen Parametern kann man ggf. noch

/f

angeben - das schliesst ggf. alle Anwendungen ohne Rückfrage. Word würde also z.B. geschlossen ohne das Dokument zu speichern.


Beispiel Neustart


shutdown /r /M \\SERVER1 /t 60 /c "Neustart Test per shutdown.exe" /d p:0:0

shutdown                         : Der eigenliche Befehl
/r                               : Neu starten
/M \\SERVER1                     : welcher Rechner soll neu gestartet werden? Hier SERVER1
/t 60                            : Wartezeit in Sekunden vor dem Neustart
/c "Neustart Test ..."           : Kommentar, wir im Ereignisprotokoll eingetragen
/d p:0:0                         : Grund für den Neustart - hier: Anderer Grund (geplant)




Beispiel Herunterfahren


shutdown /s /M \\SERVER1 /t 10 /c "Nur so" /d p:0:0

shutdown                         : Der eigenliche Befehl
/s                               : Herunterfahren
/M \\SERVER1                     : welcher Rechner soll heruntergefahren werden? Hier SERVER1
/t 10                            : Wartezeit in Sekunden vor dem Neustart
/c "Nur so"                      : Kommentar, wir im Ereignisprotokoll eingetragen
/d p:0:0                         : Grund für den Neustart - hier: Anderer Grund (geplant)




Batchdatei für Neustart mehrer Rechner Variante 1

Bei dieser Variante haben wir nur eine einzige Datei. Die Namen der Rechner stehen direkt im Script.

RechnerNeuStartenV1.txt

@echo off
REM ** RechnerNeuStartenV1.cmd ***********************************************
REM ** 2012 von Bernhard Linz für znil.net ***********************************
REM ** admin@znil.de *********************************************************

REM ## 1. Wartezeit zwischen Neustart der einzelnen Rechner angeben:
set WARTEZEIT=30
REM ## 2. Wieviele Sekunden soll der Benutzer eine Warnung bekommen?
set WARNUNGSZEIT=600

REM ## 3. Namen der Rechner die neu gestartet werden soll
REM ##    NetBIOS, DNS-Name oder IP-Adresse
REM ##    Zeilen kopieren , immer das 'call :RESTART' davor lassen
call :RESTART PC100
call :RESTART PC120.domain.local
call :RESTART 192.168.169.170
call :RESTART Mailserver
call :RESTART Fileserver

REM ##########################################################################
REM ##########################################################################
REM ##########################################################################
REM ## ab hier nichts ändern #################################################
REM ##########################################################################
REM ##########################################################################

goto ENDE

REM ** Hauptschleife
:RESTART
echo.
echo Verarbeite Rechner/Server: %1
echo Warte %WARTEZEIT% Sekunden ...
ping -n %WARTEZEIT% %1 >NUL
echo Initiiere Neustart mit Warnung von %WARNUNGSZEIT% fuer den Benutzer ...
shutdown /r /M \\%1 /t %WARNUNGSZEIT% /f /c "RechnerNeuStartenV1.cmd" /d p:0:0
echo Neustart initiiert!
REM /f ist eigentlich überflüssig - macht er sowieso wenn /t einen Wert größer 0 hat
goto :EOF

REM ##########################################################################
:ENDE




Batchdatei für Neustart mehrer Rechner Variante 2

Bei dieser Variante lesen wir die Namen der Rechner aus einer zweiten Textdatei ein. In der Textdatei muss pro Zeile ein Rechnername stehen.

RechnerNeuStartenV2.txt

@echo off
@echo off
REM ** RechnerNeuStartenV2.cmd ***********************************************
REM ** 2012 von Bernhard Linz für znil.net ***********************************
REM ** admin@znil.de *********************************************************

REM ## 1. Name der Textdatei aus der die Rechner ausgelesen werden sollen,
REM ##    Nur ein Name pro Zeile
set LISTE=Reboot_XP-test.txt

REM ## 2. Wieviele Sekunden soll der Benutzer eine Warnung bekommen?
set WARNUNGSZEIT=600

REM ## 3. Wartezeit zwischen Neustart der einzelnen Rechner angeben:
set WARTEZEIT=30

REM ##########################################################################
REM ##########################################################################
REM ##########################################################################
REM ## ab hier nichts ändern #################################################
REM ##########################################################################
REM ##########################################################################

for /F "eol=# tokens=1" %%i in (%LISTE%) do call :RESTART %%i

goto ENDE

REM ** Hauptschleife
:RESTART
echo.
echo Verarbeite Rechner/Server: %1
echo Warte %WARTEZEIT% Sekunden ...
ping -n %WARTEZEIT% %1 >NUL
echo Initiiere Neustart mit Warnung von %WARNUNGSZEIT% fuer den Benutzer ...
shutdown /r /M \\%1 /t %WARNUNGSZEIT% /f /c "RechnerNeuStartenV2.cmd" /d p:0:0
echo Neustart initiiert!
REM /f ist eigentlich überflüssig - macht er sowieso wenn /t einen Wert größer 0 hat
goto :EOF

REM ##########################################################################
:ENDE



--Bernhard Linz 12:19, 23. Apr. 2012 (CEST)

der-den-man-thilo-ruft@posteo.de
102 Monaten zuvor
Punktzahl 0 Du
was muss ich mach, da die Meldung kommt, dass der Server den "Zugriff verweigert"
BLinz
102 Monaten zuvor
Punktzahl 0++
Das Skript mit Administratoren-Rechten ausführen / als Domänen-Admin ausführen.

Eventuell schießt auch die UAC-Kontrolle quer - dann auch als Benutzer "Administrator" ausführen.

Alex
90 Monaten zuvor
Punktzahl 0 Du
Danke! Nummer 4 hat mir sehr weiter geholfen! :)
skmyim
38 Monaten zuvor
Punktzahl 0 Du
Klappt wunderbar, nur dass es keine Meldung wann PC heruntergefahren wird Windows 10 Es steht nur Sie werden in kürze Abgemeldet. Was muss gemacht werden, damit cmd window nicht gezeigt wird? Vielen Dank
BLinz
38 Monaten zuvor
Punktzahl 0++
Ein Tool wie cmdhide verwenden. Oder eine Verknüpfung anlegen und in dieser "minimiert starten" einstellen.

Das Fenster wird doch eh nur auf dem System angezeigt auf dem es ausgeführt wird.

Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, trage deinen Namen oder deine Email-Adresse ein oder melde dich an. Du kannst das Feld auch einfach leer lassen. Bei einem Kommentar wird deine IP-Adresse zusammen mit dem Text, den angegebenen Namen bzw. der Email-Adresse in der Datenbank für die Kommentare dauerhaft gespeichert. Genaueres kannst du hier nachlesen: Datenschutzerklärung
___________________________________________________________________________
Bitte beachte das der eingetragene Name oder die Email-Adresse für jeden sichtbar ist!