2017-02-11 47 views
0

我一直在使用一行代码,以便计算用户密码何时到期。如何识别最近过期的密码?

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

这种麻烦的是,当我运行这个每天晚上,即最近已到期一些密码给的结果为0,虽然它实际上是一个的四舍五入负号。我的问题是,我可以得到更详细的答案,所以我可以准确地做到这一点?我需要能够比较if语句中的结果,因为我想确定用户密码是否在周末过期等等,以便我可以通知他们。

我有一切,只是查询的细节。

回答

0

假设代码以您想要的方式工作,您将通过基于.Days的工作限制自己。价值不是四舍五入的,它只是报告整整一天。 Timespan对象也有其他属性。

相反,我会建议从TotalHours工作,并添加一些逻辑,将使用负值以及。类似于$Expiration -gt -24 -and $Expiration -lt 72。这应该表示在过去24小时内或在接下来的3天内过期。

+0

总小时数正是我需要的 – rrafluap