Ну, вот и все ... (это не будет легко;)
Сначала включите аудит в 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или что-то
- В-вкладке Trigger выберите Создать и выберите "Начать задачу" On an event
- В "Журнале" выберите Securityи в "Event ID" введите4624
- Хит Ок
- На вкладке "Действие" выберите « Создать» и выберите "Запустить программу".
- В программе типа cscript.exeи в поле Добавить аргумент введитеc:\temp\log.vbs
- Хит Ок дважды
Теперь, когда кто-то входит в систему через RDP, его имя хоста регистрируется в c:\temp\rdp.log
Обратите внимание, что также будут регистрироваться локальные логины (я еще этого не проверял, потому что я нахожусь на пульте :)
но я думаю, это не проблема.
Конечно, вы можете адаптировать log.vbs для включения имени пользователя, удаленного IP- адреса ... и т.д.
(pfew, Windows XP была намного проще. Тот просто регистрирует имя хоста в событии)
Может быть, кто-то может придумать более простое решение :)
 
 

Редактировать:
Я также обнаружил, что в журнале событий безопасности есть идентификаторы событий 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):
