WindowsLogon でユーザーのログイン履歴を表示する

WindowsLogon でユーザーのログイン履歴を表示する

現在、特定のマシンへのユーザーのログイン履歴を表示する方法を考えています。このコマンドは、コンサルタントがサーバーにログインしている時間を表示するためにローカルで実行することを目的としています。

現在、完全な EventLog を取得するこのコマンドについてのみ知識がありますが、ユーザーごとまたは特定のユーザーを表示できるようにフィルタリングする必要があります。

Get-EventLog System -Source Microsoft-Windows-WinLogon -After (Get-Date).AddDays(-5) -ComputerName $env:computername

答え1

コメントでの議論を踏まえて、Powershell を使用してイベント ログを検索できます。

Get-EventLog security | Where-Object {$_.TimeGenerated -gt '9/15/16'} | Where-Object {($_.InstanceID -eq 4634) -or ($_.InstanceID -eq 4624)} | Select-Object Index,TimeGenerated,InstanceID,Message
  • Get-EventLogイベントログ、特にセキュリティログにアクセスできます
  • 最初のWhere-Object指定は、指定された日付より新しいレコードを取得することを指定します
  • 2番目はWhere-Object、興味のある2つのイベントIDを指定します
  • Select-Object出力に必要な列のみを返すことができます

これは Windows レジストリにアクセスするため、Powershell の管理者特権のインスタンスから実行する必要がある可能性があります。

関連情報