Zitat von
p80286:
so richtig funktionieren kann Dein Code nicht, da Du den Domainennamen übergibst und nicht den Namen eines Servers.
Ich hab Deinen Code ausprobiert und bin auf "Netzwerk nicht gefunden" gekommen. Und mein Rechner arbeitet garantiert im Netz.
Hallo K-H,
das erklärt natürlich einiges! Vorallem auch die Fehlermeldung, die bei meinem Test erschien. Ist die selbe wie bei dir. Danke für den Test!
Zitat von
p80286:
Ich hab versucht über NetServerEnum die bekannten Server zu finden, tue mich aber mit der Parameterübergabe etwas schwer.
Hab jetzt auch Tests durchgeführt mit anderem Code. Das hat jedoch auch nicht anderes ergeben. Das heißt, hier sind dann Luckie und Rolf Warnecke gefragt, die scheinbar den Code in TLoggedOnUser für eine brauchbare Lösung halten. Ich bin jedoch nicht in der Lage, diese zu erkennen. Deshalb die Bitte an euch, mir zu sagen wie's geht.
Zitat von
nahpets:
bin als Domänenbenutzer an meinem Rechner angemeldet und habe ausprobiert:
Delphi-Quellcode:
ShowMessage(RunningOnServerOrWorkstation(GetEnvironmentVariable('USERDOMAIN')));
ShowMessage(RunningOnServerOrWorkstation(GetEnvironmentVariable('USERDNSDOMAIN')));
Das erste ShowMessage liefert mir "Der Netzwerkpfad wurde nicht gefunden."
Das zweite ShowMessage liefert mir "This is a Server."
Das kannst Du auch auf der Dosebene per Ping prüfen:
Delphi-Quellcode:
ping %USERDNSDOMAIN%
ping %USERDOMAIN%
Erste Variante liefert Dir die
IP des Domänservers, zweite variante kann Host nicht finden.
Hallo Stephan,
auch dir danke für den Test! Das sieht jetzt so aus, als ob der Code so funktionieren würde (wenn das Netzwerk angeschlossen ist). Widerspricht allerdings dem Test von K-H. Ist bei euch beiden ein Netzwerk angeschlossen? Heißt der Server gleich oder unterschiedlich wie die Domain? Woran könnte es sonst liegen und wie lässt sich das lösen?
Falls sich da nichts ergibt, nehme ich die Lösung von Union mit GetEnvironmentVariable('USERDNSDOMAIN')!
Freue mich auf eure Anregungen.
Guido.