Всем привет!!!
Такая проблема, для поучения данных по протоколу snmp использую powershell в связи с тем, что данный коммутатор урезанный и не имеет snmp в telnet. Установил модуль SNMP прописав следующую строку: Install-Module -Name SNMP
Вроде всё нормально, и имя коммутатора выводит, и изменения параметров работают, всё без ошибок и так, как надо. Но вот мне потребовалось вывести mac-адрес устройства. прошу показать мне OID .1.3.6.1.2.1.4.22.1.2 операцией Walk и тут происходит непонятное. За место нормального MAC-адреса он мне выводит этот кошмар:
Вложение:
изображение_2021-02-20_113356.png [ 5.72 KiB | Просмотров: 1472 ]
На сколько я понял, это дело в кодировке, потому что MIB Browser может мне показать похожий результат, если нажать 2 раза на Value:
Вложение:
изображение_2021-02-20_113748.png [ 4.46 KiB | Просмотров: 1472 ]
Вот сама функция, кому интересно:
Код:
function Invoke-SnmpWalk {
[CmdletBinding()]
param (
# Endpoint IP address.
[Parameter(
Mandatory = $true,
HelpMessage = 'Endpoint IP address'
)]
[Net.IPAddress]$IP,
# OID of root object.
[Parameter(
Mandatory = $true,
HelpMessage = 'OID of root object'
)]
[string[]]$OIDStart,
# SNMP Community.
[string]$Community = 'private',
# SNMP port.
[int]$UDPport = 161,
# SNMP version.
[Lextm.SharpSnmpLib.VersionCode]$Version = 'V2',
# "Walk" method mode.
[Lextm.SharpSnmpLib.Messaging.WalkMode]$WalkMode = 'WithinSubtree',
# Time out value.
[int]$TimeOut = 3000
)
$OID = New-Object Lextm.SharpSnmpLib.ObjectIdentifier $OIDStart
$results = New-Object Collections.Generic.List[Lextm.SharpSnmpLib.Variable]
$endpoint = New-Object Net.IpEndPoint $IP, $UDPport
try {
[Lextm.SharpSnmpLib.Messaging.Messenger]::Walk(
$Version,
$endpoint,
$Community,
$OID,
$results,
$TimeOut,
$WalkMode
) | Write-Verbose -Message { 'Found: {0}' -f [bool]$_ }
} catch {
Write-Warning "SNMP Walk issue: $_"
return
}
foreach ($variable in $results) {
New-Object PSObject -Property @{
Data = $variable.Data.ToString()
}
}
}
Прошу помочь мне с этой проблемой, так-как уже третий день с этим мучаюсь. Заранее спасибо за помощь❤