On approximately 9/7/2009 1:17 PM, came the following characters from 
the keyboard of Jares, Howard M:
> I need to calculate the password expiration date for users in Active 
> Directory.
>  
> This is basically done by obtaining the domain maxPwdAge which is a 64 
> bit value that represents how often the users password must be changed.
>  
> I also need to obtain the date that the user last changed his/her 
> password from AD which is stored as passwordLastChanged. This is 
> another 64 bit time value.
>  
> MSDN states that the account password expiration date is determined by 
> adding the maxPwdAge to the account passwordLastChanged date to get 
> the date the password will expire.
>  
> Since the values stored by AD are 64 bit, the functions return 64 bit 
> values. Arithmetic is typically 32 but operations, but in this case I 
> need to add these two values using 64 bit arithmetic.
>  
> my $oDomain = Win32::OLE->GetObject("ldap://".$strDomain/ 
> <ldap://%22.$strDomain/>);
> my $maxPwdAge = $oDomain->Get("maxPwdAge"); # 64 bit value
> my $objUser = Win32::OLE->GetObject("LDAP://" . $strUserDN);
> my $objLastPasswordChanged = $objUser->Get("passwordLastChanged"); # 
> 64 bit value
>  
> This is the problem... how do the addition in 64 bit mode?
>  
> my $PasswordExpirationDate = $objLastPasswordChanged + $maxPwdAge;
>  
> Any advice or help would be appreciated.
>  
> Howard

Have you ever heard of Math::BigInt ?
_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to