是否有 RDP 连接的日志文件(带有系统名称)

是否有 RDP 连接的日志文件(带有系统名称)

有没有可能知道远程接管系统的系统名称?从日志中我们可以知道用户名(但这些是通用登录 ID)和 IP(但我们使用的是 DHCP,这些每天都在变化)。

在左侧的事件查看器树中应用程序和服务日志->视窗->终端服务-*,其中 * 是那里的所有日志。在终端服务本地会话管理器操作日志中,我们仅获取 IP 地址和用户名的详细信息。

我们可以在日志中找到系统名称吗?

答案1

好吧,开始吧...(这并不容易;)

第一的启用审计secpol.msc
我发现这是必要的,因为其他事件触发得太早而无法获取主机名。

  • 单击“开始”,secpol.msc然后键入enter
    将显示“本地安全策略”窗口
  • 现在导航到Local Policy>Audit Policy
    并右键单击Audit account logon events策略选项并选择Properties
  • 现在选中该Success框(这样失败的尝试将不会被记录)
  • 退出secpol.msc

现在创建一个 VBScript 文件(例如名为c:\temp\log.vbs):(
还可以编辑所需日志文件的位置,此处c:\temp\rdp.log

Function sessionNumber
 Dim oShell, oExec, sOutput, iUserPos, iUserLen, iStatePos
 Set oShell = CreateObject("WScript.Shell")
 Set oExec = oShell.Exec("query session %username%")
 sOutput = LCase(oExec.StdOut.ReadAll)
 iUserPos = InStr(sOutput,LCase(oShell.ExpandEnvironmentStrings("%username%")))
 iStatePos = InStr(sOutput,"active")
 iUserLen = Len(oShell.ExpandEnvironmentStrings("%username%"))
 sessionNumber = CInt(Trim(Mid(sOutput,iUserPos+iUserLen,iStatePos-iUserPos-iUserLen)))
End Function

Function clientName
 Dim oShell
 Set oShell = CreateObject("WScript.Shell")
 On Error Resume Next
 clientName = LCase(oShell.RegRead("HKCU\Volatile Environment\"&sessionNumber&"\CLIENTNAME"))
 If Err.Number<>0 Then
 clientName =  "unknown"
 End If
End Function

outFile="c:\temp\rdp.log"

Const ForAppending = 8

Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objFile=objFSO.OpenTextFile(outFile,ForAppending,True)
objFile.Write now() & " ; " & clientName & vbCrLf
objFile.Close

现在,最后一部分是创建一个用于启动该脚本的计划任务。

  • 单击“开始”并输入,taskschd.msc然后点击enter
  • Create Task在右侧窗格中选择
  • 给它起个名字Logon RDP或者别的
  • 在触发器选项卡中选择New并选择“开始任务”On an event
  • 在“日志”中选择Security并在“事件 ID”中输入4624
  • Ok
  • 在“操作”选项卡中选择New“启动程序”
  • 在程序类型cscript.exe和添加参数类型中c:\temp\log.vbs
  • 击中Ok两次

现在,当有人通过 RDP 登录时,他们的主机名就会登录c:\temp\rdp.log

请注意,本地登录也将被记录(我还没有测试过,因为我在远程:),
但我想这不是问题。

当然,您可以调整log.vbs以包含用户名,远程 IP...等等。

(呼,Windows XP 简单多了。那个只是在事件中记录主机名)
也许有人能想出一个更简单的解决方案:)


在此处输入图片描述 在此处输入图片描述 在此处输入图片描述


编辑:

我还发现安全事件日志中有事件 ID 4624。查找带有 的事件Logon Type: 3。它应该包含Workstation Name通过 RDP 登录的计算机的。

An account was successfully logged on.

Subject:
    Security ID:        NULL SID
    Account Name:       -
    Account Domain:     -
    Logon ID:       0x0

Logon Type:         3

New Logon:
    Security ID:        User-PC\User
    Account Name:       User
    Account Domain:     User-PC
    Logon ID:       0xcd5c10
    Logon GUID:     {00000000-0000-0000-0000-000000000000}

Process Information:
    Process ID:     0x0
    Process Name:       -

Network Information:
    Workstation Name:   XPS8500
    Source Network Address: -
    Source Port:        -

编辑#2

这是从完全干净的 Windows 7 安装得到的。
(主机是Test-pc,我登录的机器是XPS8500):

在此处输入图片描述

相关内容