AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) In einem Dienst bemerken wenn sich ein User anmeldet?
Thema durchsuchen
Ansicht
Themen-Optionen

In einem Dienst bemerken wenn sich ein User anmeldet?

Ein Thema von Sharky · begonnen am 7. Feb 2006 · letzter Beitrag vom 27. Feb 2006
Antwort Antwort
Seite 2 von 2     12   
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 7. Feb 2006, 19:51
Moin Sharky,

Zitat von Sharky:
ich habe eine etwas ungewöhnliche Aufgabe.

Ich muss bei mir in der Firma den Leuten die Möglichkeit geben sich Software auf den rechnern installieren zu können.
Also für mein Verständnis nicht so wirklich ungewöhlich, ausser die Leute bekommen, beispielsweise, eine CD in die Hand gedrückt, und sollen selber installieren.
In welcher Form liegen denn die Installationen vor?

Ich kenne das bisher allerdings auch nur so, wie kalmi das beschrieben hat, über ein Verteilungssystem (z.B. Microsoft SMS-Server, NetInstall)
Grob beschrieben läuft hier auf den Rechner ein Client (i.d.R. auch als Dienst), der entweder regelmässig nachschaut, ob für den Rechner/User etwas zur Installation ansteht, oder durch die Anmeldung gestartet wird und prüft.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
thomasw

Registriert seit: 3. Dez 2005
36 Beiträge
 
#12

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 7. Feb 2006, 20:40
Es gibt keine verlaessliche Methode, herauszufinden wann ein user eingeloggt ist. Die Methode, die u.a. auch Windows verwendet, ist dass eine user login applikation bei jedem login gestartet wird, die u.a. services (umpnpmgr fuer Geraeteinstallationen) von dem logon mitteilen. Da du aber die userinit.exe von Windows nicht veraendern kannst, musst du ein separates Initialisierungsprogramm schreiben, das deinen Service vom Login benachrichtigt und bei jedem Login gestartet wird. Den Pfad zu dieser Anwendung kannst du in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon im String "Userinit" hinzufuegen. Der Registry-Value enthaelt eine Reihe von Anwendungen, die durch Kommas getrennt sind und alle bei einem Login gestartet werden. Das ist die einzige zuverlaessige und gute Methode, einen Service ueber einen Login zu benachrichtigen. Wie gesagt, diese Methode wird auch von Windows verwendet um gewisse Services zu benachrichtigen.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#13

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 7. Feb 2006, 21:35
Wie wäre es mit einer Logon-Notification-DLL die ein Event setzt und so dem Service mitteilt, was Sache ist? Das ist zumindest wie es MS vorgesehen hat und wie es kommerzielle Anbieter machen.
  Mit Zitat antworten Zitat
thomasw

Registriert seit: 3. Dez 2005
36 Beiträge
 
#14

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 7. Feb 2006, 21:41
Stimmt, die hab ich total vergessen. Wie gesagt, die Methode dich ich erlaeutert habe wird z.b. fuer den umpnpmgr service verwendet.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#15

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 8. Feb 2006, 06:20
Hai ihr,

danke für die vielen Antworten.
Ich werde mich mal mit den Methoden die thomasw und Olli vorgeschlagen haben beschäftigen.


P.S.:
Das ganze ist eine kleine Firma wo sich zum einen die Anschaffung einer "Verteilungssoftware" nicht lohnen würde und zum anderen bin ich dort nur 17 Stunden/Woche beschäftigt. Darum ist es nicht praktikabel wenn ich jedes mal weil sich ein Andwender etwas von CD intallieren muss in die Frima fahre um das schnell zu machen. Daher meine Idee mit dem Installationskonto welches immer wieder mit einem neuen Kennwort versorgt wird.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Basilikum

Registriert seit: 9. Aug 2003
389 Beiträge
 
Delphi 7 Professional
 
#16

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 8. Feb 2006, 07:35
Zitat von Sharky:
Ich werde mich mal mit den Methoden die thomasw und Olli vorgeschlagen haben beschäftigen.
Du bist dir aber bewusst, dass diese beiden Methoden nur funktionieren, wenn der Service auf dem selben physikalischen Rechner läuft, auf dem sich der User interaktiv anmeldet (sprich: der Service kann nicht mehr auf dem DC laufen, sondern muss auf jeder Workstation vorhanden sein) ?
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#17

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 8. Feb 2006, 08:55
Ist es aus deiner Sicht praktikabel das Installationskonto als lokalen Admin zu haben? Wenn ja, dann würde ich vorschlagen, daß du dir mal meine AgreementGINA2 anschaust. Wenn du die ein wenig umschreibst, hast du genau was du willst. Aktuell gibt es dort ein Gastkonto, für welches das Paßwort und so weiter im Secret Stash abgespeichert wird. Somit kann jeder sich jederzeit als Gast einloggen, hat dann aber eingeschränkte Rechte.
Wenn du allerdings irgendwie die GINA "freischalten mußt" vom DC aus, damit das Installationskonto erlaubt ist, wird's vertrackter.

Zitat von Basilikum:
Zitat von Sharky:
Ich werde mich mal mit den Methoden die thomasw und Olli vorgeschlagen haben beschäftigen.
Du bist dir aber bewusst, dass diese beiden Methoden nur funktionieren, wenn der Service auf dem selben physikalischen Rechner läuft, auf dem sich der User interaktiv anmeldet (sprich: der Service kann nicht mehr auf dem DC laufen, sondern muss auf jeder Workstation vorhanden sein) ?
Das ist fraglich, da es ja auch andere (und komplexere) IPC-Mechanismen gibt als das vorgeschlagene gemeinsame Event. Er kann also sehr wohl damit klarkommen, wenn er den richtigen Mechanismus wählt (z.B. über Mailslots, Pipes oder gar Sockets).
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 8. Feb 2006, 18:41
Moin Sharky,

wenn sich eine grosse Softwareverteilungslösung nicht anbietet (von wie vielen Clients die versorgt werden müssten ist denn die Rede?):
- Schau mal in der Freeware-Rubrik, da hatte jemand ein Installationstool gepostest
- Wäre es nicht denkbar, dass die Datenträger in der Firma sind, und Du die Installtion Remote (z.B. per VNC) durchführst? Dafür müsstest Du dann allerdings wohl einen VPN-Zugang zum Firmennetz haben
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 26. Feb 2006, 22:35
Juhu, ich habe die Antwort. Gerade im CPlusPlus Forum gefunden und an dich erinnert: http://www.c-plusplus.de/forum/viewt...is-138505.html
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#20

Re: In einem Dienst bemerken wenn sich ein User anmeldet?

  Alt 27. Feb 2006, 06:40
Zitat von Luckie:
... und an dich erinnert : ...
Super. Das werde ich mir doch gleich einmal genauer ansehen.
Danke
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16: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