Получить имя пользователя от Get-Winevent

Как я могу получить "Имя учетной записи" для раздела "Учетная запись, для которой не удалось войти в систему" в выводе ниже от Get-EventLog? Я знаю, что это включает в себя замену строк, но это просто не получается:

Get-EventLog -ComputerName fs2 -Logname security |
  ? {$_.eventid -eq "4625"} |
  select machinename, eventid, @{n='AccountName';e={$_.ReplacementStrings[2]}},
         entrytype, message |
  Export-Csv 1.csv -NoTypeInformation

Пример записи в журнале событий:

TimeCreated: 18.05.2016, 8:55:43
ProviderName: Microsoft-Windows-Security-Auditing
Id: 4625
Сообщение: не удалось войти в аккаунт.

               Предмет:
                   Идентификатор безопасности:        S-1-5-21-1287344763-2688370722-3395302928-19873
                   Имя учетной записи:       service_adfs
                   Домен аккаунта: ДОМЕН
                   Идентификатор входа:           0xD62E4

               Тип входа: 3

               Учетная запись, для которой не удалось войти в систему:
                   Идентификатор безопасности:        S-1-0-0
                   Имя учетной записи:       user.thatiwant@DOMAIN.com
                   Домен аккаунта:

РЕДАКТИРОВАТЬ: Не уверен, почему они отредактировали мой пост, чтобы включить устаревший командлет, прекрасно работает с новым командлетом get-winevent. Регулярное выражение не работает для меня. Это, кажется, работает, хотя.

get-winevent -computername fs1 -FilterHashtable @{Logname='Security';Id='4625'} |select timecreated, message, machinename, eventid, @{n='AccountName';e={$_.ReplacementStrings[5]}}

1 ответ

Вы можете использовать регулярное выражение на Message Имущество:

Account For Which Logon Failed.* Account Name:.+?\b(.*?)\s

Демо

И вот ваш скрипт:

$regex = 'Account For Which Logon Failed.* Account Name:.+?\b(.*?)\s'

get-eventlog -computername fs2 -logname security | 
    ?{$_.eventid -eq "4625"} |  
    select machinename,eventid,@{n='AccountName';e={[regex]::Match($_.Message,$regex,[System.Text.RegularExpressions.RegexOptions]::Singleline).Groups[1].Value}},entrytype,message | 
    export-csv 1.csv -NoTypeInformation
Другие вопросы по тегам