我有一些服务器通常出现错误 1000。我想找出它是否始终是同一个应用程序,或者它是否是不同的应用程序。我正在使用这个:
Get-EventLog application 1000 -entrytype error -newest 10 | select timegenerated,message | Export-Csv errors.csv
并且输出显示应用程序名称(特别是 exe 文件)作为多行消息字段的一部分。
我无法弄清楚如何从输出中仅提取应用程序名称。
将输出传递给 Get-Member 使得消息字段看起来像是一个数组,但我现在无法弄清楚如何提取数组的那一部分。
Get-EventLog application 1000 -entrytype error -newest 10 | %{$_.machinename,$_.timegenerated,$_.ReplacementStrings[0]}
这给了我想要的输出,除了它是通过三行生成的,并且 Export-CSV 不想正确解析它。我怎样才能将它们全部放在一条线上?
它可能不会对所有事件类型都准确,但该属性
ReplacementStrings
是一个数组,其中第一个元素是查看 InstanceID 1000 时可执行文件的名称:我的 PS-foo 在早上的这个时候很弱,但我确信有一种方法可以将它与您的
select
命令结合起来,从而将它们导出到您的 CSV 中。根据您的更新;这将为您提供表格格式所需的输出。我不知道它会玩得多好
export-csv
:没关系; 我在上次更新中太复杂了。这应该可以正常工作(我知道当天晚些时候我会更好):