![]() |
Lokal am Computer angemeldet, oder an Domäne?
Hallo.
Nachdem ich nun das halbe Internet runtergeladen und gelesen habe, ist zwar mein Wissen, aber auch mein Kopf angeschwollen, von der Komplexität des Themas. Grundsätzlich geht es um Benutzerrechte, bezogen auf die Anmeldung als Admin, Standardnutzer oder eingeschränkter Nutzer. Das Ganze dann noch sowohl lokal am PC, als auch in einer Domäne. Ich habe mich nun recht intensiv mit diesen Dingen beschäftigt und bin nun an einem Punkt, wo ich eure Hilfe brauche. (Weil ich sonst noch durchdrehe.) :cyclops: Mein Problem: Wie kann ich ermitteln, ob ein Programm im Kontext eines lokalen Benutzers oder eines Domänennutzers läuft? Hintergrund ist eine RunAsAdmin-Applikation, bei der ich am Anfang die Daten eines Benutzers auslese. Diese Daten sind der User-Name und die "Domain". Bei der Domain kann es dann eine echte Netzwerkdomäne sein, oder es wird der Computername ausgelesen. Es gibt nun zwei RadioButtons: einen für "Local" und einen für "Domain". Nun würde ich gerne den richtigen RadioButton vorbelegen. Dazu müsste ich aber wissen, ob der ermittelte User lokal oder an einer Domäne angemeldet ist. Da es nun einen Benutzer(-Namen) sowohl lokal als auch in der Domäne geben kann (z. B. "Administrator") ist das schon mal eine Hürde. Die weitaus größere Hürde ist jedoch, dass ein Computername genauso lauten kann, wie ein Domänenname (oder?). Wie kann ich also zuverlässig ermitteln, ob z. B. gerade der lokale oder der Domänen-Administrator mein Programm ausführt? Guido. Edit: Schreibfehler korrigiert. |
Re: Lokal am Computer angemeldet, oder an Domäne?
Guck, ob der Logon Server der lokale Computer ist oder der Domainserver. Siehe dazu mein Programm LoggedOn:
![]() |
Re: Lokal am Computer angemeldet, oder an Domäne?
Hallo Michael,
ich hatte schon auf eine Antwort von dir gehofft, da in ich-weiß-nicht-wieviel-Prozent aller Themen, Tipps und Codes dein Name aufgetaucht ist. (Unter anderem auch "Impersonate" und "RunAsUser", das allerdings nur noch erwähnt, aber nirgends als Code zu finden ist. Weder auf deiner Seite, noch über Download-Links.) Deinen Code von LoggedOn habe ich mir kurz angesehen. Der Code ist recht umfangreich. Vielleicht kannst du mir ein wenig Sucherei ersparen und mir die relevanten Stellen nennen, die es ermöglichen zu ermitteln, ob der Nutzer lokal oder an einer Domäne angemeldet ist. Bei LoggedOn scheint es umgekehrt zu sein: Dort muss man erst angeben, ob am lokalen PC oder in einer Domäne gescannt werden soll. Das hilft mir leider nicht weiter. Vielleicht kannst du da ein wenig Licht in die Sache bringen. :) Guido. |
Re: Lokal am Computer angemeldet, oder an Domäne?
Sehr einfach gehts mit:
Delphi-Quellcode:
Ist das Ergebis leer, dann handelt es sich um eine lokale Anmeldung.
GetEnvironmentVariable('USERDNSDOMAIN');
|
Re: Lokal am Computer angemeldet, oder an Domäne?
Hallo Union,
was ich nicht zu hoffen wagte, ist nun eingetreten: Eine einfache Lösung, die auch zu funktionieren scheint! :hello: Weißt du auf welche Win-Versionen das beschränkt ist, oder wo ich das erfahren kann? Ausreichen würde es, wenn es funktioniert ab Win2000 und später, also: Win2000 Prof, WinXP Home, Prof, Vista (evtl. alle), und Win200x Server (Hab ich eine vergessen? :gruebel: ). Ansonsten vielen Dank! Geniale Lösung! Guido. ____________________________________________ Wo der Gewinn am höchsten, da ist das Recht. (Leider nur zu wahr!) |
Re: Lokal am Computer angemeldet, oder an Domäne?
Zitat:
Impersinate Artikel und Demo: ![]() RunAsUser: ![]() Es überkommt mich eben nur manchmal und dann baue ich meiner Seite um. Zitat:
![]() *) Warum wird die Funktion jetzt nicht gefunden? :roll: Hat wahrscheinlich hiermit zu tun: ![]() |
Re: Lokal am Computer angemeldet, oder an Domäne?
Zitat:
Ich brauche aber das "Gegenteil": "Domäne"*, UserName und Passwort habe ich. Ich will nun wissen, ob die "Domäne" eine Netzwerk-Domäne ist oder ein lokaler Wert*. * "Domäne" enthält entweder den Namen der Netzwerk-Domäne oder den Namen des Computers / der Arbeitsgruppe. Guido. |
Re: Lokal am Computer angemeldet, oder an Domäne?
Ich gebe auch nur die Domain an in meinem Programm.
|
Re: Lokal am Computer angemeldet, oder an Domäne?
Zitat:
|
Re: Lokal am Computer angemeldet, oder an Domäne?
Der Befehl
![]() Edit: Die Klasse TLoggedOnUser ist für Dein vorhaben genau die richtige von Michaels Programm LoggedOn Programm. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:16 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