現在、特定のマシンへのユーザーのログイン履歴を表示する方法を考えています。このコマンドは、コンサルタントがサーバーにログインしている時間を表示するためにローカルで実行することを目的としています。
現在、完全な 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 の管理者特権のインスタンスから実行する必要がある可能性があります。