kyj*_*kyj 1 powershell powershell-2.0 get-winevent
我一直在寻找这个"Level"意味着运行Get-WinEvent的地方.
例如,
Get-WinEvent –FilterHashtable @{logname=’application’; level=2; starttime=$time; id=20}
Run Code Online (Sandbox Code Playgroud)
level=2这里有什么代表?我问的原因是我正在尝试验证每个日志的严重性,这是否level=2代表与严重性相关的任何内容.
让我们试着找出:
#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
Run Code Online (Sandbox Code Playgroud)
对EventLogRecord的快速msdn搜索指向EventLogRecord.Level属性
获取事件的级别.级别表示事件的严重性.对于级别的名称,获取LevelDisplayName属性的值
#Check out Level vs LevelDisplayName
$t | Format-Table -Property Level, LevelDisplayName -AutoSize
Level LevelDisplayName
----- ----------------
2 Error
Run Code Online (Sandbox Code Playgroud)
在我的日志中快速搜索列出一些级别值:
Get-WinEvent @{ logname='application' } | Select-Object Level, LevelDisplayName -Unique | Sort-Object Level
Level LevelDisplayName
----- ----------------
0 Information
2 Error
3 Warning
4 Information
Run Code Online (Sandbox Code Playgroud)
它还在Level-property页面上说它使用StandardEventLevel枚举,所以让我们列出它的值:
[enum]::GetValues([System.Diagnostics.Eventing.Reader.StandardEventLevel]) | Select-Object {$_}, {$_.value__ }
$_ $_.value__
-- -----------
LogAlways 0
Critical 1
Error 2
Warning 3
Informational 4
Verbose 5
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
998 次 |
| 最近记录: |