大量のクライアント (Windows 7\8.1) から転送されたイベントを受信するように構成された Windows Server 2008 R2 があります。WLAN-Autoconfig ソースからイベント ID 範囲 8000 ~ 8006 のイベントを受信します (サーバーにはソースがありませんが、そのソースから受信できるようにサブスクリプションに追加できます)。
サーバーは米国英語でインストールされ、ノルウェー語のロケール\カルチャーを持っています。クライアントは NB-no ノルウェー語でインストールされ、ノルウェー語のロケール\カルチャーを持っています。
私が最初に遭遇した問題の 1 つは、サーバーがイベントを正しく読み取れなかったことです。次のエラーが発生しました。
ソース 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 ログからカスタム ビューを作成しました。
ログ = 転送されたイベント
ID = 8000-8003
開始時間 = 日付
終了時間 = 後で
そして驚いたことに、イベント ログでこのフィルターに一致するはずのイベントが多数表示されているにもかかわらず、イベントが返されませんでした。
さまざまなフィルターを試したところ、次の結果が得られました。
テスト1
ログ: 転送されたイベント
ID: 8000-8003
開始日: 未記入
終了日: 記入済み
結果: すべての結果を取得します (終了日を過ぎても)
テスト2
ログ: 転送されたイベント
ID: 8000-8003
開始日: 入力済み
終了日: 未記入
結果: 結果が得られない
テスト3
ログ: 転送されたイベント
ID: すべてのイベントID
開始日: 入力済み
終了日: 未記入
結果: ID 111 のイベントを取得します (これは新しいクライアントのサブスクリプション開始通知だと思います)
テスト4
ログ: 転送されたイベント
ID: すべてのイベントID
開始日: 入力済み
終了日: 記入済み
結果: ID 111 のイベントを取得します (これは新しいクライアントのサブスクリプション開始通知だと思います)
私の質問は次のとおりです。
なぜこのようなことが起こるのでしょうか、またどうすれば修正できるのでしょうか?