DateTime.pm

Deans, Glenn (IT Solutions US) wrote:
> Can anyone give me some direction for handling the UTC Coded time?  I
> think I'm just missing something obvious, but I just can't get this into
> a useable format for doing any kind of date math.
>
> ................................ 
> Kind regards 
>
> Glenn Deans 
> Architect 
> Siemens IT Solutions and Services 
> Urbana, OH USA
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Deans,
> Glenn (IT Solutions US)
> Sent: Tuesday, January 27, 2009 3:15 PM
> To: [email protected]
> Subject: Date math with UTC Coded Time
>
> I'm tasked with obtaining a list of all systems in AD where the
> modifyTimeStamp is older than 90 days.  Fairly easy to re-use some code
> and do some simple date math, right?  I seem to be able to access the
> value from an ADO query, but it doesn't always display properly, even if
> I use Win32::OLE::Variant instead of dereferencing the variable like so:
>
>       use Win32::OLE;
>       $Win32::OLE::Warn = 3;
>       use Win32::OLE::Variant;
>       use constant ADS_SCOPE_SUBTREE => 2;
>       use constant ADS_CHASE_REFERRALS_EXTERNAL => 0x40;
>
>       $objConn = Win32::OLE->new('ADODB.Connection');
>       $objCmd = Win32::OLE->new('ADODB.Command');
>       $objConn->{Provider} = 'ADsDSOObject';
>       $objConn->Open('Active Directory Provider');
>       die Win32::OLE->LastError() if Win32::OLE->LastError(  );
>       $objCmd->{ActiveConnection} = $objConn;
>       $objCmd->{CommandText} = "Select Name,modifyTimeStamp from
> \'LDAP://DC=foobar,DC=com\' Where objectClass=\'Computer\'";
>       $objCmd->SetProperty("Properties", 'Page Size', 1000);
>       $objCmd->SetProperty("Properties", 'Searchscope',
> ADS_SCOPE_SUBTREE);
>       $objCmd->SetProperty("Properties", 'Chase referrals',
> ADS_CHASE_REFERRALS_EXTERNAL);
>       my $objRecSet = $objCmd->Execute();
>       die Win32::OLE->LastError() if Win32::OLE->LastError(  );
>       until ($recset->EOF){
>               $modified = $recset->Fields('modifyTimeStamp')->Value;
>               print "Modified=$modified\n";
>               # displays 
>               $recset->MoveNext;
>       }
>
> It seems any dates from last year come out as 1/9/2009 2:22:05 AM.  I'm
> not sure what I'm doing wrong, but maybe someone could point it out to
> me?  Then once that is corrected, how can you easily tell if it's > 90
> days since it doesn't seem to be an epoch time?
>
> ................................ 
> Kind regards 
>
> Glenn Deans 
> Architect 
> Siemens IT Solutions and Services 
> Urbana, OH USA
>
> _______________________________________________
> ActivePerl mailing list
> [email protected]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
> _______________________________________________
> ActivePerl mailing list
> [email protected]
> To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
>
>   
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to