先週、ユーザーがいつシステムにログオンしたかを知るように頼まれました。これで、Windowsの監査ログに必要な情報がすべて含まれるようになります。特定のADユーザーとログオンタイプ2(インタラクティブログオン)でイベントID 4624(ログオン成功)を検索すると、必要な情報が得られるはずだと思いますが、実際にフィルタリングする方法はわかりませんこの情報を取得するには、イベントログをご覧ください。イベントビューア内で可能ですか、それともこのレベルまで解析するために外部ツールを使用する必要がありますか?
私はhttp://nerdsknowbest.blogspot.com.au/2013/03/filter-security-event-logs-by-user-in.htmlを見つけましたが、これは必要なものの一部のようです。最後の7日間だけの価値があるように、わずかに変更しました。以下は私が試したXMLです。
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) <= 604800000]]]</Select>
<Select Path="Security">*[EventData[Data[@Name='Logon Type']='2']]</Select>
<Select Path="Security">*[EventData[Data[@Name='subjectUsername']='Domain\Username']]</Select>
</Query>
</QueryList>
最後の7日間だけが与えられましたが、残りは機能しませんでした。
誰もこれで私を助けることができますか?
編集
Lucky Lukeの提案のおかげで、私は進歩を遂げてきました。以下は私の現在のクエリですが、説明するように結果を返していません。
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[(EventID='4624')]
and
System[TimeCreated[timediff(@SystemTime) <= 604800000]]
and
EventData[Data[@Name='TargetUserName']='john.doe']
and
EventData[Data[@Name='LogonType']='2']
]
</Select>
</Query>
</QueryList>
私が述べたように、それは結果を返さなかったので、少しいじっていました。LogonType行を追加するまで、結果を正しく生成することができます。その後、結果は返されません。なぜこれが考えられるのでしょうか?
編集2
LogonType行を次のように更新しました。
EventData[Data[@Name='LogonType'] and (Data='2' or Data='7')]
これにより、ワークステーションログオンおよびワークステーションロック解除がキャプチャされますが、それでも何も表示されません。次に、3や8などの多くの種類のログオンタイプを検索するように変更します。これにより、クエリが正常に機能すると信じるようになりますが、何らかの理由で、ログオンタイプが2のイベントログにエントリがなく、これは意味がありません。これをオフにすることは可能ですか?