skoworodker
@skoworodker

Как получить значение mac-адреса с устройства через SNMP в powershell?

Не могу получить значение mac-адреса через snmp используя powershell.

$SNMP = new-object -ComObject olePrn.OleSNMP
$SNMP.open($IP,"public",2,6000)
$mac = $SNMP.Get('.1.3.6.1.2.1.2.2.1.6.1')


$mac.lenght = 0
Если пройтись по дереву (два сетевых интерфейса - два mac-а, один может быть пустой у loopback-а), то, согласно документации должен получиться двумерный массив OID - значение

$SNMP = new-object -ComObject olePrn.OleSNMP
$SNMP.open($IP,"public",2,6000)
$mac = [System.Text.Encoding]::Default.GetBytes($SNMP.GetTree('.1.3.6.1.2.1.2.2.1.6'))
[System.Text.Encoding]::Default.GetString($mac)


отдаёт: interfaces.ifTable.ifEntry.ifPhysAddress.1 interfaces.ifTable.ifEntry.ifPhysAddress.2, только OID-ы, значений нет.

Сторонним софтом, например snmpGet, или MIBBrowser mac в том OID-е видится норм

OID=.1.3.6.1.2.1.2.2.1.6.1
Type=OctetString
Value= 00 C0 EE 3A 77 89
  • Вопрос задан
  • 1227 просмотров
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Похоже таки на багу в библиотеке
у меня тоже мак, начинающийся с 00 не показывает
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы