是否可以生成过去的用户login到Windows Server 2008远程桌面服务服务器的报告?
我可以在应用程序和服务日志 – > Microsoft – > Windows – > TerminalServices-RemoteConnectionManager下find最接近的事件查看器日志。 这些日志很好,但不能显示每个login事件的用户帐户(事件ID 1149)。
有任何想法吗?
您可以使用脚本来收集这些信息。 不是理想/简单,但它会完成工作。 这是一个Powershell脚本,应该可以在Windows 7 / Server 2008r2或更高版本上运行(这个代码可以在更新的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'
首先,如果您当时没有login(或者logging已被覆盖),那么您运气不好。
其次,您要查看安全事件日志,并查找事件ID 528和540.logintypes10表示远程交互式login(RDP)。
基于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命令中指定远程计算机。