Windows Server 2008R2 Shutdown Skript bricht ab
Guten Morgen zusammen,
ich habe ein kleines Problem und zwar folgendes.
Ich habe 3 Server die Abhängig von einander heruntergefahren bzw. neugestartet werden können.
Das sieht in etwa so aus:
Server 1 darf nur herunterfahren wenn Server 2 verfügbar ist.
Server 2 darf nur herunterfahren wenn Server 1 verfügbar ist.
Server 3 darf nur herunterfahren wenn entweder Server 1 oder Server 2 verfügbar ist.
Dazu habe ich 3 Powershell Skripte geschrieben. Die funktionieren auch.
Das Problem ist jetzt, dass das Skript beim herunterfahren nach wenigen Sekunden abbricht.
Ich verwende Start-Sleep (wo er dann auch rauspringt) und Test-Connection (Ping). Bis zum Test-Connection kommt er allerdings nicht. Ich logge alles mit dem Powershell-Modul "PowershellLogging" mit.
Ich habe die Skripts jeweils in: GPlocal > Computerkonfiguration > Windows-Einstellungen > Skripts > Herunterfahren verwendet.
Ich bin davon ausgegangen, dass der Server auf das Skript wartet, tut er aber anscheinend nicht.
Gibt es irgendeine Möglichkeit das Skript im Shutdownfall (auch ohne menschlich gewollten Shutdown) vollstängig durchzuführen?
Aufgrund der Schleife am besten solange das Skript eben brauch und wenn der Server eben gar nicht herunterfährt.
Danke im Voraus !
ich habe ein kleines Problem und zwar folgendes.
Ich habe 3 Server die Abhängig von einander heruntergefahren bzw. neugestartet werden können.
Das sieht in etwa so aus:
Server 1 darf nur herunterfahren wenn Server 2 verfügbar ist.
Server 2 darf nur herunterfahren wenn Server 1 verfügbar ist.
Server 3 darf nur herunterfahren wenn entweder Server 1 oder Server 2 verfügbar ist.
Dazu habe ich 3 Powershell Skripte geschrieben. Die funktionieren auch.
Das Problem ist jetzt, dass das Skript beim herunterfahren nach wenigen Sekunden abbricht.
Ich verwende Start-Sleep (wo er dann auch rauspringt) und Test-Connection (Ping). Bis zum Test-Connection kommt er allerdings nicht. Ich logge alles mit dem Powershell-Modul "PowershellLogging" mit.
Ich habe die Skripts jeweils in: GPlocal > Computerkonfiguration > Windows-Einstellungen > Skripts > Herunterfahren verwendet.
Ich bin davon ausgegangen, dass der Server auf das Skript wartet, tut er aber anscheinend nicht.
Gibt es irgendeine Möglichkeit das Skript im Shutdownfall (auch ohne menschlich gewollten Shutdown) vollstängig durchzuführen?
Aufgrund der Schleife am besten solange das Skript eben brauch und wenn der Server eben gar nicht herunterfährt.
Danke im Voraus !
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 257885
Url: https://administrator.de/contentid/257885
Ausgedruckt am: 25.11.2024 um 22:11 Uhr
13 Kommentare
Neuester Kommentar
Hallo holyone,
vielleicht hilft Dir das ja weiter:
->Maximum wait time for Group Policy scripts <-
http://msdn.microsoft.com/en-us/library/ms811643.aspx
Lg
vielleicht hilft Dir das ja weiter:
->Maximum wait time for Group Policy scripts <-
http://msdn.microsoft.com/en-us/library/ms811643.aspx
Lg
hmm. Im Text stand, dass dies auch für Shutdown gilt...
Es gibt ja logout und shutdown scripte. Beim LogOut besitzt das Script noch die Userrechte vom angemeldeten User.
Beim Herunterfahren ist der User bereits abgemeldet und wird (vermutlich) mit dem System-User ausgeführt. Hat dieser Zugriffsrechte auf das Script?
Es gibt ja logout und shutdown scripte. Beim LogOut besitzt das Script noch die Userrechte vom angemeldeten User.
Beim Herunterfahren ist der User bereits abgemeldet und wird (vermutlich) mit dem System-User ausgeführt. Hat dieser Zugriffsrechte auf das Script?
Hallo,
Anscheinend aber nicht....
Was passiert da bevor es abbricht?
Was soll passieren bevor es abbricht?
Was passiert wenn es abbricht?
Welche Fehler werden ggfls. erzeugt?
Ohne dein Skript zu kennen oder irgend etwas mehr kann man dir schwer sagen welche Medizin du brauchst.
Gruß,
Peter
Anscheinend aber nicht....
Das Problem ist ... nach wenigen Sekunden abbricht.
Wo bricht es ab?Was passiert da bevor es abbricht?
Was soll passieren bevor es abbricht?
Was passiert wenn es abbricht?
Welche Fehler werden ggfls. erzeugt?
Ohne dein Skript zu kennen oder irgend etwas mehr kann man dir schwer sagen welche Medizin du brauchst.
nicht. Ich logge alles mit dem Powershell-Modul "PowershellLogging" mit.
Auch mal in deinen Logs reingeschaut?Ich habe die Skripts jeweils in: GPlocal > Computerkonfiguration > Windows-Einstellungen > Skripts > Herunterfahren verwendet
Und wann hören die Skripts auf zu funktionieren?Ich bin davon ausgegangen, dass der Server auf das Skript wartet, tut er aber anscheinend nicht.
Der soll aber doch herunterfahren, oder?Gibt es irgendeine Möglichkeit das Skript im Shutdownfall (auch ohne menschlich gewollten Shutdown) vollstängig durchzuführen?
Ja, ob allerdings dein Skript dazu gehört.....Aufgrund der Schleife am besten solange das Skript eben brauch und wenn der Server eben gar nicht herunterfährt.
Schleife?Gruß,
Peter
Hallo,
Und genau das glaub ich dir nicht, sonst hättest du ja keine Probleme oder Fragen damit....
Gruß,
Peter
Und genau das glaub ich dir nicht, sonst hättest du ja keine Probleme oder Fragen damit....
Im ersten Wait. Ich habe dort 120 Sekunden wait.
Es werden 3 Variablen gesetzt, dann kommt der Wait.
Es sollen 3 Varablen gesetzt werden und er soll warten.
Wenn es nur das ist....so dürfte es bei dir keine Probleme gebenEs werden 3 Variablen gesetzt, dann kommt der Wait.
Es sollen 3 Varablen gesetzt werden und er soll warten.
Das Skript beendet sich einfach ohne Fehlermeldung. Der Log geht nur bis zum Wait befehl, das wars dann ende des Logs, kein Fehler kein gar nichts.
Lass mich raten: Dein Server wird gerade Heruntergefahren?dass er ganz normal Herunterfährt.
na also....könnte ich relativ genau die Zeit in Sekunden angeben.
Spielt keine Rolle, denn dein Server wird ja Heruntergefahren.ist es unter umständen möglich
Ja, wie du so schön sagst "unter umständen". ....Wie gesagt es dient nur dazu den Shutdown zu verzögern bzw. ihn zu unterbinden in dem es ewig läuft.
?!? Das Herunterfahren soll ewig dauern bzw. du willst das Herunterfahren zwischendurch abbrechen / Verzögern?Es gibt einen Loop, welcher sich so lange wieder holt (Mit Wait-Timer) bis die gewünschte Gegenstelle des Pings wieder erreichbar ist. Sollte diese nicht erreichbar sein läuft er halt weiter.
Dann ist dein Skript falsch aufgebaut bzw. zur falschen Zeit werden die richtigen (hier aber falsche) Aufgaben ausgeführt. Deutlicher: Dein Server wird Heruntergefahren....Wie gesagt das Skript macht eigentlich nur folgendes:
- Skript Anfang
Wait
Ping Server1
erreichbar?
Wait
Ping Server1
erreichbar?
true -> exit
false -> do / wait / ping Server 1 / erreichbar? / while false
- Skript Ende
Und das da oben kann dein Powershell verstehen?- Skript Anfang
Wait
Ping Server1
erreichbar?
Wait
Ping Server1
erreichbar?
true -> exit
false -> do / wait / ping Server 1 / erreichbar? / while false
- Skript Ende
Gruß,
Peter
Hallo,
Danach ist auch ein Shutdown -a nicht mehr möglich....
Nach ein Shutdown sollte nichts mehr ausgeführt werden. Alle Aktionen sind also vorher zu erledigen. Und wie lange ein Update dauert wirst du schwerlich vorher wissen....
Mehr Hilfe kannst du nicht erwarten, den Staatsgeheimnisse musst du nicht preisgeben. und dein Powershell Text ist wohl als streng Geheim klassifiziert....
Gruß,
Peter
Danach ist auch ein Shutdown -a nicht mehr möglich....
shutdown /r /c "test" (Als Aufgabe ausgeführt)
shutdown /r /c "test" (Als geplante Aufgabe ohne angemeldeten User)
Macht ein Shutdown in 30 Sekunden ab absetzen des Shutdowns. Ein Shutdown -a kann das Neustarten noch unterbinden bzw. abbrechen (innerhalb der gesetzten Zeit - hier 30 Sekunden)shutdown /r /c "test" (Als geplante Aufgabe ohne angemeldeten User)
Nach ein Shutdown sollte nichts mehr ausgeführt werden. Alle Aktionen sind also vorher zu erledigen. Und wie lange ein Update dauert wirst du schwerlich vorher wissen....
Mehr Hilfe kannst du nicht erwarten, den Staatsgeheimnisse musst du nicht preisgeben. und dein Powershell Text ist wohl als streng Geheim klassifiziert....
Gruß,
Peter
Hallo,
Ohne dir jetzt auf deine Füße treten zu wollen...
Gruß,
Peter
Ohne dir jetzt auf deine Füße treten zu wollen...
Liest du nicht was ich schreibe?
Doch, sogar mehrmals um zu verstehen was du da schreibst ...Server 2 -> Alle möglichen Shutdowns getestet, Skript läuft und verzögert den Shutdown um 4 Minuten (ggf.
länger) (funktioniert)
Server 1 -> Gleiches Skript. Läuft dagegen nicht durch, sondern wird abgebrochen. (funktioniert nicht) Auch ohne Updates
Server 3 -> Gleiches Skript. Läuft dagegen nicht durch, sondern wird abgebrochen. (funktioniert nicht) Auch ohne Updates
Ich kann nirgends erkennen *+wo von dir geschrieben steht das deine Server 1 und 3 Probleme haben das zu tun was Server 1 kann. Vielleicht steht es ja in deinen unsichtbaren Texten (so wie deine Powershell Dateien) drin un d keiner diese aus was weiß ich für Gründe nicht sehen darf. Hier steht jedenfalls nichts davon....länger) (funktioniert)
Server 1 -> Gleiches Skript. Läuft dagegen nicht durch, sondern wird abgebrochen. (funktioniert nicht) Auch ohne Updates
Server 3 -> Gleiches Skript. Läuft dagegen nicht durch, sondern wird abgebrochen. (funktioniert nicht) Auch ohne Updates
Hmm sieht so aus als würde es nicht am Skript liegen, seltsam.
Wir kennen dein Skript nicht, also erwarte hier kein Mitgefühl oder ein ja oder nein oder was kann man da verändern kann damit ....Also scheint im Shutdownvorgang etwas anders zu sein, nur was.
Da wir die Betriebssysteme deiner anderen Server nicht kennen, können wir dir auch dies nicht beantworten. Einer deiner Server ist ein 2008R2....Nach dem Shutdown Befehl wird noch eine Menge Betriebssystemseitig ausgeführt, ob du es glaubst oder nicht.
Was du nicht sagst, eine Welt Neuheit, hat keiner außer dir wohl gewusst....Das Skript läuft nämlich vor dem wirklichen Shutdown.
Wenn du es sagst.shutdown -s -t 0 -> Enter -> User-Shutdown-Skript -> User Logout -> Machine-Shutdown-Skript -> System Shutdown
Sicher das deine Reihenfolge so passt?Das das Skript funktioniert habe ich dir jetzt versucht mehr als deutlich zu veranschaulichen.
Das ist auch sauber überall angekommen das dein Skript funktioniert.Skript abbricht.
Sicher das es abbricht oder wird es beendet? Bei Shutdowns erwarten wir nicht das etwas abgebrochen** wird, sondern das alles sauber heruntergefahren bzw. korrekt beendet wird. Sollte allerdings der Schalter -f genutzt werden....Gruß,
Peter