Tagging you
@alexseigler as this long post won't show up in Notifications ;)
This should be a little more optimized than my first post:
Get-MgBetaUser -All:$true -Property SignInActivity,UserPrincipalName -Filter ("(signInActivity/lastSuccessfulSignInDateTime le {0}) or signInActivity/lastNonInteractiveSignInDateTime le {0}" -f(Get-Date (Get-Date).AddDays($(0 - 90)) -UFormat %Y-%m-%dT00:00:00Z)) | Select-Object UserPrincipalName,@{label="LastSuccessfulSignInDateTime";expression={$_.SignInActivity.LastSuccessfulSignInDateTime}},@{label="LastNonInteractiveSignInDateTime";expression={$_.SignInActivity.LastNonInteractiveSignInDateTime}} | Where-Object { $_.LastSuccessfulSignInDateTime -lt (Get-Date).AddDays(-90) -and $_.LastNonInteractiveSignInDateTime -lt (Get-Date).AddDays(-90) }