Перейти к основному содержанию

Кто подключался к RDP в Windows?

Windows

Что-то странное у меня творится с подключением по RDP, постоянно отваливается соединение. Захотелось мне посмотреть кто и откуда коннектился на сервер. Быстрый способ узнать кто и откуда заходил на сервер можно через PowerShell.

$RDPAuths = Get-WinEvent -LogName 'Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational' -FilterXPath '<QueryList><Query Id="0"><Select>*[System[EventID=1149]]</Select></Query></QueryList>'
[xml[]]$xml=$RDPAuths|Foreach{$_.ToXml()}
$EventData = Foreach ($event in $xml.Event)
{ New-Object PSObject -Property @{
TimeCreated = (Get-Date ($event.System.TimeCreated.SystemTime) -Format 'yyyy-MM-dd hh:mm:ss K')
User = $event.UserData.EventXML.Param1
Domain = $event.UserData.EventXML.Param2
Client = $event.UserData.EventXML.Param3
}
} $EventData | FT

rdp

Здесь мы считываем из журнала Windows события с EventID=1149: дату, время, имя пользователя, домен, IP адрес точки подключения. Событие "Remote Desktop Services: User authentication succeeded".

Журнал можно найти в разделе Applications and Services Logs → Microsoft -> Windows → Terminal-Services-RemoteConnectionManager → Operational.

Могут пригодиться и другие типы событий:

  • EventID=4624 (An account was successfully logged on)
  • EventID=4625 (An account failed to log on)
  • EventID=4778 (A session was reconnected to a Window Station)
  • EventID=4779 (A session was disconnected from a Window Station)
  • EventID=9009 (The Desktop Window Manager has exited with code X)
  • EventID=4647 (User-initiated logoff)

Дополнительно скрипт списка подключений с клиента:

$properties = @(
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LocalUser';e={$_.UserID}}
@{n='Target RDP host';e={$_.Properties[1].Value}}
)
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RDPClient/Operational';ID='1102'} | Select-Object $properties

rdp

Скрипты честно содрал здесь:

https://winitpro.ru/index.php/2018/09/25/analizing-rdp-logs-windows-terminal-rds/

Теги

 

Похожие материалы

Windows Terminal — больше чем терминал

Windows Terminal — новое терминальное приложение в Windows 10 для разработчиков и системных администраторов. Инструмент позволяет в одном окне в режиме вкладок запускать различные оболочки командной строки, PowerShell и и WSL. В одной вкладке может отображаться несколько панелей.

Запуск PowerShell скрипта в Планировщике заданий

Системному администратору часто приходится писать разные скрипты и настраивать их запуск по расписанию в Планировщике заданий (Task Scheduler). Простой пример ниже.

Теги