在PowerShell v2中,我正在使用此cmdlet Get-EventLog Security | Export-csv C:\file.txt
并获得以下结果。
我需要在一行中获取所有信息。在我的示例中,“消息”属性是多行的。
"538","MYPC","System.Byte[]","28330","Accesso/fine sess.","2","SuccessAudit","Fine sessione dell'utente:
Nome utente: myusername
Dominio: MYPC
ID di accesso: (0x0,0x58C702F)
Tipo di accesso: 3
","Security","System.String[]","538","18/01/2013 10:35:54","18/01/2013 10:35:54","MYPC\myusername",,
我也尝试使用Format-Table
,但它会截断消息字段。
答案 0 :(得分:3)
select
要导出的字段,并将Message
字段替换为自身的错位版本:
Get-EventLog Security `
| select EventId, ..., @{n='Message';e={$_.Message -replace '\s+', " "}} `
| Export-Csv "C:\file.txt"
答案 1 :(得分:-1)
我试过上面..多行文字进入一行很难阅读..修剪对我的情况很有用。
Get-EventLog Security |
Select EventId, ..., @{n='Message';e={$_.Message.trim()}} |
Export-Csv "C:\file.csv"