イベントビューアーを使用して、ユーザーによってフィルター処理されたログイン時間を確認するにはどうすればよいですか?


15

仕事の開始時刻と終了時刻を記録する必要があります。ときどきこれを行うのを忘れて、セキュリティイベントログを確認することで時間を遡及的に確認できると考えていました。

残念ながら、ログは思ったよりもはるかに大きく、イベントビューアーに表示するまでに時間がかかります。また、日付とユーザーIDでログをフィルタリングしようとしましたが、これまでのところ何の結果もありません。

私の考えが実現可能であると仮定すると、だれでも必要な情報を取得するために必要なことをステップスルーできますか?

更新:

@surfasbの指示に従い、ログインのみを表示できるようにしましたが、これらの一部はシステムレベル(つまり、非人間)のログインです。「物理的な」ログインのみ(平日はそのようなイベントが2つまたは3つしかありません)を表示し、他のすべてのログインは表示しないようにします。

下に示すように、両方domain\usernameを使用してフィールドにWindowsユーザー名を入力しようとしましたusernameが、これはすべてを除外します。お手伝いできますか?

ここに画像の説明を入力してください

回答:


10

デフォルトの構成では、かなり面倒です。これは、Windowsがネットワークコンピューターにログインする必要があるときはいつでも追跡するためです。また、ユーザーアカウントではなくコンピューターアカウントがログインセッションを作成するたびに追跡します。

監査ログオンオプションではなく、監査アカウントログオンオプションを使用する必要があります。

探しているイベントには、アカウントの完全修飾ドメイン名があります。たとえば、ドメインにいない場合、探している検索テキストはcomputer_name / account_nameです。

編集する

別のアイデアは、ログインおよびログオフスクリプトを作成することです。Windows 7のエディションに応じgpedit.mscて、グループポリシーコンソールを起動するために使用できます。

次に、あなただけのコマンドを持っているバッチファイルが必要になりますlogevent "My login/logoff event" -e 666。このイベントは、アプリケーションログに表示されます

編集する

ドメインにいない場合、これは簡単です。[ローカルセキュリティ] / [ローカルポリシー] / [セキュリティオプション]に移動する場合は、[強制監査...]オプションを探します。名前を忘れました。ただし、無効にしてください。コンソールでログインするユーザーは、場合によっては同じイベントIDを共有するため、セキュリティログの冗長性が低下します。探したいイベントID:

  • イベント4647-これは、ログオフ、再起動、シャットダウンボタンを押したときです。コンピューターを再起動するWindows Updateもこのイベントをオフに設定することがあります:(
  • イベント4648-これは、プロセス(ログイン画面を含む)がトークンを言うのではなく、明示的な資格情報を使用してログインする場合です。これには、Runasコマンドと多くの場合、バックアッププログラムが含まれます。
  • イベント4800-WIN + Lを押すなど、ワークステーションがロックされている場合
  • イベント4801-ワークステーションのロックが解除されたとき

通常、イベント4647および4648を使用して取得できます。残念ながら、コンピューターにログインしてログオフするときに発生するものは数千あるため、確実な起動方法はありません。

そのため、職場では、起動するログインスクリプトを探し、ログオフ時には、2つのプログラムと、確実に起動するイベントを探す同期イベントがあります。


お返事をありがとうございます。もう少し詳しく説明していただけますか?私はWin7システム管理の暗い世界に新しいです:-(
5arx

どこから始めればいいのかわかりません。「コンピューターの電源を入れますか?」
surfasb

エヘム。イベントビューアーログをフィルター処理する限り、私はなんとか取得できたと安全に想定できます...
5arx

[ローカルセキュリティオプション]の下に移動し、[アカウントログオンの監査]をオンにします。了解。ここで1時間後に投稿を編集します。。。
surfasb

編集に役立つイベントをいくつか追加しました。それがお役に立てば幸いです。
surfasb

1

簡単なソリューション:

  1. カスタムビューを作成するイベントを開きます。
  2. ウィンドウを表示される場所に移動します(画面の片側、2番目のモニター、または印刷)
  3. 新しいビューを作成し、開いたイベントパラメータ(例:ユーザー、キーワード、コンピューターなど)を使用して定義します。この場合、ユーザーはN / Aだったため、コンピューターとイベントID(4624ではなく4648)を使用しました。
  4. 必要に応じてパラメーターを変更した後、保存します。

このメソッドは、ログに記録するイベントまたはイベントセットに役立ちます。複雑なタスクやサードパーティのソフトウェアは必要ありません。


0

私は同じ問題を抱えており、これらの手順を使用してそれを解決することができました:

A:MyEventViewer(フリーウェア)をインストールし、このプログラムのイベントリストを開きます。

残念ながら、MyEventViewerで説明でイベントをフィルタリングする方法は見つかりませんでした(説明にはログイン名が格納されています)が、少なくともメインテーブルに説明が表示されます。

B:このテーブルをlog1.txtにエクスポートします

C:高度なテキスト検索プログラムを使用して、特定のユーザーのログイン時間を抽出します。

grepを使用しました。

これは、エクスポートされたイベントの形式です。

ログの種類:セキュリティ

イベントタイプ:監査成功

時間:10.12.2012 18:33:24

イベントID:680

ユーザー名:SYSTEM

コンピューター:YYY

イベントの説明:ログオン試行:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0ログオンアカウント:XXXソースワークステーション:YYYエラーコード:0x0

==================================================

==================================================

最初に、ユーザーXXXによるすべてのログオン試行を抽出します。

$ grep -B 4 "Logon attempt by: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Logon account: XXX" log1.txt > log2.txt

これにより、ユーザーXXXによるログオン試行がフィルタリングされ、log2.txtに出力されます。-B 4 grepオプションが必要なのは、探している情報(ログイン時間)が探しているパターン(username)を含む行の4行上に格納されているためです。

D: log2.txtからログイン時間を抽出する

$ grep "Time" log2.txt > log3.txt

log3.txtは、指定されたユーザーのすべてのログイン時間をリストします。

時間:10.12.2012 14:12:32

時間:7.12.2012 16:20:46

時間:5.12.2012 19:22:45

時間:5.12.2012 18:57:55

より簡単な解決策はおそらく存在しますが、私はそれを見つけることができなかったので、これは私のためにトリックをしなければなりませんでした。


0

[ XMLフィルター]タブを使用して、次を指定してください。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[EventID=4672] 
     and EventData[Data[@Name='SubjectUserName'] = 'your_username']]
    </Select>
  </Query>
</QueryList>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.