1

我正在尝试如何在 powershell 中解码系统日志优先级代码。我知道优先级代码是消息的设施和严重性的组合,并且设施在添加到严重性代码之前被乘以 8,但我不确定如何在 Powershell 中对此进行编码。

所以 的优先级37/8 = 4.625,它给你一个4=Facility

和 的优先级37-(4*8)=5,这给你一个5=Severity

4 Facility 是安全/授权消息

5 严重性是一个通知:正常

所有这些都在 RFC 3164 ( http://www.ietf.org/rfc/rfc3164.txt )中进行了概述,但我不确定如何在 Powershell 代码中进行解码

4

1 回答 1

2

试试这个(不按位):

function get-syslog {
param($pri)

[int]$facility = [Math]::truncate([decimal]($pri/8))
$severity = $pri - ($facility *8 )

"Facility is $facility - Severity is $severity"
}

采用:

get-syslog -pri 23
Facility is 2 - Severity is 7
于 2012-11-16T21:21:20.500 回答