| 用途 | 精确提取事件里的字段 |
|---|---|
| 查看 | $_.Properties 按序数组;$_ | Select-Object -ExpandProperty Xml 或 ToXml() |
| 技巧 | 先用一条样本核对索引,再批量提取 |
常用示例
常用示例
$e = Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 1
$e.Properties[5].Value # 目标用户名(示例:索引随版本核对)
$e | Select-Object TimeCreated, Id, ProviderName
($e).ToXml() | Select-Object -First 40
# 批量提取
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4624} -MaxEvents 20 | Select-Object TimeCreated, @{n='User';e={$_.Properties[5].Value}}, @{n='IP';e={$_.Properties[18].Value}}字段索引在不同事件/版本可能变化,脚本上线前用已知账号登录做一次冒烟验证。