![]() |
In einem Dienst bemerken wenn sich ein User anmeldet?
Hai ihr API-Profis,
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. Geleichzeitig möchten wir aber nicht das die Leute einfach so Adminrechte haben. Die überlegung ist nun ein Konto (z.B. "installation") einzurichten welches regelmässig ein neues Kennwort bekommt. Um das ganze etwas sicherer zu machen würde ich auf dem DC gerne einen Dienst laufen haben welcher, nach einer Anmeldung das Kennwort automatisch ändert (nach einem vorgegebenen Zeitraum). Ist das zu realisieren? |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Prüfe, ob die Windows Station WinStat0 existiert. Das ist die interaktive Windows Station, wenn ein Benutzer sich eingeloggt hat und am Rechner arbeitet. Siehe dazu auch:
![]() ![]() |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
@Luckie:
ich gehe jetzt davon aus, dass Sharky seine Benützer nicht auf dem DC herumfuhrwerken lässt (hoffentlich :-) )..... @Sharky: mit ![]() interessant wird es jedoch, wenn der User selber das Kennwort ändert - denn die offizielle API zum Kennwort-Ändern verlangt das korrekte alte Kennwort.... |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Hallo,
dürfen die Benutzer bei Euch wirklich selbst etwas installieren ? Also bei uns wird (fast) alles per SoftwareDelivery installiert. Du könntest den Installationsadmin generell gesperrt halten und nur auf Anfrage für eine bestimmte Zeit frei schalten und dann wieder sperren. |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Zitat:
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Zitat:
Ne, spass. Natürlich haben die User am Server nichts verloren sondern sollen sich an den Workstations anmelden. Zitat:
Zitat:
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Man kann das Konto so konfigurieren, dass der Benutzer das Kennwort nicht ändern kann. Das sollte also kein Problem sein.
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Zitat:
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Zitat:
Wen ich es richtig sehe ist für mich ja USER_INFO_2 der richige Weg um an die Infos zu kommen. Schöner wäre natürlich eine Message auf die ich nach einer Anmeldung reagieren kann so das ich nicht alle x sekunden das Konto prüfen muss. |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Kannst dir auch mal meine Unit MpuNTUser.pas angucken. Da ist eigentlich schon alles drinne, was du brauchst. Ja, eine Nachricht wäre schön. Aber wie sieht es denn mit dem Eventlog aus? Woird da etwas reingeschrieben, wenn sich jemand anmeldet und schickt dir das eventuell eine Nachricht oder löst ein Ereignis aus? Assarbad hatte da doch mal was im Forum gepostet.
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Moin Sharky,
Zitat:
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. |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
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.
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
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.
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Stimmt, die hab ich total vergessen. Wie gesagt, die Methode dich ich erlaeutert habe wird z.b. fuer den umpnpmgr service verwendet.
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Hai ihr,
danke für die vielen Antworten. :-D 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. |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Zitat:
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
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:
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
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 :? |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Juhu, ich habe die Antwort. Gerade im CPlusPlus Forum gefunden und an dich erinnert:
![]() |
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
Zitat:
Danke :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:41 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