如何取得應用程式事件日誌的應用程式

如何取得應用程式事件日誌的應用程式

我的一些伺服器經常出現 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 不想正確解析它。我怎麼能把它們全部放在一條線上?

答案1

它可能不會對所有事件類型都準確,但該屬性ReplacementStrings是一個數組,其中第一個元素是查看 InstanceID 1000 時可執行檔的名稱:

> Get-EventLog application 1000 -entrytype error -newest 10 | %{$_.ReplacementStrings[0]}
Ssms.exe
Ssms.exe
Ssms.exe
uniStudio.exe
SwyxIt!.exe
Ssms.exe
uniRTE.exe
uniStudio.exe
Ssms.exe
Ssms.exe

我的 PS-foo 在早上的這個時候很弱,但我確信有一種方法可以將其與您的select命令結合起來,從而將它們導出到您的 CSV 中。


根據您的更新;這將為您提供所需的表格格式的輸出。我不知道它會玩得如何export-csv

Get-EventLog application 1000 -entrytype error -newest 10|Format-Table @{Expression={$_.machinename};Label="Machine Name";width=25},@{Expression={$_.timegenerated.DateTime};Label="DateTime";width=25},@{Expression={$_.ReplacementStrings[0]};Label="EXEName";width=25}

沒關係;我在上次更新中做得太複雜了。這應該可以正常工作(我知道當天晚些時候我會更好):

> Get-EventLog application 1000 -entrytype error -newest 10|Select-Object  timegenerated,message,@{name='Executable';expression={$_.ReplacementStrings[0]}}|Export-CSV errors.csv


TimeGenerated                           Message                                 Executable
-------------                           -------                                 ----------
14/01/2014 7:23:13 AM                   Faulting application name: Ssms.exe,... Ssms.exe
13/01/2014 7:26:44 AM                   Faulting application name: Ssms.exe,... Ssms.exe
10/01/2014 7:30:24 AM                   Faulting application name: Ssms.exe,... Ssms.exe
8/01/2014 5:25:13 PM                    The description for Event ID '1000' ... uniStudio.exe
31/12/2013 3:09:58 PM                   The description for Event ID '1000' ... SwyxIt!.exe
19/12/2013 7:35:21 AM                   Faulting application name: Ssms.exe,... Ssms.exe
18/12/2013 2:55:45 PM                   Faulting application name: uniRTE.ex... uniRTE.exe
18/12/2013 9:25:49 AM                   The description for Event ID '1000' ... uniStudio.exe
18/12/2013 7:32:29 AM                   Faulting application name: Ssms.exe,... Ssms.exe
16/12/2013 1:22:38 PM                   Faulting application name: Ssms.exe,... Ssms.exe

相關內容