Terminal-Server
如何記錄從公司外部連接到終端伺服器的IP?
我們有使用者 RDP 到公司的終端伺服器。有沒有一種方法可以跟踪使用者連接的公司外部的 IP 地址?
我知道在事件日誌的終端服務下有可用的日誌,但我沒有看到任何公共 IP 地址用於從公司外部進行遠端連接。
任何的想法?
您的問題未提供有關使用者如何從外部連接到您的終端伺服器的資訊。我想貴公司有網關,將請求從網際網路重定向到終端伺服器。如果是這樣,您可以在網關日誌中獲取此資訊。
但是,如果您的終端伺服器直接連接到 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。