仕事の開始時間と終了時間を記録する必要があります。時々、これを忘れて、セキュリティイベントログをチェックすることで、自分の時間を遡及的に確認できるという明るい考えを持っていました。
残念ながら、ログは思ったよりもはるかに大きく、イベントビューアに表示するのにも時間がかかります。また、ログを日付とユーザーIDでフィルタリングしてみましたが、これまでのところ結果はありません。
私のアイデアが実現可能であるとすれば、必要な情報を取得するために私がしなければならないことを誰かがステップスルーできますか?
更新:
@surfasbの指示に従い、ログインのみが表示されるようになりましたが、これらの一部はシステムレベル(つまり、人間以外)のログインです。他のすべてのものではなく、私の「物理的な」ログインのみを表示します(そのようなイベントは平日に2〜3回しかありません)。
以下に示すように、domain\username
とusername
の両方を使用して、Windowsユーザー名をフィールドに入力してみましたが、これはすべてを除外します。お手伝いできますか?
デフォルトの構成では、かなり乱雑になります。これは、Windowsがネットワークコンピュータにログインする必要があるときにも追跡するためです。また、ユーザーアカウントではなくコンピュータアカウントがログインセッションを作成するたびに追跡します。
audit logonオプションではなく、audit account logonオプションを使用する必要があります。
探しているイベントには、アカウントの完全修飾ドメイン名が含まれます。たとえば、ドメインにいない場合、探している検索テキストはcomputer_name/account_nameです。
編集
別のアイデアは、ログインおよびログオフスクリプトを作成することです。 Windows 7のエディションによっては、gpedit.msc
を使用してグループポリシーコンソールを起動できます。
次に、logevent "My login/logoff event" -e 666
コマンドを含むバッチファイルが必要になります。このイベントはアプリケーションログに表示されます
編集
ドメインを使用していない場合、これは簡単です。ローカルセキュリティ/ローカルポリシー/セキュリティオプションに移動する場合、「強制監査...」オプションを探します。名前を忘れてしまいました。しかし、それを無効にします。ユーザーがコンソールにログインすると、場合によっては同じイベントIDが共有されるため、セキュリティログの詳細度が低くなります。検索したいいくつかのイベントID:
通常、イベント4647と4648を使用して取得できます。残念ながら、コンピューターにログインしてログオフすると何千ものイベントが発生するため、確実な起動方法はありません。
それは価値があるため、仕事では、起動するログインスクリプトを探し、ログオフでは、2つのプログラムと、確実な起動イベントとして探す同期イベントがあります。
簡単な解決策:
このメソッドは、ログに記録するイベントまたはイベントのセットに役立ちます。複雑なタスクやサードパーティのソフトウェアは必要ありません。
[〜#〜] xml [〜#〜]フィルタータブを使用して、以下を指定してください:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[EventID=4672]
and EventData[Data[@Name='SubjectUserName'] = 'your_username']]
</Select>
</Query>
</QueryList>
私は同じ問題を抱えており、次の手順を使用してそれを解決することができました:
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オプションが必要なのは、探している情報(ログイン時間)が、探しているパターン(ユーザー名)を含む行の4行上に格納されているためです。
D:log2.txtからログイン時間を抽出します
$ grep "Time" log2.txt > log3.txt
Log3.txtは、指定されたユーザーのすべてのログイン時間をリストします。
時間:2012年12月12日14時12分32秒
時間:7.12.2012 16:20:46
時間:5.12.2012 19:22:45
時間:5.12.2012 18:57:55
より簡単な解決策はおそらく存在しますが、私はそれを見つけることができなかったので、これは私のためにトリックをしなければなりませんでした。