Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 14
Благодарности: 0

Профиль | Отправить PM | Цитировать


Что-то типа такого(файл должен существовать, если это первый запуск, можно создать пустой, лом добавлять это):
Код: Выделить весь код
$file = Get-Item 'C:\logs\logons\logon.txt'

Get-EventLog -LogName Security -after $file.LastWriteTime | ?{(4624) -contains $_.EventID  -and $_.Message -match ‘Тип входа:’}| %{
#rdp - 10, без него будет выводить все логины match 'Тип входа:\s+(10)\s'
(new-object -Type PSObject -Property @{
TimeGenerated = $_.TimeGenerated
ClientIP = $_.Message -replace '(?smi).*Сетевой адрес источника:\s+([^\s]+)\s+.*','$1'
UserName =(([regex]'(?<=Новый вход:.*[\s\S]*.*записи:.\s)([\s\S]*)(?=\s\n.*Домен)').match($_.message).value)
UserDomain = $_.Message -replace '(?smi).*Имя рабочей станции:\s+([^\s]+)\s+.*','$1'
LogonType = $_.Message -replace '(?smi).*Тип входа:\s+([^\s]+)\s+.*','$1'
})
} | where ClientIP -ne '-' | sort TimeGenerated -Descending | Select TimeGenerated, ClientIP `
, @{N='Username';E={'{0}\{1}' -f $_.UserDomain,$_.UserName}} `
, @{N='LogType';E={
switch ($_.LogonType) {
2 {'Interactive = local logon'}
3 {'Network conection to shared folder'}
4 {'Batch'}
5 {'Service'}
7 {'Unlock (after screensaver)'}
8 {'NetworkCleartext'}
9 {'NewCredentials (local impersonation process under existing connection)'}
10 {'RDP'}
11 {'CachedInteractive'}
default {"LogType Not Recognised: $($_.LogonType)"}
}
}} | ConvertTo-Csv -NoType | Select-Object -Skip 1 | % {$_ -replace '"',''} >> C:\logs\logons\logon.txt
#}} | Format-Table -HideTableHeaders >> C:\logs\logons\logon.txt

Последний раз редактировалось rises, 24-04-2020 в 08:18.


Отправлено: 08:08, 24-04-2020 | #10