![]() |
AD + LastLogon & pwdLastSet - Hilfe!!!!
Hallo,
ich lese LastLogon & pwdLastSet aus Active Directory aus. Ich kann nur mit dem zurückgegeben Wert nichts anfangen bzw. diese Werte umwandeln. Ich habe die Forensuche schon bemüht und etwas gefunden aber ich werde nicht schlau daraus. Vielleicht kann mir einer etwas Gedankenunterstützung geben. Wäre sehr freundlich. Ich bekomme folgenden Wert zurück: $011C76DC Vielen Dank im voraus. |
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
Hallo Sven,
beide AD-Attribute (lastlogon und pwdlastset) sind 64-bit Wert, die du als FILETIME weiterverarbeiten kannst.
Delphi-Quellcode:
Getippt und nicht getestet.
function FileTimeToDateTime(ft: TFileTime): TDateTime;
var tzi: TTimeZoneInformation; lt, st: TSystemTime; begin GetTimeZoneInformation(tzi); FileTimeToSystemTime(ft, st); SystemTimeToTzSpecificLocalTime(@tzi, st, lt); Result := SystemTimeToDateTime(lt); end; Freundliche Grüße |
Re: AD + LastLogon & pwdLastSet
Irgendwie will es mir nicht gelingen.
Hier mein Code:
Delphi-Quellcode:
Ich habe schon versucht den Rückgabewert umzuwandeln mit VarTo... Aber leider keinen Erfolg gehabt. Für weitere Hilfestellungen wäre ich dankbar.
function FileTimeToDateTime(ft: TFileTime): TDateTime;
var tzi: TTimeZoneInformation; lt, st: TSystemTime; begin GetTimeZoneInformation(tzi); FileTimeToSystemTime(ft, st); SystemTimeToTzSpecificLocalTime(@tzi, st, lt); Result := SystemTimeToDateTime(lt); end; ... procedure Tfrm_main.GetADSInfo(suchbegriff : string); var rs,conn, com : Variant; strBase, strFilter, strAttributes, strADS : string; begin conn := CreateOleObject('ADODB.Connection'); com := CreateOleObject('ADODB.Command'); try conn.Provider := 'ADsDSOObject'; conn.open; com.ActiveConnection := conn; strBase := '<LDAP://test.com>'; if rb_name.Checked = TRUE then strFilter := '(&(objectCategory=person)(objectClass=user)(displayname='+suchbegriff+'))'; if rb_lanid.Checked = TRUE then strFilter := '(&(objectCategory=person)(objectClass=user)(sAMAccountName='+suchbegriff+'))'; strAttributes := 'givenname,sn,sAMAccountName,lastLogon,pwdLastSet,badPasswordTime,telephoneNumber'; strADS := strBase + ';' + strFilter + ';' + strAttributes + ';subtree'; Com.CommandText := strADS; Com.Properties['Page Size'] := 100000; Com.Properties['Searchscope'] := 2; Com.Properties['Cache Results'] := False; rs := Com.Execute; if Not rs.EOF then begin lbl_vorname.Caption := rs.Fields['givenname'].Value; lbl_nachname.Caption := rs.Fields['sn'].Value; lbl_lanid.Caption := UpperCase(rs.Fields['sAMAccountName'].Value); // hier knallt es: Inkompatible Typen: '_FILETIME' und 'Variant' lbl_passwordchange.Caption := DateTimeToStr(FileTimeToDateTime(rs.Fields['pwdLastSet'].Value)); end else MessageDlg('Kein Datensatz gefunden.',mtInformation,[mbOK],0); Rs := NULL; finally com := NULL; conn.Close; conn := NULL; end; end; ... Gruß, Sven |
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
Probiere es doch mal so:
Delphi-Quellcode:
var
ft: TFileTime; begin // ... Int64(ft) := rs.Fields['pwdLastSet'].Value; lbl_passwordchange.Caption := DateTimeToStr(FileTimeToDateTime(ft)); // ... end; |
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
In deinem Titel hast du das Wort Hilfe benutzt. Ist das nicht klar, dass wenn du eine Frage stellst, dass du dann Hilfe benötigst. Auch die Ausrufezeichen signalisieren, dass falls du eine hast, die Batterien deiner Funktastatur wohl alle sind, und die deshalb Ausrufezeichen setzt^^. Nimms mit nicht über aber du musst doch zugeben, dass es nicht gerade übersichtlich ist, oder? Änder dies bitte!
Wenn du jetzt bsp. dein Passwort vergessen hast oder so, oder sagen wir mal dein Delphi startet nicht mehr, dann kann man dass ja so betonen und hervorheben oder so. |
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
Ich würde es ja ändern aber wie?
@marabu: danke schon mal im voraus. Ich kann es leider erst morgen testen. Ich lass euch wissen, wie das Ergebnis ist. Schönen Abend. |
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
Wie aber wie? Einfach bei dem Beitrag auf Edit klicken und dann den Titel ändern, wo ist das Problem?
|
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
@Larsi:
Zitat:
|
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
Was Soll das eigentlich LARSI?
Schlechten Tag gehabt? |
Re: AD + LastLogon & pwdLastSet - Hilfe!!!!
Sei nachsichtig und schieb es seiner Jugend zu :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 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