Фильтрация только второго имени учетной записи в журнале событий Windows с помощью регулярных выражений
Кто-нибудь знает синтаксис reqex для фильтрации только второго имени учетной записи из журнала событий Windows? Я не хочу, чтобы первое Имя учетной записи, которое я получил, но второе упомянутое имя Учетной записи - это Учетная запись, которая была удалена, это то, что мне интересно узнать.
Я могу вытащить оба, но мне бы очень хотелось иметь только второй аккаунт
Пример:
<13>May 23 15:11:00 14.5.15.1 AgentDevice=WindowsLog AgentLogFile=Security Source=Microsoft-Windows-Security-Auditing Computer=john.doe User= Domain= EventID=4726 EventIDCode=4726 EventType=8 EventCategory=13824 RecordNumber=4156926121 TimeGenerated=1472042299838 TimeWritten=1472048832838 Message=A user account was deleted. Subject: Security ID: S-1-5-21-37618230-746332178-285459281-20341 Account Name: AdminGuy Account Domain: Some Logon ID: 0x2q45w29b1 Target Account: Security ID: S-1-5-21-37438650-746321018-288529281-12311 Account Name: JohnDoe Account Domain: Some Additional Information: Privileges -
\sAccount\sName\:\s(.*?)\
Это всего лишь один пример, который будет использовать обе учетные записи. Но кто-нибудь знает, как извлечь только второе имя учетной записи?
В приведенном выше примере вторым именем учетной записи будет имя учетной записи:
JohnDoe
2 ответа
Это шаблон:
(?ms)Account\s+Name.*?(Account\s+Name:\s+)(\w+)
Но вам нужно собрать круглые скобки. В этом регулярном выражении имя учетной записи находится в группе №. 2. Язык / библиотека, которую вы используете, дает вам возможность получить доступ к захваченному скобкам захваченного текста.
Может быть, используя что-то вроде этого:
\sAccount\sName:\s.*\sAccount\sName:\s([^\s]*)\
Для Graylog это было правильное выражение:
Account Name:.*?Account Name:(\s*(\S*))