Windows Server 2008リモートデスクトップサービスサーバーへの過去のユーザーログインのレポートを生成することはできますか?
私が見つけることができる最も近いイベントビューアログは、アプリケーションとサービスログ-> Microsoft-> Windows-> TerminalServices-RemoteConnectionManagerの下にあります。これらのログは適切ですが、各ログインイベント(イベントID 1149)のユーザーアカウントを表示できません。
何かアイデアはありますか?
スクリプトを使用して、この情報を収集できます。理想的/単純ではありませんが、それで仕事が完了します。これは、Windows 7/Server 2008r2以降で動作するはずのPowershellスクリプトです(このコードは、新しいPowershellバージョンでさらにクリーンアップできますが、下位互換性のためにそのままにしておきます)。
$LogName = 'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational'
$Results = @()
$Events = Get-WinEvent -LogName $LogName
foreach ($Event in $Events) {
$EventXml = [xml]$Event.ToXML()
$ResultHash = @{
Time = $Event.TimeCreated.ToString()
'Event ID' = $Event.Id
'Desc' = ($Event.Message -split "`n")[0]
Username = $EventXml.Event.UserData.EventXML.User
'Source IP' = $EventXml.Event.UserData.EventXML.Address
'Details' = $Event.Message
}
$Results += (New-Object PSObject -Property $ResultHash)
}
$Results | Export-Csv 'Remote Desktop Users.csv'
https://gallery.technet.Microsoft.com/Log-Parser-to-Identify-8aac36bd に基づく
Get-Eventlog -LogName Security | where {$_.EventId -eq "4624"} | select-object @{Name="User"
;Expression={$_.ReplacementStrings[5]}} | sort-object User -unique
ReplacementStringsから他の情報を取得できます。 Get-Eventlogコマンドでリモートコンピューターを指定することもできます。
まず、その時点でログに記録しなかった場合(またはログが上書きされてしまった場合)、運が悪かったことになります。
次に、セキュリティイベントログを調べて、イベントID 528および540を探します。ログオンタイプ10は、リモートインタラクティブログオン(RDP)を示します。