get-winevent 开始和结束日期不筛选记录。 谁能告诉我为什么?我希望从最近 2 天事件下面的代码中得到,但我得到的日期可以追溯到 2010 年(我的 Windows 时钟日期是正确的(
[String]$ComputerName = $env:COMPUTERNAME#Current computer
[String[]]$EventLogNames=@("Application","System")#Main eventlogs
[System.DateTime[]]$EventStartDate = (((Get-Date).addDays(-2)).date)#date 10 days ago
[System.DateTime[]]$EventEndTime = (Get-Date)
$EventCritea = @{logname = $EventLogNames; StartTime=$EventStartDate; EndTime=$EventEndTime}
Get-WinEvent -ComputerName $ComputerName -FilterHashTable $EventCritea -ErrorAction SilentlyContinue
脚本中的错误是开始和结束日期/时间的类型 - 它们被声明为数组。
改变
[System.DateTime[]]$EventStartDate = (((Get-Date).addDays(-2)).date)
[System.DateTime[]]$EventEndTime = (Get-Date)
自
[System.DateTime]$EventStartDate = (((Get-Date).addDays(-2)).date)
[System.DateTime]$EventEndTime = (Get-Date)
或完全省略它们
$EventStartDate = (((Get-Date).addDays(-2)).date)
$EventEndTime = (Get-Date)