IBM.FlexSystem.FSM.SetIPaddress (WriteActionModuleType)

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityPublic
RunAsDefault
InputTypeSystem.BaseData
OutputTypeSystem.CommandOutput

Member Modules:

ID Module Type TypeId RunAs 
WA WriteAction Microsoft.Windows.ScriptWriteAction Default

Overrideable Parameters:

IDParameterTypeSelector
FSMIPaddressstring$Config/FSMIPaddress$

Source Code:

<WriteActionModuleType ID="IBM.FlexSystem.FSM.SetIPaddress" Accessibility="Public">
<Configuration>
<xsd:element name="FSMIPaddress" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="FSMIPaddress" Selector="$Config/FSMIPaddress$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<WriteAction ID="WA" TypeID="Windows!Microsoft.Windows.ScriptWriteAction">
<ScriptName>IBMFlexFSMSetIPaddress.vbs</ScriptName>
<Arguments>"$Config/FSMIPaddress$" "$MPElement$" "$Target/Id$" "$Target/Property[Type="System!System.Entity"]/DisplayName$"</Arguments>
<ScriptBody><Script>

Const HKEY_LOCAL_MACHINE = &amp;H80000002
Const IBMHWMP_FSM_IP="SOFTWARE\IBM\Systems Management Integrations\IBM HW Mgmt Pack for OpsMgr"
Const LenovoHWMP_FSM_IP = "SOFTWARE\Lenovo\Systems Management Integrations\Lenovo HW Mgmt Pack for OpsMgr"
Dim key_name
key_name=WScript.Arguments.Item(3)

Dim oReg ,RC_Code, strValue
Set oReg = GetObject("winmgmts://localhost/root/default:StdRegProv")

Dim Ipaddress
Ipaddress=WScript.Arguments.Item(0)

'write the value of FSMIPaddress into class FSM

Dim SourceID,ManageEntityID,oDiscoveryData
SourceID=WScript.Arguments.Item(1)
ManageEntityID=WScript.Arguments.Item(2)

Dim oAPI, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")


Set oDiscoveryData=oAPI.CreateDiscoveryData(0,SourceID,ManageEntityID)
Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='IBM.FlexSystem.FSM']$")
Call oInst.AddProperty("$MPElement[Name='IBM.FlexSystem.FSM']/FSMIPaddress$",Ipaddress)
Call oDiscoveryData.AddInstance(oInst)

If(not(oReg is nothing)) Then
If IsNull(Ipaddress) or IsEmpty(Ipaddress) or Ipaddress ="" Then
Dim return
return=oReg.GetStringValue(HKEY_LOCAL_MACHINE,IBMHWMP_FSM_IP,Key_Name,Ipaddress)
If Not IsNull(Ipaddress) Then
RC_Code=oReg.DeleteValue(HKEY_LOCAL_MACHINE,IBMHWMP_FSM_IP,Key_Name)
Else
return=oReg.GetStringValue(HKEY_LOCAL_MACHINE,LenovoHWMP_FSM_IP,Key_Name,Ipaddress)
If Not IsNull(Ipaddress) Then
RC_Code=oReg.DeleteValue(HKEY_LOCAL_MACHINE,LenovoHWMP_FSM_IP,Key_Name)
End If
End If

Else
RC_Code= oReg.CreateKey(HKEY_LOCAL_MACHINE,LenovoHWMP_FSM_IP)
oReg.SetStringValue HKEY_LOCAL_MACHINE,LenovoHWMP_FSM_IP,Key_Name,Ipaddress
End If
End If

</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
<EventPolicy>
<Severity>2</Severity>
<StdOutMatches Operator="MatchesRegularExpression">Task failed</StdOutMatches>
<StdErrMatches/>
<ExitCodeMatches/>
</EventPolicy>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="WA"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.CommandOutput</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>