![]() |
Username aus einem Service heraus ermitteln
Hallo,
wenn ein Service als SYSTEM-Service läuft, kann er durch Interaktion mit dem Desktop herausbekommen, ob gerade ein Nutzer eingeloggt ist bzw. wann er sich ausloggt. Meine Frage ist nun, wie er den Nutzernamen des momentan eingeloggten Nutzers herausbekommen kann. Die Funktion GetUsername liefert verständlicherweise nur "SYSTEM". Mfg Peter |
Re: Username aus einem Service heraus ermitteln
Dürfte schwer werden. Es könne ja mehrere Benutzer eingeloggt sein und unter XP gibt es ja noch diese schnelle Benutzerumschaltung. Du könntest eventuell alle eingeloggten Benutzer rausbekommen, aber nicht einen spezifischen.
Mal anders gefragt: Wozu brauchst du es und/oder was willst du machen? Eventuell gibt es noch eine andere Lösung. Interaktive Dienste sind sowieso sicherheitstechnisch bedenklich, da sie unter dem System-Konto laufen. Erstell leiber eine Anwendung, die mit dem Service kommuniziert. Diese anwendung kannst du dann immer unter dem Benutzer-Konto starten. |
Re: Username aus einem Service heraus ermitteln
Zitat:
![]() ![]() ...:cat:... |
Re: Username aus einem Service heraus ermitteln
Hallo,
ich wollte einen Service schreiben, der genau protokolliert, wann der Computer gestartet oder herunter gefahren wird, wann sich wer an- oder abmeldet, wann der Computer schlafengelegt (standby) oder wieder aufgeweckt (wake up) wird. Bis auf das Ermitteln des Nutzernamens habe ich ja alles schon. Sicherlich würde auch das Einrichten eines Run-Eintrages in LOCAL_MACHINE gehen, das wäre aber keine schöne Lösung. Gruß Peter |
Re: Username aus einem Service heraus ermitteln
Zitat:
...:cat:... |
Re: Username aus einem Service heraus ermitteln
Hallo,
welche Einträge meinst du? "Der Ereignisprotokolldienst wurde gestartet." "Microsoft (R) Windows 2000 (R) 5.0 2195 Service Pack 4 Uniprocessor Free." Sind die einzigen vom heutigen Tage. Gruß Peter |
Re: Username aus einem Service heraus ermitteln
Die Überwachung muss lokal (bzw. in der Domäne) eingestellt werden. Einfach das MMC PlugIn "gpedit.msc" (Start->Ausführen) starten und zu
Richtlinien für lokaler Computer -> Computerkonfiguration -> Windows-Einstellungen -> Sicherheitseinstellungen -> Lokale Richtlinien -> Überwachungsrichtlinien gehen und das gewünschte einschalten :zwinker: Nach den nächsten Neustart wird alles nur erdenkliche im Systemprotokoll festgehalten. ...:cat:... |
Re: Username aus einem Service heraus ermitteln
Hallo,
> Nach den nächsten Neustart wird alles nur erdenkliche im Systemprotokoll festgehalten. Das ist korrekt. Allerdings ziemlich unübersichtlich. Ich könnte damit das Login überwachen, aber wie siehts mit Logout, Shutdown, ... aus. Dazu habe ich da nichts finden können. Im Prinzip wäre das aber ein gangbarer Weg, nicht schön aber machbar, daß ich den aktuellen Nutzer über das Ereignisprotokoll herausbekomme. Wobei noch abzuwägen ist, ob der Weg mit einer kleinen Run-Anwendung in LOCAL_MACHINE dann vielleicht doch die bessere Alternative ist. Gruß Peter |
Re: Username aus einem Service heraus ermitteln
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz