stollex
Goto Top

Benutzername des Users, der den shutdown (reboot) eines Servers initialisiert

Hallo,

ich suche nach einer Möglichkeit ein Script bei den
Gruppenrichtlinien->Computerkonfiguration->Windows-Einstellungen->Herunterfahren (w2k3) auszuführen,
welches mir den Benutzer angibt, der das Herunterfahren ( speziell den Reboot ) initiert hat.
Dieser Benutzername soll dann von einer anderen Anwendung weitevearbeitet werden.
Es sollte so funktionieren, das selbst wenn der reboot über einen Task ausgeführt wird, der Benutzer ausgegeben wird, unter dessen Rechten der Task gestartet wurde.

Ich hatte mir das mit einem einfachen Script vorgestellt.

echo %username% | anwendung.exe

Leider bekomme ich bei diesem Vorgehen nur "SYSTEM" als User.

Eine andere Herangehensweise war, bei Serverstart das komplette Ereignissprotokoll nach dem Wort "Neustart" zu scannen, allerdings führt dies zu einer Startverzögerung von 2-3 Minuten und war somit unpraktikabel.

Weitere Experimente mit dem "last logged on User" per WMI (Win32_LogonSession) brachten keine Lösung.

Hat noch jemand eine Idee?

Content-Key: 185938

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

Printed on: April 20, 2024 at 02:04 o'clock

Member: baldur
baldur Jun 05, 2012 at 08:10:22 (UTC)
Goto Top
Hi.

Unter der EventID 1074 sieht man den User, der den Shutdown/Reboot tatsächlich durchführt.
Ist aber meist der SYSTEM-User...

Tip:
Um die Zeit der Herunterfahrens genauer zu finden (wenn Du kein Monitoring hast), suche nach EventID 6006. Die beschreibt das Herunterfahren des Eventlogs. Einer der letzten Dienste, die vor den Shutdown heruntergefahren werden

Gruss
Member: stollex
stollex Jun 05, 2012 at 09:20:32 (UTC)
Goto Top
Thx,
für die manuellen Reboots klappt das mit der Event ID super. Es erscheint tatsächlich der "echte" Nutzer.

Die Anwendung,die aufgerufen werden soll, soll unter anderem eine Datenbankverbindung herstellen (nicht lokal) und eine Mail auslösen. Bestehen zu diesem Zeitpunkt noch alle Netzverbindungen oder ist nur noch "lokales Arbeiten" möglich?
Member: baldur
baldur Jun 05, 2012 at 11:29:45 (UTC)
Goto Top
Ich meine, dass dort noch Netverbindung besteht.
Bei ID 6006 ist nur noch 'lokales' Arbeiten (und das nur ganz kurz face-smile möglich, da der Shutdown des Event-Dienstes so ziemlich der letzte Schritt ist.
Member: stollex
stollex Jun 05, 2012 at 11:43:45 (UTC)
Goto Top
Supi, dann werd ich meiner Anwendung beibringen, das sie Windows zwingen soll, auf ihre Abarbeitung zu warten :D
Member: DerWoWusste
DerWoWusste Jun 06, 2012 at 22:39:54 (UTC)
Goto Top
Hallo.
Eine andere Herangehensweise war, bei Serverstart das komplette Ereignissprotokoll nach dem Wort "Neustart" zu scannen, allerdings führt dies zu einer Startverzögerung von 2-3 Minuten und war somit unpraktikabel.
Nun, Du kannst die Suche ja auf die letzten Stunden oder den letzten Tag beschränken. Je nachdem, womit Du suchst, geht das per Parameter mit Sicherheit. dumpel.exe kann das beispielsweise.
Member: stollex
stollex Jun 07, 2012 at 12:14:41 (UTC)
Goto Top
Ich hatte meine Anfragen über WMI gemacht und dabei schon die Zeit beschränkt. Die Dauer kam von der reinen Abfrage des Ereignissprotokolls nicht aus dem eigentlichen Scanvorgang.

Ich werd's jetzt so versuchen, das mir bei jeder Abmeldung am Server der Benutzername in einer txt vermerkt wird.

Wenn es dann zum Event des Herunterfahrens kommt, wird einfach der Name aus der txt genommen und verarbeitet.

Mal schauen wies klappt.