我一直在使用下面的代码行来计算用户密码何时到期。
$Expiration = (([datetime]::FromFileTime((Get-ADUser –Identity 'MyTestUser' -Properties "msDS-UserPasswordExpiryTimeComputed")."msDS-UserPasswordExpiryTimeComputed"))-(Get-Date)).Days
这样做的问题是,当我每晚运行时,一些最近过期的密码会将结果显示为0,尽管它实际上是一个舍入的减号。我的问题是,我可以得到更详细的答案,以便我能准确地做到这一点吗?我需要能够在if语句中比较结果,因为我想确定用户密码是否在周末等过期......以便我可以通知他们。
我还有其他所有内容,只有查询详情。
答案 0 :(得分:0)
假设代码以您希望的方式工作,您可以通过.Days
工作来限制自己。该值不是四舍五入的,只是报告整天。 Timespan个对象也有其他属性。
相反,我建议从TotalHours
开始工作,并添加一些可以使用负值的逻辑。像$Expiration -gt -24 -and $Expiration -lt 72
这样的东西。这应该代表在过去24小时或接下来的3天内过期。