note 61144 added to ref.ldap
| From: | brudinie at yahoo dot co dot uk | Date: | Thu, 26 Jan 2006 16:43:13 +0000 |
| Subject: | note 61144 added to ref.ldap | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-102502@lists.php.net to get a copy of this message | ||
LDAP Active Directory Last Logon (lastlogon).
This took me an entire day to work out. If you want to get the last logon date from an active
directory account, you have to convert it from AD time stamp to unix time stamp.
Once you've got a unix time stamp, PHP can format it as a date.
Here is the code to do it:
$dateLargeInt=$info[$i]["lastlogon"][0]; // nano seconds (yes, nano seconds) since
jan 1st 1601
$secsAfterADEpoch = $dateLargeInt / (10000000); // seconds since jan 1st 1601
$ADToUnixConvertor=((1970-1601) * 365.242190) * 86400; // unix epoch - AD epoch * number of
tropical days * seconds in a day
$unixTsLastLogon=intval($secsAfterADEpoch-$ADToUnixConvertor); // unix Timestamp version of
AD timestamp
$lastlogon=date("d-m-Y", $unixTsLastLogon); // formatted date
----
Server IP: 84.18.202.180
Probable Submitter: 217.33.207.195 (proxied: 1.0 RBC-WSGT-CHE01 (NetCache NetApp/5.5R4), 1.1
RBC-WSGT-WSU02)
----
Manual Page -- http://www.php.net/manual/en/ref.ldap.php
Edit -- http://master.php.net/manage/user-notes.php?action=edit+61144
Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes&reason=added+to+the+manual
Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes&reason=bad+code
Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes&reason=spam
Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes&reason=useless
Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes&reason=non-english
Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes&reason=already+in+docs
Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+61144&report=yes
Reject -- http://master.php.net/manage/user-notes.php?action=reject+61144&report=yes
Search -- http://master.php.net/manage/user-notes.php