I have a vbscript that I use to unload popular attributes for users. It outputs the data in a csv file. I want to add the lastlogontimestamp to the file. I got the additional code to work but for certain users it seems at certain times, their last logon attribute is missing a value which causes the script to fail with the message,
Active Directory: The directory property cannot be found in the cache.
The 2nd line below is causing the failure.
Set objUser = GetObject(objRecordSet.Fields("ADsPath").Value)
Set objLastLogon = objUser.Get("lastLogonTimestamp")
intLastLogonTime = objLastLogon.HighPart * (2^32) + objLastLogon.LowPart
intLastLogonTime = intLastLogonTime / (60 * 10000000)
intLastLogonTime = intLastLogonTime / 1440
strDomain & "," & _
objUser.sAMAccountName & "," & _
strDomain & "\" & objUser.sAMAccountName & "," & _
objUser.Name & "," & _
objUser.HomeDirectory & "," & _
objUser.TerminalServicesHomeDirectory & "," & _
objUser.TerminalServicesProfilePath & "," & _
objUser.TerminalServicesHomeDrive & "," & _
objUser.ProfilePath & "," & _
objUser.ScriptPath & "," & _
objUser.HomeDrive & "," & _
objUser.AllowLogon & "," & _
objUser.AccountDisabled & "," & _
Chr(34) & strDN & chr(34) & "," & _
intLastLogonTime + #1/1/1601#
Set objUser = nothing
I know I can add "On Error Resume Next" to the code to bypass these types of errors but I will be missing that users record in the csv file just because the lastlogontimestamp has a missing value.
In other words, is there a way to code this so that if the lastlogontimestamp attribute or any other for that matter, is missing, output the rest of the attributes that do have values?