I was recently asked if there was any way to fill in the LastLogoff timestamp
The short answer is no. The values in the attributes related to logons are maintained by Active Directory during the logon process.
I wouldn’t want them to be programmable as that as would create a potential loop hole in my logging process.
As far as I can tell LastLogoff isn’t currently used in Active Directory though if you have access to the Exchange cmdlets you could use Get-mailboxStatistics to discover logon and loggoff times to the mailbox which would be close