AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Lokal am Computer angemeldet, oder an Domäne?
Thema durchsuchen
Ansicht
Themen-Optionen

Lokal am Computer angemeldet, oder an Domäne?

Ein Thema von Guido Eisenbeis · begonnen am 26. Sep 2008 · letzter Beitrag vom 2. Okt 2008
Antwort Antwort
Seite 1 von 3  1 23      
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#1

Lokal am Computer angemeldet, oder an Domäne?

  Alt 26. Sep 2008, 19:30
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.)

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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 26. Sep 2008, 21:20
Guck, ob der Logon Server der lokale Computer ist oder der Domainserver. Siehe dazu mein Programm LoggedOn: http://www.michael-puff.de/Artikel/LoggedOn.shtml
Michael
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 13:45
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.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.490 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 15:11
Sehr einfach gehts mit:
GetEnvironmentVariable('USERDNSDOMAIN'); Ist das Ergebis leer, dann handelt es sich um eine lokale Anmeldung.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 17:44
Hallo Union,

was ich nicht zu hoffen wagte, ist nun eingetreten: Eine einfache Lösung, die auch zu funktionieren scheint!

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? ).

Ansonsten vielen Dank! Geniale Lösung!

Guido.




____________________________________________
Wo der Gewinn am höchsten, da ist das Recht.
(Leider nur zu wahr!)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 22:35
Zitat von Guido Eisenbeis:
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.)
Das hat nichts zu sagen, ich weiß auch viles nicht und das ist bisher noch wesentlich mehr, als dass ich weiß. Und Beides, den Artikel und das Demo zu Impersonate gibt es noch auf meiner Homepage und auch RunAsUser:
Impersinate Artikel und Demo: http://www.michael-puff.de/Artikel/Impersonate.shtml
RunAsUser: http://www.michael-puff.de/Developer/Delphi/Programme/
Es überkommt mich eben nur manchmal und dann baue ich meiner Seite um.

Zitat:
Deinen Code von LoggedOn habe ich mir kurz angesehen. Der Code ist recht umfangreich.
Länger angucken. Ist eigentlich alles hübsch in Klassen verpackt. Die entscheidende Funktion ist MSDN-Library durchsuchenNetWkstaUserEnum*. Auf die Umgebungsvariable würde ich mich nicht unbedingt verlassen. EWahrscheinlich gewinnt man eher im Lotto, als dass sie nicht vorhanden ist, aber man weiß ja nie.

*) Warum wird die Funktion jetzt nicht gefunden? Hat wahrscheinlich hiermit zu tun: http://www.delphipraxis.net/viewtopi...=946815#946815
Michael
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 23:14
Zitat von Luckie:
Länger angucken. Ist eigentlich alles hübsch in Klassen verpackt. Die entscheidende Funktion ist MSDN-Library durchsuchenNetWkstaUserEnum*.
Habs mir länger angeguckt. Leider kann ich nicht die Antwort auf meine Frage finden. So wie ich das verstanden habe, braucht auch NetWkstaUserEnum die Angabe des Server(-Namens), um dann die User aufzulisten.

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.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 23:17
Ich gebe auch nur die Domain an in meinem Programm.
Michael
  Mit Zitat antworten Zitat
Guido Eisenbeis

Registriert seit: 9. Apr 2006
389 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 23:21
Zitat von Luckie:
Ich gebe auch nur die Domain an in meinem Programm.
Wie hilft mir das?
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

Re: Lokal am Computer angemeldet, oder an Domäne?

  Alt 27. Sep 2008, 23:25
Der Befehl NetServerGetInfo sollte Dir weiterhelfen. Damit kannst Du die Arbeitsgruppe oder die Domain ermitteln.

Edit: Die Klasse TLoggedOnUser ist für Dein vorhaben genau die richtige von Michaels Programm LoggedOn Programm.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 08:20 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