【发布时间】:2021-11-09 15:41:54
【问题描述】:
我正在尝试从事件查看器日志中提取所有登录尝试失败的用户名,然后仅列出用户名。但是,每个条目的数据都是文本,因此我很难仅提取名称(在本例中为 Intruder123)。这将是存储在一个数组中的几百个帐户名称。
$String = Get-WinEvent @{LogName='Security';ProviderName='Microsoft-Windows-Security-Auditing';ID=4625 } -ComputerName SECRETSERVER |
Select-Object -ExpandProperty Message
$string -match "Account Name: (?<content>.*)"
$matches['content']
数据看起来像这样(多次):
Account For Which Logon Failed:
Security ID: S-1-0-0
Account Name: Intruder123
Account Domain: SECRET.LOCAL
【问题讨论】:
-
您要查看多少事件?
$Events = Get-WinEvent @{LogName='Security';ProviderName='Microsoft-Windows-Security-Auditing';ID=4625;MaxEvents='50' }; $Events | Select-String -InputObject {$_.message} -Pattern 'my pattern'. -
你应该问一个具体的问题。有什么东西没有按预期工作吗?您收到错误消息吗?