2016-02-16 65 views
1

我一直在尋找所有的地方,只是找出這個「級別」意味着運行Get-WinEvent。Powershell - Get-WinEvent

例如,

Get-WinEvent –FilterHashtable @{logname=’application’; level=2; starttime=$time; id=20} 

是什麼level=2代表在這裏? 我問的原因是我試圖驗證每個日誌的嚴重程度,並且level=2是否代表與嚴重程度相關的任何內容。

回答

4

讓我們嘗試找出:

#Get sample object 
$t = Get-WinEvent -MaxEvents 1 -FilterHashtable @{ Logname='application'; level=2 } 

#Explore properties and type 
$t.GetType().Fullname 
System.Diagnostics.Eventing.Reader.EventLogRecord 

快速MSDN搜索爲EventLogRecord點我們到EventLogRecord.Level Property

Gets the level of the event. The level signifies the severity of the event. For the name of the level, get the value of the LevelDisplayName property

#Check out Level vs LevelDisplayName 
$t | Format-Table -Property Level, LevelDisplayName -AutoSize 

Level LevelDisplayName 
----- ---------------- 
    2 Error 

在我的日誌列出一些LEVEL-快速搜索值:

Get-WinEvent @{ logname='application' } | Select-Object Level, LevelDisplayName -Unique | Sort-Object Level 

Level LevelDisplayName 
----- ---------------- 
    0 Information  
    2 Error   
    3 Warning   
    4 Information  

它還說,它採用了StandardEventLevel枚舉中的Level-屬性頁上,這樣可以讓列表它的值:

[enum]::GetValues([System.Diagnostics.Eventing.Reader.StandardEventLevel]) | Select-Object {$_}, {$_.value__ } 

      $_ $_.value__ 
      -- ----------- 
    LogAlways   0 
    Critical   1 
     Error   2 
     Warning   3 
Informational   4 
     Verbose   5 
+1

謝謝。我是Powerhell的新手。只是尋找特定的信息是困難的。我非常感謝你的時間。 – kyj

+0

更好的理由來描述當時的答案。 :-)你通過嘗試,失敗和問你現在正在做的問題來學習。歡迎來到StackOverflow! –

+0

如果您認爲這是正確答案,請使用答案左側的複選標記,以便我們可以將問題標記爲已解決。 :-) –

0

請參閱此鏈接獲取更多信息。 MSDN

切實你正在尋找一個winmeta.xml文件,但它會擁有這些爲基礎值:

  • LogAlways:0,
  • 嚴重:1,
  • 錯誤: 2,
  • 警告:3,
  • 信息:4,
  • 詳細:5,
  • 其餘16位以下保留
+0

謝謝。非常感激。 – kyj