【发布时间】:2016-09-15 01:58:45
【问题描述】:
如何在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
示例事件日志条目:
创建时间:2016 年 5 月 18 日上午 8:55:43
ProviderName:Microsoft-Windows-Security-Auditing
编号:4625
消息:帐户无法登录。
主题:
安全 ID:S-1-5-21-1287344763-2688370722-3395302928-19873
帐户名称:service_adfs
账户域:DOMAIN
登录 ID:0xD62E4
登录类型:3
登录失败的帐户:
安全 ID:S-1-0-0
帐户名称:user.thatiwant@DOMAIN.com
帐户域:
编辑:不知道为什么他们编辑了我的帖子以包含旧 cmdlet,与较新的 cmdlet get-winevent 一起工作得很好。正则表达式对我不起作用。不过这似乎可行。
get-winevent -computername fs1 -FilterHashtable @{Logname='Security';Id='4625'} |select timecreated, message, machinename, eventid, @{n='AccountName';e={$_.ReplacementStrings[5]}}
【问题讨论】:
标签: powershell event-log get-eventlog