You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取Windows安全日志4625事件中登录失败账户信息?

提取Windows安全日志4625事件中的失败登录账户信息

问题原因

你之前的命令使用了Format-Table,这会将输出转换为格式化的文本对象,而非保留原始事件数据,导致无法有效提取Message字段中的目标内容。必须先完成数据提取,再进行格式化输出。

方法一:直接提取结构化属性(推荐,更可靠)

Windows安全日志的4625事件自带结构化属性,无需解析文本即可获取目标账户信息:

Get-WinEvent -FilterHashTable @{LogName="Security"; ID=4625} | 
    Select-Object TimeCreated,
        @{Name='失败登录账户名'; Expression={$_.Properties[5].Value}},
        @{Name='失败登录账户域'; Expression={$_.Properties[6].Value}} |
    Format-Table -AutoSize
  • 4625事件的Properties[5]对应TargetUserName(账户名),Properties[6]对应TargetDomainName(账户域),两者共同构成“Account For Which Logon Failed”的内容。

方法二:解析Message字段(适合需匹配文本的场景)

如果需要从Message字段中直接提取,可使用正则表达式:

Get-WinEvent -FilterHashTable @{LogName="Security"; ID=4625} | 
    Select-Object TimeCreated,
        @{Name='失败登录账户'; Expression={
            if ($_.Message -match 'Account For Which Logon Failed:\s*([\s\S]+?)\n\n') {
                $matches[1].Trim()
            }
        }} |
    Format-Table -Wrap
  • 正则表达式会匹配“Account For Which Logon Failed:”后的所有内容,直到遇到连续两个换行符(日志中该部分的结束标记),并去除首尾空白字符。

内容的提问来源于stack exchange,提问作者Stackoverflowuser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 12:22:59