저는 많은 양의 클라이언트(Windows 7\8.1)로부터 전달된 이벤트를 수신하도록 구성된 Windows Server 2008 R2를 가지고 있습니다. WLAN-Autoconfig 소스에서 이벤트 ID 범위 8000-8006의 이벤트를 수신합니다(서버에 소스가 없지만 해당 소스에서 수신할 수 있도록 구독에 추가할 수 있음).
서버는 미국 영어로 설치되고 노르웨이어 로캘\문화가 있습니다. 클라이언트는 노르웨이어가 아닌 NB로 설치되었으며 노르웨이어 로케일\문화가 있습니다.
내가 직면한 첫 번째 문제 중 하나는 서버가 이벤트를 제대로 읽을 수 없다는 것이었습니다. 이 오류가 발생했습니다.
원본 Microsoft-Windows-WLAN-AutoConfig에서 이벤트 ID 8000에 대한 설명을 찾을 수 없습니다. 이 이벤트를 발생시키는 구성 요소가 로컬 컴퓨터에 설치되어 있지 않거나 설치가 손상되었습니다. 로컬 컴퓨터에 구성 요소를 설치하거나 복구할 수 있습니다.
이벤트가 다른 컴퓨터에서 시작된 경우 표시 정보는 이벤트와 함께 저장되어야 했습니다.
이벤트 객체와 내용은 아직 도착했고, 수집한 목적에 맞게 사용할 수 있었기 때문에 큰 문제는 아니었습니다.
그러나 나중에 이러한 이벤트를 가져오고 필터링하기 위해 Powershell 스크립트를 작성하려고 할 때 몇 가지 문제에 직면했습니다.
먼저 다음 방법을 시도했습니다.
Get-WinEvent -ComputerName $ServerName -FilterHashtable @{logname = 'ForwardedEvents'; id = 8000, 8001, 8002, 8003; StartTime = $StartDate; EndTime = $EndDate } -MaxEvents 3
하지만 이 쿼리는 값을 반환하지 않았습니다. 필터에서 "StartTime" 및 "EndTime"을 제거하면 어떤 이유로 작동하게 되었습니다. "-FilterHashTable" 옵션이 작동하지 않는다고 확신하여 "-FilterXML" 옵션을 사용해 보았지만 그렇게 하려면 구문을 찾기 위해 이벤트 로그에 필터를 만들어야 했습니다.
서버에 로그온하고 이벤트 뷰어를 열고 다음 옵션을 사용하여 ForwardedEvents-log에서 사용자 정의 보기를 만들었습니다.
로그 = 전달된 이벤트
ID = 8000-8003
StartTime = SomeDate
EndTime = SomeDateLater
이벤트 로그에서 이 필터와 일치해야 하는 많은 이벤트를 볼 수 있음에도 불구하고 놀랍게도 이벤트가 반환되지 않았습니다.
다양한 필터를 사용해 본 결과는 다음과 같습니다.
테스트 1
로그: 전달된 이벤트
ID: 8000-8003
시작 날짜: 입력되지 않음
종료일: 입력됨
결과: 모든 결과를 얻습니다(EndDate 이후에도 마찬가지).
테스트 2
로그: 전달된 이벤트
ID: 8000-8003
시작 날짜: 입력됨
종료 날짜: 입력되지 않음
결과: 결과가 없습니다.
테스트 3
로그: 전달된 이벤트
ID: 모든 이벤트 ID
시작 날짜: 입력됨
종료 날짜: 입력되지 않음
결과: ID 111의 이벤트를 가져옵니다(새 클라이언트에 대한 구독 시작 알림인 것 같습니다).
테스트 4
로그: 전달된 이벤트
ID: 모든 이벤트 ID
시작 날짜: 입력됨
종료일: 입력됨
결과: ID 111의 이벤트를 가져옵니다(새 클라이언트에 대한 구독 시작 알림인 것 같습니다).
내 질문은 다음과 같습니다.
왜 이런 일이 발생하며 어떻게 해결할 수 있나요?