AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Username aus einem Service heraus ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Username aus einem Service heraus ermitteln

Ein Thema von peter-weigel · begonnen am 29. Jun 2004 · letzter Beitrag vom 29. Jun 2004
Antwort Antwort
peter-weigel

Registriert seit: 27. Okt 2003
Ort: Halle/Saale
4 Beiträge
 
#1

Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:07
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:10
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#3

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:22
Zitat von peter-weigel:
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.
Von interaktiven Diensten ist lt. MS und Anti.Viren-Firmen dringends abzuraten.

Hier im Forum suchenshatter Bei Google suchenShatter

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
peter-weigel

Registriert seit: 27. Okt 2003
Ort: Halle/Saale
4 Beiträge
 
#4

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:27
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
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#5

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:29
Zitat von peter-weigel:
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.
Hm, ich will Dich jetzt nicht weiter davon abhalten. Aber mal eine Frage, was ist falsch an den Einträgen die der PC eh schon in Ereignisprotokoll schreibt

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
peter-weigel

Registriert seit: 27. Okt 2003
Ort: Halle/Saale
4 Beiträge
 
#6

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:36
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
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#7

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 14:52
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 Nach den nächsten Neustart wird alles nur erdenkliche im Systemprotokoll festgehalten.

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
peter-weigel

Registriert seit: 27. Okt 2003
Ort: Halle/Saale
4 Beiträge
 
#8

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 16:33
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
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#9

Re: Username aus einem Service heraus ermitteln

  Alt 29. Jun 2004, 17:12
Zitat von peter-weigel:
Im Prinzip wäre das aber ein gangbarer Weg, nicht schön aber machbar, daß ich den aktuellen Nutzer über das Ereignisprotokoll herausbekomme.
Du meinst wohl eher die angemeldeten Benutzer. Wie bereits gesagt wurde: Es kann seit XP mehrere gleichzeitig angemeldete Nutzer geben. Von denen hat zwar nur einer den Desktop (ausser bei Terminal Services (2k Server +) bzw. shared Remote Desktop, da sitzen dann zwei auf einer Sitzung), aber die Anwendungen der anderen Nutzer sind weiterhin im Hintergrund aktiv.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz