Root Loop Asked: 2015-09-10 18:25:15 +0800 CST2015-09-10 18:25:15 +0800 CST 2015-09-10 18:25:15 +0800 CST 如何记录从公司外部连接到终端服务器的IP? 772 我们有用户 RDP 到公司的终端服务器。有没有一种方法可以跟踪用户连接的公司外部的 IP 地址? 我知道在事件日志的终端服务下有可用的日志,但我没有看到任何公共 IP 地址用于从公司外部进行远程连接。 任何想法? terminal-server 2 个回答 Voted Best Answer JtHermit 2015-09-10T19:46:49+08:002015-09-10T19:46:49+08:00 您的问题未提供有关用户如何从外部连接到您的终端服务器的信息。我想贵公司有网关,将请求从互联网重定向到终端服务器。如果是这样,您可以在网关日志中获取此信息。 但是,如果您的终端服务器直接连接到 Internet 并且由于某些原因具有公共 IP,也许这可以帮助您: <# Features: 1) This script reads the event log "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" from multiple servers and outputs the human-readable results to a CSV. Instructions: 1) Before you run, edit this line to include one or several of your own servers. Requirements: 1) TBD April 8 2015 - Version 0.2 Mike Crowley http://BaselineTechnologies.com #> $SessionHosts = @('Server2', 'Server3', 'Server4', 'Server5') foreach ($Server in $SessionHosts) { $LogFilter = @{ LogName = 'Microsoft-Windows-TerminalServices-LocalSessionManager/Operational' ID = 21, 23, 24, 25 } $AllEntries = Get-WinEvent -FilterHashtable $LogFilter -ComputerName $Server $AllEntries | Foreach { $entry = [xml]$_.ToXml() [array]$Output += New-Object PSObject -Property @{ TimeCreated = $_.TimeCreated User = $entry.Event.UserData.EventXML.User IPAddress = $entry.Event.UserData.EventXML.Address EventID = $entry.Event.System.EventID ServerName = $Server } } } $FilteredOutput += $Output | Select TimeCreated, User, ServerName, IPAddress, @{Name='Action';Expression={ if ($_.EventID -eq '21'){"logon"} if ($_.EventID -eq '22'){"Shell start"} if ($_.EventID -eq '23'){"logoff"} if ($_.EventID -eq '24'){"disconnected"} if ($_.EventID -eq '25'){"reconnection"} } } $Date = (Get-Date -Format s) -replace ":", "." $FilteredOutput | Sort TimeCreated | Export-Csv $env:USERPROFILE\Desktop\$Date`_RDP_Report.csv -NoTypeInformation #End Microsoft Technet 网站上的这个 powershell 脚本解析有关 RDP 会话信息的事件日志,包括客户端 IP,并将人类可读的结果输出到 CSV。 lauxjpn 2021-03-26T16:51:34+08:002021-03-26T16:51:34+08:00 如果有人正在寻找 RDP 连接尝试失败的 IP 地址(例如,在对您的 Web 服务器进行暴力攻击的情况下),Windows 事件日志是Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational并且事件 ID 是140(记录为警告): A connection from the client computer with an IP address of 123.123.123.123 failed because the user name or password is not correct. 然后,您可以编写一个脚本,让防火墙阻止多次尝试失败的 IP 地址。
您的问题未提供有关用户如何从外部连接到您的终端服务器的信息。我想贵公司有网关,将请求从互联网重定向到终端服务器。如果是这样,您可以在网关日志中获取此信息。
但是,如果您的终端服务器直接连接到 Internet 并且由于某些原因具有公共 IP,也许这可以帮助您:
Microsoft Technet 网站上的这个 powershell 脚本解析有关 RDP 会话信息的事件日志,包括客户端 IP,并将人类可读的结果输出到 CSV。
如果有人正在寻找 RDP 连接尝试失败的 IP 地址(例如,在对您的 Web 服务器进行暴力攻击的情况下),Windows 事件日志是
Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
并且事件 ID 是140
(记录为警告):然后,您可以编写一个脚本,让防火墙阻止多次尝试失败的 IP 地址。