Set oBag= oAPI.CreatePropertyBag()
'Call UpdateMgmtControllerBMCState(oBag)
Call oAPI.Return(oBag)
End Sub
Sub GetMgmtControllerBMCStatus()
Dim oReg, RC_Code
debug = -1
'Set oAPI = SCOMCreateObject("MOM.ScriptAPI")
Set oReg = GetObject("winmgmts://localhost/root/default:StdRegProv")
If (not(oReg is nothing)) Then
RC_Code = oReg.GetStringValue(HKEY_LOCAL_MACHINE, DEBUG_INFO_KEY, DEBUG_LEVEL_NAME, debug)
If ( RC_Code<>0) Then
debug = -1
End If
End If
Call LogDebugString("Entering GetMgmtControllerBMCStatus", INFO_LEVEL_DETAIL)
Call LogDebugString("Management Controller Name:" + Name, INFO_LEVEL_DETAIL)
Set oBag= oAPI.CreatePropertyBag()
Call UpdateMgmtControllerBMCState(oBag)
Call oAPI.Return(oBag)
End Sub
Function UpdateMgmtControllerBMCState(ByRef oBag)
Call LogDebugString("Entering UpdateMgmtControllerBMCState", INFO_LEVEL_FUNCTION)
Dim iResult, strNormal, strAbnormal
strNormal = "IBM BMC or BMC SMBIOS compatible"
strAbnormal = "IBM BMC or BMC SMBIOS need update"
iResult = BMCPresented()
If iResult = 3 Then
'"SMBIOS(Need update)"
Call LogDebugString(Name + " Warning added into property bag", INFO_LEVEL)
Call oBag.AddValue("State", "Warning")
Call oBag.AddValue("Description",strAbnormal)
UpdateMgmtControllerBMCState = 1
ElseIf iResult = 1 Then
Call LogDebugString(Name + " Healthy added into property bag", INFO_LEVEL)
Call oBag.AddValue("State", "Healthy")
Call oBag.AddValue("Description",strAbnormal)
UpdateMgmtControllerBMCState = 1
ElseIf iResult = 2 Then
Call LogDebugString(Name + " Healthy added into property bag", INFO_LEVEL_DETAIL)
Call oBag.AddValue("State", "Healthy")
Call oBag.AddValue("Description",strAbnormal)
UpdateMgmtControllerBMCState = 1
Else 'no BMC
Call LogDebugString(Name + " Error added into property bag", INFO_LEVEL)
Call oBag.AddValue("State", "Error")
Call oBag.AddValue("Description",strAbnormal)
UpdateMgmtControllerBMCState = 1
End If
End Function </Script></ScriptBody>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="Script">
<Node ID="PassThrough"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.PropertyBagData</OutputType>
<TriggerOnly>true</TriggerOnly>
</ProbeActionModuleType>