В предыдущей статье мы рассмотрели анализ журнала System на предмет ошибок. Сегодня мы рассмотрим журнал Security на предмет подключения к нашему серверу через RDP. Нам необходимо узнать кто, когда и откуда подключался к нашему серверу терминалов. Все наши сервера работают на Windows Server 2008 R2. Ниже я привожу часть скрипта, который легко можно добавить в основной, который описан в соседней статье.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
$dtNow = Get-Date $dtPrev = $dtNow.AddHours(-1) $login = @() # Массив подключения пользователя $logout = @() # Массив отключения пользователя Get-EventLog -LogName security | Where -FilterScript { ($_.TimeWritten -le $dtNow -and $_.TimeWritten -ge $dtPrev -and $_.EventID -eq 4624 -and $_.ReplacementStrings[8] -eq 10)} | ForEach-Object { $login += New-Object PSObject -Property @{ ComputerName = $env:ComputerName TimeGenerated = $_.TimeGenerated User = $_.ReplacementStrings[5] Ip = $_.ReplacementStrings[18] SessionID = $_.ReplacementStrings[7] } } Get-EventLog -LogName security | Where -FilterScript { ($_.TimeWritten -le $dtNow -and $_.TimeWritten -ge $dtPrev -and $_.EventID -eq 4634 -and $_.ReplacementStrings[4] -eq 10)} | ForEach-Object { $logout += New-Object PSObject -Property @{ ComputerName = $env:ComputerName TimeGenerated = $_.TimeGenerated User = $_.ReplacementStrings[1] SessionID = $_.ReplacementStrings[3] } } $login $logout |