我有一个宏可以读取工作中所有打印机的值。
有一个值我无法解码。
使用此代码
Set objSNMP = CreateObject("OlePrn.OleSNMP")
objSNMP.Open "10.158.110.8", "public", 2, 10000
Debug.Print objSNMP.get(".1.3.6.1.4.1.641.6.2.3.1.7.1")
我在立即窗口中看到这个:
ß 0
当我使用 SNMPWalk 时,我得到这个八位字节字符串:
OID=.1.3.6.1.4.1.641.6.2.3.1.7.1, Type=OctetString, Value= 07 DF 06 14 0D 30 0E 00 00 00 00 00
据我所知,纯文本的值应该是
2015-06-20
,因为这个OID是机器的安装日期。我试图找到如何使用 MIB 对其进行解码,但我找不到有关此值的任何信息。
https://infoserve.lexmark.com/ids/ifc/ids_topic.aspx?root=kb20211110015949938&topic=FA615&productCode=Lexmark_MX410&loc=en_IN
有人对解码八位字节串有任何提示吗?
OCTET STRING
仅用于通过线路传递字节。您需要从 MIB 文档中了解 .1.3.6.1.4.1.641.6.2.3.1.7.1
的实际文本约定,那就是
deviceInstallDate OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The install date of the device. This information should be provided
by the attached device"
::= { deviceEntry 7 }
您应该按照
DateAndTime
的规则解码数据,我在 这篇文章中写过这一点。