1

我试图通过使用ConvertFrom-StringPowerShell 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

而且我希望它能够兼容循环通过许多类似的事件来提取正确的位?

4

1 回答 1

1

我在微软论坛上发布了同样的问题并立即得到了答案,所以对于那些感兴趣的人来说,这里就是。

https://social.technet.microsoft.com/Forums/windowsserver/en-US/42f8e6a3-4304-4215-b521-d611e3216e1c/eventlog-convertfromstring?forum=winserverpowershell

于 2015-12-12T06:55:25.723 回答