Windowsイベントログに2つの日付の間に発生したイベントを照会するPowerShell関数を作成しようとしています。カスタムログまたは標準のログを照会するとき 次のコードは正常に動作します:Windowsイベントログ 'Forwarded Events'に日付を照会できません
$FilterXML = @"
<QueryList>
<Query Id="0" Path='$LogName'>
<Select Path='$LogName'>
*[System[TimeCreated[@SystemTime>='2017-04-17T09:48:24.000Z' and
@SystemTime<='2017-04-19T09:50:24.999Z']]]
</Select>
</Query>
</QueryList>
"@
Get-WinEvent -FilterXml $FilterXML
我々は、Windows Server 2008 R2のように、他のサーバーからイベントを収集するために、当社のWindows Server 2012を設定しました。イベントビューアでイベントを確認すると、ログForwarded Events
で利用可能であることがわかります。 GUIやPowerShellで日付を指定せずにクエリを実行すると、正常に動作します。
ただし、 GUIまたはPowerShellで、同じ「Forwarded Events」ログに日付を追加して照会したいときFromと日付Selectionには、単に一致するものが見つからないということだけです。どちらが間違っているのは、これらのイベントをチェックすると、それらの日付の間に日付があるTimeCreated
というプロパティがあるからです。
Get-WinEvent : No events were found that match the specified selection criteria.
イベントが作成されたソースコンピュータで同じクエリを実行すると、日付とともに正常に動作します。コレクタサーバーでは、過去7日間または24時間のイベントのみを選択すると、これも正常に動作します。だから、それは私が推測するイベントの転送とDateTime
オブジェクトの転送と関係があります。両方のサーバーで地域設定を確認しましたが、日付形式の場合は同じオランダ語(ベルギー)です。
日付を使用することはできません例イベント:
Message : johofman - Script ended
Id : 199
Version :
Qualifiers : 0
Level : 4
Task : 1
Opcode :
Keywords : 36028797018963968
RecordId : 768
ProviderName : My script name
ProviderId :
LogName : My log name
ProcessId :
ThreadId :
MachineName : SERVER.domain.net
UserId :
TimeCreated : 19/04/2017 16:02:56
ActivityId :
RelatedActivityId :
ContainerLog : c:\windows\system32\winevt\logs\forwardedevents.evtx
MatchedQueryIds : {}
Bookmark : System.Diagnostics.Eventing.Reader.EventBookmark
LevelDisplayName : Information
OpcodeDisplayName : Info
TaskDisplayName :
KeywordsDisplayNames : {Classic}
Properties : {System.Diagnostics.Eventing.Reader.EventProperty}
これは、すべてのイベントログのではなく、Forwarded Events
をのために働いている理由はありますか?
イベントログは、hereのように構成されています。
ありがとうございました。
のGet-WinEventの-LogName ForwardedEvents? –
'-FilterXML'でこれを使用しても、日付を追加するときには正しい結果が得られません。 – DarkLite1