2017-06-22 155 views
1

我對Powershell相當陌生,而且我發現學習的最佳方式是通過做。基本上,我希望通過獲得'pwdlastset'並添加90天來獲取用戶的密碼過期日期(這是我們的GPO保留時間)。我得到這個遠 - 但不可能拿到兩個打球在一起:將日期添加到日期時間查詢

$90days = New-TimeSpan -days 90 $pwdlastset = @{n='pwdLastSet';e={[DateTime]::FromFileTime($_.pwdLastSet) }}

我試圖添加兩個日期時間的比比看,但什麼都沒有發生。請任何人提供協助?

感謝,

尼克

+4

'$ pwdlastset = $ pwdlastset.AddDays(90)',假設你的'$ pwdlastset'是一個'DateTime'對象開頭? – gravity

+1

@gravity尼斯 - 請張貼答案,以便可以接受和問題標記回答。 – gms0ulman

+1

感謝您的幫助。我仍然無法弄清楚,所以我只是使用'.adddays(90)'就像你在結尾的例子中所做的那樣 - '$ pwdlastset = @ {n ='LastChangedPwd'; E = {[datetime] :: FromFileTime($ _。pwdlastset)}} Get-aduser -filter {name -like'User *'} -properties * |選擇姓名,$ pwdlastset,@ {n ='DONC'; E = {[datetime] :: FromFileTime($ _。pwdlastset).AddDays(90)}}'它給了我最終想要的結果 - 再次感謝您的幫助! – nickfitz999

回答

1

如果你的對象,$pwdlastset,是一個DateTime對象,你可以簡單地使用AddDays(#)功能,像這樣:

$pwdlastset = $pwdlastset.AddDays(90)

1

這聽起來像什麼你想要的是AddDays函數。您可以像這樣使用DateTime對象

(Get-Date).AddDays(-90) 

負數將在過去(從日期減去)。當你進行比較時,請記住,較早的日期是「晚於日期」(即-lt或-gt日期比較)