• WOW. This is the only solution I found that helps me dynamically update attributes for dynamic grouping. Do you have a way to update custom attributes instead of a description attribute?

     

  • Here as Text

    1. ' Get database
    2. Set objDB = Context.GetDB
    3. If objDB Is Nothing Then
    4. Context.SetResult 1,"Error connecting to database"
    5. Else
    6. nDeviceID = Context.GetProperty("DeviceID")
    7. ' SNMP Update
    8. Set objSNMPRqst = CreateObject("CoreAsp.SnmpRqst")
    9. Set objSNMPResult = objSNMPRqst.Initialize(nDeviceID)
    10. If Not objSNMPResult.Failed Then
    11. ' Get sysDescr
    12. Set objSNMPResult = objSNMPRqst.Get("1.3.6.1.2.1.1.1.0")
    13. If Not objSNMPResult.Failed Then
    14. strSNMPsysDescr = Trim(objSNMPResult.GetPayload)
    15. If Not strSNMPsysDescr = "" Then
    16. Do Until InStr(strSNMPsysDescr,Chr(13)) = 0 And InStr(strSNMPsysDescr,Chr(10)) = 0
    17. intPosCR = InStr(strSNMPsysDescr,Chr(13))
    18. If intPosCR <> 0 Then
    19. strSNMPsysDescr = Left(strSNMPsysDescr,intPosCR-1) & " " & Right(strSNMPsysDescr,Len(strSNMPsysDescr)-intPosCR)
    20. End If
    21. intPosLF = InStr(strSNMPsysDescr,Chr(10))
    22. If intPosLF <> 0 Then
    23. strSNMPsysDescr = Left(strSNMPsysDescr,intPosLF-1) & Right(strSNMPsysDescr,Len(strSNMPsysDescr)-intPosLF)
    24. End If
    25. Loop
    26. ' Update database
    27. strSQL = "UPDATE DeviceAttribute SET sValue = '" & strSNMPsysDescr & "' WHERE nDeviceID = '" & nDeviceID & "' AND sName = 'Description'"
    28. Set objResult = objDB.Execute(strSQL)
    29. End If
    30. End If
    31. ' Get sysObjectID
    32. Set objSNMPResult = objSNMPRqst.Get("1.3.6.1.2.1.1.2.0")
    33. If Not objSNMPResult.Failed Then
    34. strSNMPsysObjectID = Trim(objSNMPResult.GetPayload)
    35. If Not strSNMPsysObjectID = "" Then
    36. ' Update database
    37. strSQL = "UPDATE Device SET sSnmpOID='" & strSNMPsysObjectID & "' WHERE nDeviceID = '" & nDeviceID & "'"
    38. Set objResult = objDB.Execute(strSQL)
    39. End If
    40. End If
    41. Context.SetResult 0,"Done"
    42. Else
    43. Context.SetResult 1,"SNMP failed"
    44. End If
    45. End If