Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Ветеран


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

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


Tosha_l, мне нужно всё содержимое поля, не частичное. Кроме того, у Вас там ещё и Address тем же макаром извлекается.

Впрочем, можете попробовать зараз:
Скрытый текст
Код: Выделить весь код
$oStartDate  = Get-Date -Year 2017 -Month 3 -Day 1

$cEvents = Get-EventLog -LogName Security -After $oStartDate -InstanceId 4625
$oData = New-Object -TypeName 'System.Management.Automation.PSObject' -Property @{
    'Time'     = $null;
    'UserName' = $null;
    'Address'  = $null
}

$cEvents | ForEach-Object -Process {
    $oData.Time     = $_.TimeGenerated
    $oMatch = [System.Text.RegularExpressions.Regex]::Match($Message, 'Учетная запись, которой не удалось выполнить вход:\s*ИД безопасности:\s*\S*\s*Имя учетной записи:\s*(\S*)\s*Домен учетной записи:\s*(\S*)\s*[\s\S]*Сетевой адрес источника:\s*(\S*)\s*')
    
    if($oMatch.Success) {
        $oData.UserName = ($oMatch.Captures.Groups[2..1].Value) -join '\'
        $oData.Address  = $oMatch.Captures.Groups[3].Value
    }

    $oData
} | Group-Object -Property UserName | Sort-Object -Property Count -Descending
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:42, 19-03-2017 | #15