Журнал событий безопасности Windows действительно отслеживает это, но не легко извлечь из пожарного шланга. Ключевые маркеры входа в систему LDAP:
Детали будут скрываться в этих элементах XML:
При просмотре вещей в декодируемом текстовом представлении ключевые маркеры:
Детали будут:
Ключевая вещь, которая дифференцирует эти события входа в систему от регулярных событий входа в систему, состоит в том, что ldap связывает, в действительности входят в систему рассматриваемого контроллера домена. Вот почему поле "Workstation Name" заполнено в.
Формулировка поиска для получения этих событий окажется хитрой.
Старый вопрос, который я знаю, но взгляните на ADInsight: https://technet.microsoft.com/en-us/sysinternals/adinsight.aspx
Только для информации о порте,
netstat 1 -an | findstr ":389"
ИЛИ
netstat 1 -an | findstr ":636"
1 означает [
] Повторно отображает выбранный информация каждый интервал секунд. Нажмите CTRL + C, чтобы остановить повторное отображение. Если этот параметр опущен, netstat печатает выбранную информацию только один раз.
Прошло 10 лет, а заданный вопрос по-прежнему актуален :)
Я создал powershell-скрипт "сбор NETSTAT". Он запускает netstat в цикле, пока вы нажимаете Ctrl+C или при достижении количества итераций (указывается в параметрах) и собирает отдельные данные об «IP-адресе клиента»/«протоколе подключения». По завершении он генерирует файлы .txt и .csv, содержащие IP-адреса клиентов, подключенных во время работы по каждому протоколу. К сожалению, не показывает имена пользователей - только IP-адреса.
Ссылка на скрипт: https://it4it.solutions/2021/08/19/collecting-netstat/
Вам нужны имена пользователей.
По моему опыту, синтаксический анализ журнала событий безопасности Windows — очень неблагородная задача. Даже работая с наладчиками MS, они иногда не знают, что означают некоторые события.
Вы можете играть с параметрами фильтров. Теперь он собирает 4624 и 4625 событий + фильтр по длине sid >10 символов (чтобы избавиться от так называемых общеизвестных SID) и берет 100000 последних записей (если нужно "неограниченно" - меняем на 10000000). Я тестировал его на Windows 2019 Server; Работает хорошо.
Вот скрипт:
[string]$pathToSaveFiles = $PSScriptRoot +"\"
$PSOobj4CSV = @()
$nrOfLogRecordsToProcess = 10000
$hostname = $env:computername
$CurrDateTimeStr=[DateTime]::Now.ToString("yyyyMMdd-HHmmss")
$pathToCSV = "$($pathToSaveFiles)$($CurrDateTimeStr)_$($hostname)_ldap_users_IPs.csv"
write-host "Fetching records..."
$eventList = Get-WinEvent -FilterHashtable @{logname=’security’; id=4624,4625}| Select-Object -First $nrOfLogRecordsToProcess
$i=1
$recordCount = $eventList.count
foreach($currEvent in $eventList){
if ($currEvent.Properties[4].Value.Value.Length -gt 10) { #if sid more then 10 symbols
$PSOline = [pscustomobject]@{
'Time' = $currEvent.TimeCreated.ToString()
'AccountName' = $currEvent.Properties[5].Value
'IP' = $currEvent.Properties[18].Value
}
write-host "Record $i from $recordCount time: $($currEvent.TimeCreated.ToString()) AccountName: $($currEvent.Properties[5].Value) IP: $($currEvent.Properties[18].Value)"
$PSOobj4CSV += $PSOline
}
$i++
}
$PSOobj4CSV|export-CSV $pathToCSV -NoTypeInformation -append -force
Write-host "Info written to $pathToCSV file"