Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Windows Server 2008以降でユーザー名を指定してイベントログをフィルタリングする方法

Windows Server 2003 や Windows XP の時代には、イベントビューアーのフィルター設定にある「ユーザー」欄にアカウント名を入力するだけで、特定のユーザーに関連するイベントを簡単に絞り込むことができました。ところが、Windows Server 2008 や Windows 7 以降の環境では、このシンプルな検索方法が使えなくなっています。

Windows Server 2008以降でユーザー名を指定してイベントログをフィルタリングする方法

Windows Server 2008 で「ユーザー」列が機能しなくなった理由

Windows Server 2008 の標準的なイベントログ表示には、「ユーザー(User)」フィールドが存在しません。表示(View)メニュー → 列の追加と削除(Add/Remove Columns)から列を追加することは可能です。

Windows Server 2008以降でユーザー名を指定してイベントログをフィルタリングする方法

列を追加すると「ユーザー」項目自体は表示されますが、そこにはイベントを発生させたユーザー名は現れず、「N/A」という表示になるだけです。アカウント情報は、イベント本体の説明文(この例では Security ID や Account Name の値)に格納されるようになったためです。それでは、どのようにしてユーザー名でイベントを絞り込めばよいのでしょうか。

Windows Server 2008以降でユーザー名を指定してイベントログをフィルタリングする方法

XML(XPath)クエリを手動編集してフィルタリングする

Windows Server 2008 以降でユーザー名などの属性を条件にイベントを抽出するには、XML クエリ(XPath)を手動で編集する方法を利用します。

補足: XPath を活用したログ内イベントの検索については、関連記事「あるタスクの完了後にスケジュールされたタスクを実行する方法(Running a Scheduled Task after another)」でも紹介しています。

手順1. 「現在のログをフィルター」を開く

イベントビューアーで対象のログ(ここではセキュリティ(Security)ログ)を開き、右クリックのコンテキストメニューから Filter Current Log…(現在のログをフィルター) を選択します。

手順2. XML タブでクエリを直接編集する

XML タブに切り替え、Edit query manually(クエリの手動編集) にチェックを入れます。

Windows Server 2008以降でユーザー名を指定してイベントログをフィルタリングする方法

次のコードをコピーして貼り付けると、指定したユーザーのイベントだけを選択できます。username の部分を実際のアカウント名に置き換えてください。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[EventData[Data[@Name='SubjectUserName']='username']]</Select>
  </Query>
</QueryList>
Windows Server 2008以降でユーザー名を指定してイベントログをフィルタリングする方法

フィルターの変更を保存してログを確認すると、指定したアカウントに関連するイベントだけが残っているはずです。

なお、Data 要素の属性名(@Name='SubjectUserName' の部分)はイベントの種類によって異なります。対象イベントの「詳細」タブで XML 表示を確認し、目的に合った属性名(TargetUserName など)を指定すると、より正確に抽出できます。

イベント ID と組み合わせてさらに絞り込む

たとえば、特定ユーザーのイベントに加えて、ログオン成功を示すイベント ID 4624(アカウントが正常にログオンしました)と、ログオン失敗を示すイベント ID 4625(アカウントがログオンに失敗しました)のみを抽出したい場合は、XPath フィルターを次のように記述します。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[(EventID=4624 or EventID=4625)]]</Select>
    <Select Path="Security">*[EventData[Data[@Name='SubjectUserName']='username']]</Select>
  </Query>
</QueryList>
  1. Windows 8 / 7でフィルターキーをオン・オフにする方法をわかりやすく解説

    「キーボードがフィルターキーの状態のまま固まってしまい、Windows 8でフィルターキーをオフにしたいのですが、どうすればいいですか?本当に困っています。このせいでPCがほとんど使えなくなってしまいました」 フィルターキーは、短時間の入力や連続したキーストロークを無視することで、誤操作を防ぐためのWindowsのアクセシビリティ機能です。しかし、キーを一定時間以上押し続けないと入力が反映されないため、意図せず有効になっていると非常にストレスを感じることもあります。特に右側のShiftキーを8秒間押し続けると自動的に起動してしまうため、「いつの間にかオンになっていた」というケースも少なくありま

  2. 【Windows 10】イベントID 4「wcifs」エラー(0xC000000D)とシステムの復元エラー0x80070091の解決方法

    Windows 10 パソコンのイベント ビューアー(システム ログ)に、次のような警告が表示されることがあります。「ファイル システム フィルター wcifs(バージョン 10.0、2016-09-15T19:42:03.000000000Z)はボリューム \Device\HarddiskVolumeShadowCopy3 にアタッチできませんでした。このフィルターは標準外の最終ステータス 0xC000000D を返しました。このフィルターおよびそのサポート アプリケーションは、この状態を処理する必要があります。この状態が続く場合は、ベンダーにお問い合わせください」 「ファイル システム