Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Scriptgesteuerte shutdown Reihenfolge von Windows 2k3 Server

Frage Microsoft

Mitglied: mercan

mercan (Level 1) - Jetzt verbinden

16.11.2009 um 15:24 Uhr, 7238 Aufrufe, 12 Kommentare

Hallo,

ich hab ein Problem und ich hoffe, dass Ihr mir weiterhelfen könnt, denn ich habe momentan nicht die geringste Ahnung, wie ich das Problem angehen kann.

Wir haben in unserem Rechenzentrum mehrere Windows 2k3 Server laufen und ich habe die Aufgabe bekommen, einen Script zu schreiben, die vielen Server die wir hier am laufen haben, in einer bestimmten Reihenfolge herunter zu fahren und ebenfalls auch wieder in einer bestimmten Reihenfolge wieder zu starten.

Ich hoffe, dass ihr schon Erfahrung oder eine Idee habt, in der ich weiter suchen kann.

Vielen Dank im voraus für eure Hilfe.
Mitglied: exellent
16.11.2009 um 15:31 Uhr
schau dir mal im cmd den befehl shutdown an (shutdown /?)

zB. startet der Befehl shutdown -r -t0 den Server sofort neu

..um das zeitgesteuert anzustellen, kannst du diesen Befehl mit den "geplanten Tasks" in der Systemsteuerung starten.
Bitte warten ..
Mitglied: jhinrichs
16.11.2009 um 15:42 Uhr
Hallo,
wie exellent schon schrieb: Herunterfahren mit shutdown.exe (in ein Script einbauen, muss unter Admin-Account ausgeführt werden). Schwieriger wird es schon, wenn auf das Beenden bestimmter Dienste gewartet werden muss, bevor der nächste Rechner herunterfährt etc., aber das läßt sich alles über ein Script machen.
Beim Starten sieht das etwas anders aus, da stellt sich zunächst die Frage, wie werden die Rechner technisch gestartet? Per Wake on Lan, über geschaltete Spannungsversorgungen (USV/Steckdose)?
Je nachdem gibt es da entweder z.B. wake.exe (WoL), die Tools des USV-Herstellers oder des Herstellers der IP-Steckdosenbox.
Bitte warten ..
Mitglied: laster
16.11.2009 um 16:02 Uhr
Hallo,
hier mal ein Script für das Herunterfahren in einer definierten zeitlichen Reihenfolge.
Dazu wird das Programm psshutdown.exe (aus den PStools) verwendet.

01.
@echo off 
02.
:: Script zum Herunterfahren der Server 
03.
 
04.
set LOG=c:\shutdown-server.log 
05.
set PSI=c:\Programme\PSTools\ 
06.
set DIF=20 
07.
set /A SEK=10 
08.
 
09.
for %%i IN (sv04 sv03 sv02 sv01) do call :TESTA %%i 
10.
goto ENDE 
11.
 
12.
:TESTA 
13.
set COMP=%1 
14.
set /A SEK=%SEK%+%DIF% 
15.
echo SHUTDOWN %COMP% in %SEK% Sekunden >> %LOG% 
16.
start "" "%PSI%\psshutdown -s -f -t %SEK% -e P:0:0 \\%COMP%" 
17.
goto :EOF 
18.
 
19.
:ENDE 
20.
 
21.
set LOG= 
22.
set PSI= 
23.
set DIF= 
24.
set SEK=
Das Starten der Rechner kann dann, wie schon von jhinrichs beschrieben durchgeführt werden.

vG Lars
Bitte warten ..
Mitglied: 60730
16.11.2009 um 16:27 Uhr
Servus,
Zitat von exellent:
schau dir mal im cmd den befehl shutdown an (shutdown /?)

zB. startet der Befehl shutdown -r -t0 den Server sofort neu

"richtiger" Ansatz
..um das zeitgesteuert anzustellen, kannst du diesen Befehl mit den "geplanten Tasks" in der Systemsteuerung starten.

- das würde ich eher nicht so (auf jedem Server) realisieren - sondern mit einem zentralen Script dass nacheinander der Server rebootet - dann wartet - ob ein gewisser Dienst auf den Servern läuft und dann die anderen startet - bzw. bei denen - die später hochkommen sollen - einen längeren "T" dransetzen - oder per ping -n 10 127.0.0.1 zwischen den Reboots warten und immer die gleiche "t" beim shutdownbefehl einsetzen.

Wichtig bei der ganzen Nummer ist - das checken, ob die Server wirklich wieder online sind und benachrichtigung / per Bmail / SMS / Nagios.
Dazu dann jeweils ein
if exist \\server\freigabe
anstatt
ping server
wenn es ein Fileserver ist.


