Einzelnen Beitrag anzeigen

Guido Eisenbeis

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

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

  Alt 2. Okt 2008, 12:54
Zitat von nahpets:
Unser Server hat weder den in %USERDOMAIN% noch den in %USERDNSDOMAIN% enthaltenen Namen.

...

Was steht bei Dir, abhängig von der Anmeldung, denn in %LOGONSERVER%?
@Stephan,
danke für den Test!

In %LOGONSERVER% steht bei mir:

Workstation OHNE Domain, lokal angemeldet: \\ComputerName
Workstation MIT Domain, lokal angemeldet: Nix
Workstation MIT Domain, in Domain angemeldet: \\ServerName*

* Obwohl bei mir zu Hause kein Server angeschlossen ist.


Zitat von Union:
Du darfst auf keinen Fall den Servernamen aus dem Domainnamen holen. Die sind normalerweise immer unterschiedlich. Den Servernamen erhältst Du über die Environment Variable LOGONSERVER.
@Union

Danke für die Info. Das ergibt auch Sinn, entsprechend unserer Tests (siehe oben).

Deine Lösung mit 'USERDNSDOMAIN' funktioniert scheinbar einwandfrei (siehe Posting #4). Dennoch haben DP-User in diesem Thread darauf hingewiesen, dass Umgebungs-Variablen unzuverlässig seien. Deshalb tue ich mir auch die Mühe an, einen anderen Weg zu finden.

Wie siehst du das denn mit der Zuverlässigkeit von Umgebungs-Variablen?


Zitat von p80286:
Wenn bei RunningOnServerOrWorkstation(Servernamen) Servernamen ein im Netz gültiger Name ist, und der Rechner nicht erreichbar ist, dann kommt "Netzwerkpfad nicht gefunden".
Ist der Rechner erreichbar, dann funktioniert auch die Server/Workstation-Erkennung.
@K-H
Das deckt sich mit den anderen Tests. Das würde doch bedeuten, dass die Erkennung in dem Code funktioniert!? Wenn man eine boolsche Abfrage auf "IsWorkstation" macht, dann würde das Ergebnis doch zuverlässig sein, oder nicht!?

Edit: Wenn man aber dann mit diesem Code dennoch auf die Umgebungs-Variable 'LOGONSERVER' zugreifen muss, dann kann man doch gleich die Lösung von Union nehmen!? Oder bekommt man den 'LOGONSERVER' auch ohne Umgebungs-Variablen? Ich habs schon mit Code probiert, der den Namen des DoainControllers ermittelt. Der funktioniert aber nur, wenn die Netzwerkverbindung zum DomainController besteht.

Wer ist denn überhaupt der Meinung, dass die Umgebungs-Variablen unzuverlässig sind, und warum?

Guido.
  Mit Zitat antworten Zitat