如何查看用户的 Office 365 密码日期(上次更改日期、密码过期日期等)?

如何查看用户的 Office 365 密码日期(上次更改日期、密码过期日期等)?

我知道我可以看到我们内部 Active Directory 的密码日期(上次更改日期、密码过期日期等)。如何使用 PowerShell 或其他方式查看 Office 365 帐户的此信息?有时拥有这些信息非常方便。我特别需要查看人们的密码何时更改。

谢谢,乔诺

答案1

我想我已经知道了,或者至少我有足够的知识来弄清楚我需要什么。

Get-MsolUser -userprincipalname [email protected] | select DisplayName, LastPasswordChangeTimeStamp,@{Name=”PasswordAge”;Expression={(Get-Date)-$_.LastPasswordChangeTimeStamp}}

结果如下所示(日期和时间格式将与您的计算机的格式相匹配):

DisplayName    LastPasswordChangeTimestamp PasswordAge
-----------    --------------------------- ----------- 
User, Name     09-Mar-16 5:48p             42.22:34:10.6964630

为了查看密码超过 30 天的所有用户,请使用此功能。

Get-MsolUser -All | select DisplayName, LastPasswordChangeTimeStamp,@{Name=”PasswordAge”;Expression={(Get-Date)-$_.LastPasswordChangeTimeStamp}} | where {$_.PasswordAge -gt “30”} | sort-object PasswordAge -descending

它将列出所有密码使用时间超过 30 天的用户,并按密码使用期限对列表进行排序。

我希望这也能帮助其他人。

答案2

想在这里分享一下。

该脚本生成7个不同的Office 365密码报告。

https://o365reports.com/2020/02/17/export-office-365-users-last-password-change-date-to-csv/

使用此脚本,您可以生成以下密码报告。

  • 密码到期日报告
    • 密码最后更改日期报告
    • 密码过期用户报告
    • 密码永不过期用户报告
    • 即将到期密码用户报告
    • 最近密码更改的用户报告
    • 授权用户的密码报告

在此处输入图片描述

答案3

要正确计算针对 UTC 时间的年龄,您可以使用 ToUniversalTime() 方法。

Get-MsolUser -All | select DisplayName, LastPasswordChangeTimeStamp,@{Name=”PasswordAge”;Expression={((Get-Date).ToUniversalTime())-$_.LastPasswordChangeTimeStamp}} | sort-object PasswordAge -desc

相关内容