Gruß
Bitte warten ..
Mitglied: mercan
17.11.2009 um 10:30 Uhr
Hallo,
vielen dank für die schnelle und umfangreiche Hilfe.
Jetzt weiß ich, wo und wie ich mein Problem lösen kann.
Werde versuchen eure Tipps umzusetzen.
Wenn ich hängen sollte, werd ich mich wiede melden.
Vielen Dank euch allen.
Bitte warten ..
Mitglied: mercan
17.11.2009 um 14:17 Uhr
Hallo,

eine Frage hätte ich noch.
Ist es eigentlich möglich, den nächsten Server herunter zu fahren, wenn der Server davor heruntergefahren ist?
Also nicht mit der Option -t sondern mit einer Abfrage, erst den nächsten Server herunter zu fahren, wenn der Server davor nicht mehr am Netz ist.

Wäre super, wenn ihr mir weiter helfen könnt.

Danke.
Bitte warten ..
Mitglied: jhinrichs
17.11.2009 um 14:22 Uhr
Hallo,
u. a. deswegen ja das zentrale Skript zur Steuerung. Da kann man dann - wie beim Hochfahren auch - z. B. per ping etc. testen, ob ein Rechner down/up ist.
Man kann natürlich auch in dezentralen Skripts so eine Abfrage machen, läuft dann aber in Gefahr, Deadlocks (Rechner A wartet auf Rechner B, der auf C, und der wieder auf A) etc. zu produzieren, da die ganze Sache schnell unübersichtlich wird.
Bitte warten ..
Mitglied: 60730
17.11.2009 um 14:24 Uhr
Servus,

als "Skizze" - die ungestetste - aber trotzdem funktionieren sollte...

01.
shutdown -r -m \\server1 
02.
:checkserver1 
03.
ping -n 10 server1 && goto checkserver1 || shutdown -r -m \\server2

Gruß
Bitte warten ..
Mitglied: jhinrichs
17.11.2009 um 14:28 Uhr
<Oberlehrermodus>
Beziehungsweise
01.
... || shutdown -s -m \\server2
wenn er ausbleiben soll.
</Oberlehrermodus>
Bitte warten ..
Mitglied: 60730
17.11.2009 um 14:36 Uhr
<fingerschnippstrebermodus>
aus bleiben - wer will dass denn auf einem Server?
Und wenn das "offline" was länger sein soll - dann nehm ich vom Marc das Pagedfrg und stell da einen riesen Timeout rein.
</fingerschnippstrebermodus>

Ich mach das ganze mit Servern, die in anderen Standorten stehen.
Und wenn ich dort nicht mindestens einen hab - an den ich "komme" - kann ich auch die anderen nicht per Wol wecken
Von daher ist bei "mir" -r schon fast genetisch bedingt.
So wie andere @echo off in Ihre unfertigen Skripte schreiben
Bitte warten ..
Mitglied: jhinrichs
17.11.2009 um 14:53 Uhr
Zitat von 60730:
> aus bleiben - wer will dass denn auf einem Server?

Mein Frau - des nachts bei meinem Server zu Hause

Zur Frage: shutdown -r ist sinnvoll bei dem "Master"-Server, der den Shutdown/Start der anderen steuert, da ja auch das Hochfahren in einer definierten Reihenfolge ablaufen soll. Wenn jetzt nach dem wohlgeordneten Einschlafen jeder so unkoordiniert (wie meine Mitarbeiter hier und wahrscheinlich auch Bibers Praktikantinnen) aus dem Schlaf erwacht.....
Bitte warten ..
Mitglied: mercan
18.11.2009 um 09:00 Uhr
set PSI=c:\Windows\system32

for %%i IN (vm-winxp vm-winxp2 vm-winxp3) do call :TESTA %%i

goto ENDE

:TESTA

set COMP=%1
@echo off
cls
echo Der Server %COMP% wird jetzt heruntergefahren!!!!!
%PSI%\shutdown -s -m \\%COMP% /t 0

:TEST
ping -n 5 %COMP%
if errorlevel 1 call :TESTA
goto TEST

:ENDE

set PSI=


Hallo,
habe dasobige Script erstellt und habe nun das Problem, dass nach jedem Sprung zurück auf :TESTA immer nur die erste Eintrag (vm-winxp) übernommen wird.
Jetzt meine Frage, wie kann ich es schaffen, dass bei jedem Sprung auf :TESTA die nächsten Variablen (vm-winxp2 und beim nächsten Sprung vm-winxp3) in "set COMP=" übernommen werden?
Vielen Dank für eure Hilfe.
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Windows Server
gelöst Lokale Windows Firewall Server 2012R2 für virtuelle Maschine? (4)

Frage von 1410640014 zum Thema Windows Server ...

Windows Server
Windows-File-Server - Macs - Probleme (5)

Frage von guenthergranate zum Thema Windows Server ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...