1

powershell で syslog 優先度コードをデコードする方法を理解しようとしています。優先度コードはメッセージのファシリティと重大度の組み合わせであり、重大度コードに追加される前にファシリティが 8 倍されることは知っていますが、Powershell でこれをコーディングする方法がわかりません。

の優先順位は4=Facility37/8 = 4.625となります

および の優先度37-(4*8)=5。これにより、5=重大度が得られます。

4 ファシリティは、セキュリティ/承認メッセージです。

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 に答える