我试图通过使用ConvertFrom-String
PowerShell cmdlet 来客观化安全事件日志,但无法解决。
首先,我从我的 DC 获取事件。
$events = Get-WinEvent -ComputerName $comp FilterHashtable @{logname='security';id=4727}
接下来我定义我的模板。
$tmpl = @'
{Event:A security-enabled global group was created.}
Subject:
Security ID: S-1-5*
{SubjectName:Account Name: andrew}
Account Domain: DOMAIN
Logon ID: 0x16D280EB
New Group:
Security ID: S-1-5*
{GroupName:Group Name: test1}
Group Domain: DOMAIN
Attributes:
SAM Account Name: test1
SID History: -
Additional Information:
Privileges: -
'@
最后我尝试把它变成对象。
($events).message | ConvertFrom-String -TemplateContent $tmpl
但我的输出只是
Event: A security-enabled global group was created.
相反,我想得到类似的东西;
- 事件:已创建启用安全性的全局组
- 主题名称:安德鲁
- 组名:test1
而且我希望它能够兼容循环通过许多类似的事件来提取正确的位?