WhiteGloves 10 Geschrieben 15. Oktober 2008 Melden Teilen Geschrieben 15. Oktober 2008 Hallo MCSEboard, Ich habe ein (VBS) Script welches sich automatisch beim Herunterfahren bzw beim Neustart des PCs ausführt. Ich hätte das aber gerne so, dass bei einem Neustart des Rechners das Script etwas anderes tut als es bei Herunterfahren macht. Also meine Frage, gibt es eine Möglichkeit nachdem die shutdown.exe aufgerufen wurde, noch herrauszufinden wie dessen Parameter waren? Also \s (Herunterfahren) oder \r (Neustart) ? Irgendwo muss die Information ja gespeichert werden ob der Rechner anschließend wieder bootet oder aus bleibt. Schonmal Danke im vorraus ! Mfg WhiteGloves Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 15. Oktober 2008 Melden Teilen Geschrieben 15. Oktober 2008 Hi WhiteGloves und willkommen im Board, schau einmal hier hinein, der Trigger bringt Dich vielleicht weiter: Boot Trigger Example (Scripting) (Windows) Viele Grüße olc Zitieren Link zu diesem Kommentar
WhiteGloves 10 Geschrieben 15. Oktober 2008 Autor Melden Teilen Geschrieben 15. Oktober 2008 Danke ! Ich denke hier im Board lässt sich noch so einiges lernen. Dein Link hat mir jetzt nicht weitergeholfen, er zeigt ja nur wie ich einen Task mithilfe des "Taskplaners" nach dem Booten starten kann. Ich hab mal die weiterführenden Links angeschaut aber ich glaube nicht das ich dort finde wonach ich suche. Oder weißt du da genaueres, dass es mit diesem TaskService Object oder einem ähnlichem möglich ist die benötigte Information herauszufinden !? Man müsste genaueres über die Arbeitsweise der shutdown.exe herausfinden... Fährt Sie das System herunter und überprüft zum Schluss ob Neugestartet werden soll und bootet das System neu? Ich mein... irgendwie muss Windows ja mitgeteilt werden das es anschließend wieder booten soll.... Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 16. Oktober 2008 Melden Teilen Geschrieben 16. Oktober 2008 Hi, eine konkrete Abfrage kenne ich leider nicht, aber sicherlich läßt sich das beispielsweise über WMI auslesen. So gibt es etwa unter root\CIMV2 --> Win32_OperatingSystem die "LastBootUpTime". Vielleicht kannst Du einmal schauen, ob es auch so etwas wie einen Status gibt. Die Property "Status" scheint zumindest nicht das zu sein, was Du suchst. Ich konnte jedoch auf die Schnelle auch keine andere Klasse finden als die "LastBootUpTime". Dokumentiert sind die Klassen hier: WMI Classes (Windows) Alternativ könntest Du als Ausweichlösung das Ereignisprotokoll auslesen. Im System Event Log wird eingetragen, wann das Ereignisprotokoll gestartet wurde und wann es beendet wurde. Damit hast Du Indikatoren, ob es sich momentan um einen Neustart oder einen Shutdown handelt. Sicherlich gibt es auch irgend eine Konstante, die beim Start oder beim Shutdown geschrieben wird. Aber dazu fällt mir mometan leider nichts ein. Viele Grüße olc Zitieren Link zu diesem Kommentar
WhiteGloves 10 Geschrieben 16. Oktober 2008 Autor Melden Teilen Geschrieben 16. Oktober 2008 Alternativ könntest Du als Ausweichlösung das Ereignisprotokoll auslesen. Im System Event Log wird eingetragen, wann das Ereignisprotokoll gestartet wurde und wann es beendet wurde. Damit hast Du Indikatoren, ob es sich momentan um einen Neustart oder einen Shutdown handelt. Hmm ich wüsste nicht wie das gehen soll.... Mein Script schaltet sich erst ein wenn das System heruntergefahren / neugestartet wird. Nicht beim Bootvorgang ! Zu diesem Zeitpunkt, wird in die Eventlog höchstens eingetragen welche Dienste oder Prozesse beendet werden. Wenn ich die Zeit auslese wann das Ereignisprotokoll gestartet wurde, dann ist das System ja schon wieder hochgefahren und dann greift mein Script ja nicht mehr.... Den WMI werde ich mir morgen auf der Arbeit nochmal genauer anschauen, danke ! Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 16. Oktober 2008 Melden Teilen Geschrieben 16. Oktober 2008 Guten Abend, wie gesagt, es muß irgendwelche Variablen / Konstanten / Codes geben, die den aktuellen Status ausgeben. Aber bisher habe ich das noch nicht auslesen müssen, daher fehlt mir momentan die Idee. Einmal anders gefragt: Was genau tut das Script bzw. was ist der Hintergrund für dieses Vorgehen? Vielleicht gibt es ja noch andere Lösungsansätze. Viele Grüße olc Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 16. Oktober 2008 Melden Teilen Geschrieben 16. Oktober 2008 Hi, Im systemevent #1074 steht der Shutdown Type drinnen. z.b. "restart" oder "Shutdown". cu blub Zitieren Link zu diesem Kommentar
WhiteGloves 10 Geschrieben 17. Oktober 2008 Autor Melden Teilen Geschrieben 17. Oktober 2008 Hallo blub, ich habe mein System gerade mal neugestartet und anschließend das Systemevent durchgeguckt aber ich konnte keinen Shutdown type finden, auch keine ID #1074 ! Wo hast du diese Information her? (Nur so zur Info: Ich nutze Win XP) Olc: Einmal anders gefragt: Was genau tut das Script bzw. was ist der Hintergrund für dieses Vorgehen? Vielleicht gibt es ja noch andere Lösungsansätze. Was das Script tut ist eher uninteressant, und es gibt keinen anderen Lösungansatz... Es wird ausgeführt wenn das System herunterfährt / neustartet und es muss zu diesem Zeitpunkt wissen ob ein reboot oder ein shutdown ausgeführt wird! Von wo es sich diese Information holt ist dabei völlig egal... Zitieren Link zu diesem Kommentar
abra-x-as 10 Geschrieben 17. Oktober 2008 Melden Teilen Geschrieben 17. Oktober 2008 Was das Script tut ist eher uninteressant, und es gibt keinen anderen Lösungansatz... Es ist nämlich doch interessant. Die Shutdown Sequenz ist die gleiche, egal ob der Rechner abschaltet, oder wieder startet. Vielleicht kann man dir anders helfen?! Zitieren Link zu diesem Kommentar
WhiteGloves 10 Geschrieben 17. Oktober 2008 Autor Melden Teilen Geschrieben 17. Oktober 2008 Es ist nämlich doch interessant.... Nein ist es nämlich nicht :rolleyes: Wieso behauptest du, dass es doch Interessant wäre zu wissen was das Script tut, wenn ich sage das es nicht so ist und du ja nichteinmal weißt was das Script macht und daher auch keine Rückschlüsse darauf ziehen kannst ob es eine andere Möglichkeit gäbe !? Da sich das Script erst aktiviert wenn der Shutdown / Reboot aktiv ist, und auch nur genau dann, seine Sinnvolle Aufgabe verrichten kann wenn es an diesem Zeitpunkt weiß ob ein reboot oder ein shutdown ausgeführt wird dann ist es so. Alle anderen Lösungens Ideen, welche das auch immer sein mögen die du mir nennen willst oder könntest wenn du wüsstest was das Script tut, ausser auszulesen ob reboot oder shutdown stattfindet, gibt es entweder nicht oder sind nicht machbar. Das Script muss es zu diesem Zeitpunkt wissen ! Einzige Lösung die ich bisher hören durfte war es nach einem Start des Systems auszulesen (z.B aus dem Eventlog...) wieviel Zeit zwischen der Systemstartzeit und der letzen Shutdownzeit verstrichen ist, um somit auszuwerten ob ein Reboot stattgefunden hat, sind zwar Möglich, aber absolut unbrauchbar da mein Script jetzt nicht mehr ausgeführt wird und auch nicht mehr Sinn machen würde. Also bleibt als letzte und einzige Lösung... während der Scriptlaufzeit also während des Shutdowns auszulesen ob Reboot oder Shutdown stattfindet. Woher das ausgelesen oder wie sich das ermitteln läßt ist völlig egal. Jetzt kommen sicherlich solche Posts, vonwegen "wenn du uns nicht sagst was das Script macht, können wir dir auch nicht helfen". Vorweg sei gesagt, sowas braucht ihr gar nicht erst zu Posten, da es nämlich nicht stimmt ! Und ihr somit sinnloserweiße nur eure Foren Beitragszähler erhöht/erhöhen wollt. Ein zusätzlicher Grund, neben dem das es absolut irrelevant ist zu wissen was das Script macht, ist das es eine Menge Arbeit wäre dies hier zu erläutern. ....Die Shutdown Sequenz ist die gleiche, egal ob der Rechner abschaltet, oder wieder startet.... Darf ich erfahren woher du diese Information hast? Oder ist das nur deine Vermutung? Also wenn noch jemand etwas weiß oder Tipps geben könnte wie man vielleicht an diese Information kommen könnte, immer her damit ! :D Zitieren Link zu diesem Kommentar
NilsK 2.934 Geschrieben 17. Oktober 2008 Melden Teilen Geschrieben 17. Oktober 2008 Moin, könntest du dich bitte mal ein bisschen abplustern? Hier sind zahlreiche Leute, die kostenlos und in ihrer Freizeit versuchen, dich zu unterstützen. Die Nachfragen, die gestellt wurden, sind absolut berechtigt. Du magst Gründe haben, die Informationen zu verweigern, aber das entwertet nicht die Fragen. Dass noch kein Lösungsvorschlag dabei war, der dich befriedigt, berechtigt dich nicht, andere abzuqualifizieren - denn wie du ja selbst bestätigen kannst, ist dein Problem kein Alltägliches. Und vor allem ist das kein Grund, andere oder das ganze Forum zu beschimpfen. Verwunderte Grüße, Nils Zitieren Link zu diesem Kommentar
WhiteGloves 10 Geschrieben 17. Oktober 2008 Autor Melden Teilen Geschrieben 17. Oktober 2008 Sorry wenn du glaubst das ich damit die User beleidigt habe dann solltest du nochmal den Thread lesen. Es macht halt nunmal keinen Unterschied bei der Hilfe für mein Problem ob die User wissen was das Script macht oder nicht. Tatsache. Und nichts anderes habe ich geschrieben. Ich bin nur etwas über seine Aussage verärgert, dass er schrieb das es nämlich doch Interessant wäre das zu wissen... Und wenn wir mal alle einen Moment drüber nachdenken, zumindest die Anwendungsentwickler unter uns, dann werden wir zu dem Schluss kommen das er falsch liegt. Wenn jemand der den Thread ließt und keine Antwort auf die Frage hat, soll er nicht irgendwas posten nach dem Motto, vielleicht gehts auch anders, wenn ich bereits erwähnt habe das es nur diesen Weg gibt. Wahrscheinlich gibt es in Windows keine Information darüber, sondern der reboot aktiviert eine Funktion im ACPI des Bios. Ich glaube das ich diesen Weg weiterverfolgen werden, es gibt nämlich mittels ASL (ACPI Control Method Source Language) einen Weg gewisse Informationen aus dem ACPI auszulesen, vielleicht findet sich dort etwas zu dem "Shutdown Modus". Trotzdem Danke für Hilfe PS: Ich bin nicht darauf aus mich mit Leuten hier zu streiten, wenn du dich, abra-x-as, in irgendeiner Form von mir angegriffen fühlen solltest, bitte ich um Verzeihung. Zudem will ich diese Diskussion nicht fortführen ob es jetzt einen Unterschied macht zu wissen was das Script tut oder nicht. Daher bitte ich auch alle anderen die jetzt gerne nach Lesen des Threads ihren Senf dazu geben möchten, dass einfach zu lassen ;) Für Tipps und Lösungsansätze oder Ideen bin ich trotzdem weiterhin dankbar ! Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 17. Oktober 2008 Melden Teilen Geschrieben 17. Oktober 2008 Hi WhiteGloves, vielleicht zu dem Thema ein grundsätzlicher Einwurf: Wann genau (also in welchem Betriebssystemstatus) soll das Script ausgeführt werden? Wenn Dir die Start- / Stopkommandos des Ereignisprotokolls nicht ausreichen, dann sollen die Scripte offensichtlich davor oder danach ablaufen. Zu diesem Zeitpunkt stehen jedoch noch nicht alle Interpreter zur Verfügung, so daß es etwa mit einem VBScript schlecht aussehen kann. Grundsätzlich ist die ACPI-Geschichte sicherlich interessant - dort kommt man auch über WMI ran. Jedoch ist die Frage, ob zum von Dir gewünschten Zeitpunkt schon alle Betriebssystemteile zur Verfügung stehen, um Deine Scripte auszuführen (siehe oben). Auch wenn Du diese Diskussion hier abwürgen willst - ich habe nicht ohne Grund gefragt, was das Script macht. Mal abgesehen davon, daß es in annähernd 100% der Fälle mehr als einen Weg gibt ein Ziel zu erreichen, mutet es immer ein wenig merkwürdig an, wenn jemand nicht darstellen will, warum er etwas tut. Das kann meines Erachtens nur zwei Gründe haben: Entweder es ist etwas, was nicht legal ist, oder aber es geht um ein "Betriebsgeheimnis" und es soll etwa ein Produkt vermarktet werden, welches eine bestimmte Funktion bietet, welche nicht ausgeplaudert werden soll. In ersterem Fall wäre hier so oder so Schluß - in letzterem Fall wären wir hier lediglich kostenlose Erfüllungsgehilfen, womit sich die meisten hier sicherlich nicht gern identifizieren. Wenn man schon so frei ist zu einer Problemlösung beizutragen, dann möchte man doch meist auch gern wissen, wofür man das denn tut. Du hast einige Hinweise bekommen - vielleicht kommst Du so weiter. Falls nicht, kann ich nur noch einmal anregen zumindest den groben Zweck des Scripts zu nennen, damit man vielleicht Ideen entwickeln kann. Viele Grüße olc Zitieren Link zu diesem Kommentar
blub 115 Geschrieben 17. Oktober 2008 Melden Teilen Geschrieben 17. Oktober 2008 Hallo blub, ich habe mein System gerade mal neugestartet und anschließend das Systemevent durchgeguckt aber ich konnte keinen Shutdown type finden, auch keine ID #1074 ! Wo hast du diese Information her? (Nur so zur Info: Ich nutze Win XP) Description of the Shutdown Event Tracker Bei meinem w2k3-Server erscheint der Event samt Shutdowntype Bei XP habe ich es nicht probiert, sollte aber laut Artikel dort ebenfalls protokolliert werden cu blub Zitieren Link zu diesem Kommentar
olc 18 Geschrieben 18. Oktober 2008 Melden Teilen Geschrieben 18. Oktober 2008 Hi, ich habe mir die Geschichte noch einmal ein wenig angeschaut, weil mir das keine Ruhe ließ: In der oben schon einmal angesprochenen WMI-Klasse "Win32_OperatingSystem" gibt es die Methoden "Reboot" und "Shutdown", aber bei Methoden kann man natürlich keinen Status auslesen (es sei denn, man führt diese gerade aus). Daher habe ich ein "shutdown -t 300 -r" einmal mit dem ProcMon mitgeschnitten - es werden dabei natürlich so einige Registry Keys gelesen und geschrieben, so etwa auch der "ReasonCode" für das Herunterfahren bzw. Reboot: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Reliability\shutdown. Wenn man nun nach diesem "ReasonCode auf MSDN sucht, landet man hier: System Shutdown Reason Codes (Windows) . Die beiden Links oben sind dann interessant, denn es gibt offensichtlich die Funktion "InitiateSystemShutdownEx", die auch zurück gibt, ob das System heruntergefahren oder neugestartet wird: InitiateSystemShutdownEx Function (Windows) . Ich denke, damit kannst Du etwas anfangen. Nichtsdestotrotz noch einmal die Bestätigung der letzten Posts: Wenn Du etwas genauer sagen könntest, was Du eigentlich erreichen willst, hilft das vielleicht weiter. Viele Grüße olc Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.