Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi NICHT INTERAKTIVER Windows Active directory logon (https://www.delphipraxis.net/103279-nicht-interaktiver-windows-active-directory-logon.html)

iskywalker 16. Nov 2007 14:48

Re: NICHT INTERAKTIVER Windows Active directory logon
 
Hi!
Ich korrigiere mich.
Alter Mann: username wurde gzurückgeliefert, aber nicht login name. D. h. vorname und nachname und nicht mein login.
Danke!

generic 16. Nov 2007 17:13

Re: NICHT INTERAKTIVER Windows Active directory logon
 
Ja was soll ich machen, soll ich dir den Code geben für welchen ein Kunde viel Geld gezahlt hat?
Du kannst einfach das Beispiel im MSDN abtippen, fertig.
Andere Variante du kannst den Delphicode bei mir kaufen.
Ich habe 8 Stunden dran gesessen, bis der Code fehlerfrei gearbeitet hat.
Danach wird sich der Preis richten. Schreib mich dann bitte per PN an.
Die Kerberos Lösung erfordert keine Eingaben des Users.

Wir können dir doch nicht alles programmieren und du setzt dich ins gemachte Nest.
Ich habe dir die Funktionen gesagt, welche benötigt werden. Jetzt leg los.

Alter Mann 16. Nov 2007 17:54

Re: NICHT INTERAKTIVER Windows Active directory logon
 
Hi iskywalker,

LoginName, etwa so?

Delphi-Quellcode:
function LoginName : String;
var
  ADSystemInfo : TADSystemInfo;
  _aUser       : IADsUser;
begin
  Result := 'ohne';
  ADSystemInfo := TADSystemInfo.Create(Self);
  try
    if SUCCEEDED(ADsGetObject('LDAP://' + ADSystemInfo.UserName, IADsUser, _aUser)) then Result := _aUser.Get('sAMAccountName');
  finally
    ADSystemInfo.FreeOnRelease;
  end;
end;
@generic

Warum so aufgebracht, habe ich etwas überlesen?

Gruß

iskywalker 19. Nov 2007 14:22

Re: NICHT INTERAKTIVER Windows Active directory logon
 
Tausend Dank Alter Mann!
Hätte ich selber drauf kommen können (in der ActiveDs_TLB.pas steht ja alles).
Wenn man _aUser zurückgelierfert bekommt, da kann man ne menge infos holen (in der ActiveDs_TLB.pas sind die Funktionen beschrieben).

generic:
Ich wollte nur einen Einstieg und keine komplette Lösung! Tut mir leid, wenn es dir so viel gekostet hat, dafür habe ich selber wenig Dokumentation gefunden. Wobei fragen darf ich ja noch? Oder wofür ist der forum hier (im schlimmsten fall hätte ich deine Lösung gekauft, aber das thema ist nicht so dringend, und was ich wirklich brauche, habe ich bereits gefunden (Tabelle mit alle user an den Active Directory)).

generic 19. Nov 2007 15:17

Re: NICHT INTERAKTIVER Windows Active directory logon
 
Ich habe mir deine Ursprungsfrage nochmal durchgelesen und feststellen müssen, dass was ich dir geschrieben habe nicht viel damit zu tun hat.

Das was ich geschrieben habe kann einen Prozess welcher in einen Konto läuft in das Konto des Nutzers bringen (per Kerberos).

Allerdings habe ich auch keine Ahnung wo du drauf hinaus willst.
Ein PC welcher in einer Domain ist, kann 2 unterschiedliche Arten von Usern anmelden lassen.
Lokale User und Domain User

Mit den Windows API Funktionen GetUserName und GetUsernameEx kannst du den Usernamen/Domain ermitteln.

Ist der User nicht im AD wird er sich nicht anmelden können an der Kiste.
Also brauchst du eigendlich nur zu prüfen ob er lokales Konto oder ein Domainkonto nutzt.

Daher meine ich brauchst du keine LDAP-Anfrage machen.

iskywalker 19. Nov 2007 17:34

Re: NICHT INTERAKTIVER Windows Active directory logon
 
Uhm guter punk!
Ich muss aber für ein anderes Program die email bekommen, und mit IADsUser ist das prima gelöst.
Ich hoffe nicht zu sehr zu nerven, aber wie bekommt man die Info, dass ein user lokal angemeldet ist, und nicht über das netzwerk OHNE LDAP ?
Geht das über LookUpAccountName (testen ob local geht dann in der domain, wie hier gemacht wurde?
DAnke noch mal!

generic 19. Nov 2007 18:07

Re: NICHT INTERAKTIVER Windows Active directory logon
 
die email hat aber nichts mit dem benutzerkonto zu tun.

natürlich der exchangeserver erweitert das ad um die emailfelder, aber der nutzer braucht ja kein exchangekonto verwenden. der nutzer könnte ja auch ein z.b. thunderbird verwenden mit einen gmail konto.
auch das exchange konto ist ist nicht an einer emailadresse gebunden. über drittanbieter wie z.b. gfi kann das postfach auch anders gefüllt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 Uhr.
Seite 2 von 2     12   

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