【发布时间】:2020-12-21 19:09:40
【问题描述】:
我有一个脚本可以从事件日志中导出事件,例如:
Get-EventLog -LogName Application | Where-Object Source -Match "my application" | export-csv "$FileDate.csv"
当我打开 CSV 时,它看起来也不像我想要的那样。它显示
EventID,"MachineName","Data","Index","Category","CategoryNumber","EntryType","Message","Source","ReplacementStrings","InstanceId","TimeGenerated"," TimeWritten","用户名","站点","容器" 0,"DESKTOP-ID94AN3","System.Byte[]","21425","(0)","0","错误","已完成 执行项目“Testproject”执行包“失败”执行 失败开始时间:21/12/2020 19:47:52 结束时间:21/12/2020 19:47:56 在服务器上:DESKTOP-ID94AN3 -日志消息
在文本到列之后:
在不应该出现的列中包含信息。它似乎结合了事件查看器的 2 个窗口。带有错误的“上部”窗口和带有详细信息的“下部”窗口。我想要的只是上面的窗口。
如果我在 Windows Powershell ISE 中运行此代码:
Get-EventLog -LogName Application | Where-Object Source -Match "Myapplication"
它看起来也是我想要的样子(在使用文本到列之后):
Index Time EntryType Source InstanceID Message
----- ---- --------- ------ ---------- -------
21425 Dec 21 19:47 Error Myapplication LogEn... 0 Message 1
21424 Dec 21 19:47 Information Myapplicationr LogEn... 0 Message 2
如何让我的 CSV 导出也看起来像这样?
【问题讨论】:
-
您显示的不是 csv 格式……它是 powershell 显示系统,显示来自 CSV 导入的对象集合。实际文件只是文本除以分隔符。
-
为澄清而编辑。
-
您说
It looks how I want it too look:并显示导入 CSV 后 powershell 显示的内容... 但这不是 CSV - 它是通过导入 CSV 创建的 powershell 数组。 ///// 你不能制作一个看起来像那样的 CSV ......它不会是一个 CSV! [grin] 它只是一个结构几乎为零的纯文本文件。 -
好的,换个说法,这就是我希望它在我的 CSV 上使用文本到列之后的样子。但事实并非如此。 “执行失败”下的所有内容(见屏幕截图)不应与 EventID 在同一列中。
-
酷!现在,请更改您的问题以说出您真正想要的内容。它仍然是指希望 CSV 文件看起来像纯文本报告。
标签: windows powershell powershell-4.0