如何识别最近过期的密码?

时间:2017-02-11 02:11:08

标签: powershell datetime active-directory

我一直在使用下面的代码行来计算用户密码何时到期。

$Expiration = (([datetime]::FromFileTime((Get-ADUser –Identity 'MyTestUser' -Properties "msDS-UserPasswordExpiryTimeComputed")."msDS-UserPasswordExpiryTimeComputed"))-(Get-Date)).Days

这样做的问题是,当我每晚运行时,一些最近过期的密码会将结果显示为0,尽管它实际上是一个舍入的减号。我的问题是,我可以得到更详细的答案,以便我能准确地做到这一点吗?我需要能够在if语句中比较结果,因为我想确定用户密码是否在周末等过期......以便我可以通知他们。

我还有其他所有内容,只有查询详情。

1 个答案:

答案 0 :(得分:0)

假设代码以您希望的方式工作,您可以通过.Days工作来限制自己。该值不是四舍五入的,只是报告整天。 Timespan个对象也有其他属性。

相反,我建议从TotalHours开始工作,并添加一些可以使用负值的逻辑。像$Expiration -gt -24 -and $Expiration -lt 72这样的东西。这应该代表在过去24小时或接下来的3天内过期。