将对象转换为日期,然后进行比较

时间:2018-10-19 15:41:30

标签: powershell

我的目的是获取专门针对日期(星期天)的报告。 我有这种类型的对象:

@odata.type       : #microsoft.graph.anonymousIpRiskEvent
id                : ////////
riskEventStatus   : active
riskLevel         : medium
riskEventType     : AnonymousIpRiskEvent
riskEventDateTime : 2018-10-16T08:45:16.3264945Z
closedDateTime    : 
createdDateTime   : 2018-10-16T09:52:05.0144201Z
userId            : /////////
userDisplayName   : ////////
userPrincipalName : ////////
ipAddress         : ////////
location          : ////////

我显然在名为$ event的对象中有更多事件,而我想做的只是,但我做不到:对于$ event中的每个事件,如果createdDateTime已在yersterday中创建,则将其放到一个东西。 我可以制作我的自定义对象并在以后导出它,但是我真的无法弄清楚如何将日期与getdate.adddays(-1)进行比较。 预先感谢。

1 个答案:

答案 0 :(得分:2)

您需要先将字符串转换为datetime对象,然后才能进行比较。它已经采用了应通过仅将其转换为[datetime]类型进行转换的格式。例如:

if ([datetime]$Event.createdDateTime -lt (get-date).adddays(-1) {
    ..
}

如果要基于此属性进行过滤,可以执行以下操作:

$Events | Where-Object {[datetime]$_.CreatedDateTime -lt (Get-Date).AddDays(-1)}