2017-01-26 7 views
0

어제부터 PowerShell을 사용하여 TaskScheduler 이벤트의 결과를 얻으려고합니다.어제부터 이벤트 가져 오기

Get-WinEvent -LogName Microsoft-Windows-TaskScheduler/Operational -MaxEvents 5 | 
    Where-Object ($_.TimeCreated -gt [DateTime]::Today.AddDays(-1)) 
Format-List * 

참고 : 이것은 내 코드입니다

  1. -MaxEvents 5 내가 개발하고있는 동안 출력을 제한하는 것입니다.

  2. Where-object을 제거하면 cmdlet에서 전체 목록을 반환합니다. 이는 필터링이 적용되지 않기 때문에 예상됩니다. 따라서 오류는 필터링이 수행되는 방식이어야합니다.

+0

필터 식을 작동하지만, 당신의 구문이 잘못되었습니다 -

$date = (Get-Date).AddDays(-1) $events = Get-WinEvent -FilterHashTable @{ LogName = "System"; StartTime = $date;} $events | Format-List 

당신은 이벤트 로그에 거의 모든 필드를 필터링 할 수 있습니다. 필터 표현식은 괄호가 아니라 중괄호로 묶어야합니다 :'... | Where-Object {...} | ...' –

답변

1

당신은 모든 이벤트를 검색하고 그 당신이 원하는 경우에만 필터링보다 빠른 것, 필터링 Get-WinEventFilterHashTable 속성을 사용할 수 있습니다.

이렇게하면 TaskScheduler에 대한 로깅이 없기 때문에 시스템 로그에서 마지막 날의 모든 이벤트를 검색합니다. further info on this