将日期添加到日期时间查询
问题描述:
我对Powershell相当陌生,而且我发现学习的最佳方式是通过做。基本上,我希望通过获得'pwdlastset'并添加90天来获取用户的密码过期日期(这是我们的GPO保留时间)。我得到这个远 - 但不可能拿到两个打球在一起:将日期添加到日期时间查询
$90days = New-TimeSpan -days 90 $pwdlastset = @{n='pwdLastSet';e={[DateTime]::FromFileTime($_.pwdLastSet) }}
我试图添加两个日期时间的比比看,但什么都没有发生。请任何人提供协助?
感谢,
尼克
答
如果你的对象,$pwdlastset
,是一个DateTime
对象,你可以简单地使用AddDays(#)
功能,像这样:
$pwdlastset = $pwdlastset.AddDays(90)
答
这听起来像什么你想要的是AddDays函数。您可以像这样使用DateTime对象
(Get-Date).AddDays(-90)
负数将在过去(从日期减去)。当你进行比较时,请记住,较早的日期是“晚于日期”(即-lt或-gt日期比较)
'$ pwdlastset = $ pwdlastset.AddDays(90)',假设你的'$ pwdlastset'是一个'DateTime'对象开头? – gravity
@gravity尼斯 - 请张贴答案,以便可以接受和问题标记回答。 – gms0ulman
感谢您的帮助。我仍然无法弄清楚,所以我只是使用'.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