LastItemModifiedDate vs LastItemUserModifiedDate in SharePoint
When did a person, not a process, last change this site?
30-second answer
Get-PnPWeb -Includes LastItemModifiedDate, LastItemUserModifiedDate |
Select-Object LastItemModifiedDate, LastItemUserModifiedDate
LastItemModifiedDate moves when anything touches the site, including
system processes. LastItemUserModifiedDate moves when a person does. For
any question about activity, the second date is the answer and the first is
noise.
What this proves
The timestamp of the last change made by a user identity on this site, as distinct from the last change made by anything at all.
What it does not prove
- Whether anybody reads the site. Both dates track writes. A reference site that hundreds of people open every week and nobody edits looks identical to a site nobody wants.
- Who made the change or what it was. One corrected typo resets the clock as thoroughly as a year of daily work.
PowerShell
$web = Get-PnPWeb -Includes LastItemModifiedDate, LastItemUserModifiedDate
$days = [int]((Get-Date).ToUniversalTime() - $web.LastItemUserModifiedDate).TotalDays
"{0} days since a person changed anything" -f $days
Example output
LastItemModifiedDate LastItemUserModifiedDate
-------------------- ------------------------
06/08/2026 15:30:33 10/01/2025 09:12:04
573 days since a person changed anything
Explanation
The example is from a real tenant, and it is why the distinction is the
whole answer: on the day of collection, every site checked had a
LastItemModifiedDate of that same day, because a system process had
touched all of them. The user date told the real story: one site had gone
573 days without a person. Any inactivity report built on the first date
would have concluded the tenant was uniformly busy.
Production considerations
- Both properties are on the
Webobject and load with-Includes; there is no admin-centre requirement, site read access is enough. - Compare against a recorded collection time, not "now": a gap in days is only true relative to a moment, and a report read a year later should still say what was true on the day.
- A locked or archived site cannot be changed by anybody. Check
LockStateandArchiveStatusbefore calling a site abandoned; a site somebody decided about is not a site nobody wants.
References
- Web properties (CSOM) (Microsoft Learn)
- Get-PnPWeb (PnP PowerShell)
