2017-02-11 45 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