IBM Windows CreateLicenseToken WriteAction

IBM.Windows.CreateLicenseToken (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:

IDParameterTypeSelectorDisplay NameDescription
LicenseLevelstring$Config/LicenseLevel$IBM Windows CreateLicenseToken WriteAction License Level
LicenseTokenstring$Config/LicenseToken$IBM Windows CreateLicenseToken WriteAction License Token

Source Code:

<WriteActionModuleType ID="IBM.Windows.CreateLicenseToken" Accessibility="Public" Batching="false">
<Configuration>
<xsd:element name="LicenseLevel" type="xsd:string"/>
<xsd:element name="LicenseToken" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="LicenseLevel" Selector="$Config/LicenseLevel$" ParameterType="string"/>
<OverrideableParameter ID="LicenseToken" Selector="$Config/LicenseToken$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<WriteAction ID="WA" TypeID="Windows!Microsoft.Windows.ScriptWriteAction">
<ScriptName>CreateLicenseToken.vbs</ScriptName>
<Arguments>"$Config/LicenseLevel$" "$Config/LicenseToken$"</Arguments>
<ScriptBody><Script>

SetLocale("en-us")

' For debug trace
Dim oAPI, oReg, RC_Code, progressCode, debug
Const INFO_LEVEL = 4
Const HKEY_LOCAL_MACHINE = &amp;H80000002
Const DEBUG_INFO_KEY = "SOFTWARE\IBM\IBM SCOM MP\Debug"
Const DEBUG_LEVEL_NAME = "Level"

' For License token access
Dim LicFtLev
Dim LicFtTok
Const IBMHWMP_LICENSE_KEY = "SOFTWARE\IBM\Systems Management Integrations\LicenseEndpoint"
Const IBMHWMP_LICENSE_TOKEN_NAME = "v1-0002.A"
'Const IBMHWMP_LICENSE_LEVEL = "Level"

'Setup logging
debug = -1
'Set oReg = GetObject("winmgmts://localhost/root/default:StdRegProv")
set oReg = GetObject( "winmgmts:{impersonationLevel=impersonate}!" &amp; _
"//./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&lt;&gt;0) Then
debug = -1
End If
End If
Set oAPI = CreateObject("MOM.ScriptAPI")

If (WScript.Arguments.Count &lt; 2) Then
Call LogDebugString("Short of arguments count : " &amp; WScript.Arguments.Count, INFO_LEVEL)
WScript.Quit -1
End If

LicFtLev = WScript.Arguments.Item(0)
LicFtTok = WScript.Arguments.Item(1)

Call LogDebugString("LicFtLev: " + LicFtLev, INFO_LEVEL)
Call LogDebugString("LicFtTok: " + LicFtTok, INFO_LEVEL)

' Writing License Token
progressCode = ""
If (not(oReg is nothing)) Then
RC_Code = -1

If IsNull(LicFtTok) Or IsEmpty(LicFtTok) Or LicFtTok = "" Then
'Delete registry value
RC_Code = oReg.DeleteValue( HKEY_LOCAL_MACHINE, IBMHWMP_LICENSE_KEY, _
IBMHWMP_LICENSE_TOKEN_NAME )
Else
'Create Registry key path
RC_Code = oReg.CreateKey( HKEY_LOCAL_MACHINE, IBMHWMP_LICENSE_KEY )
progressCode = "key"

If ( 0 = RC_Code ) Then
'Create License Feature Level
RC_Code = oReg.SetStringValue( HKEY_LOCAL_MACHINE, IBMHWMP_LICENSE_KEY, _
IBMHWMP_LICENSE_TOKEN_NAME, LicFtTok)
progressCode = progressCode + ".LicFtTok"
'RC_Code = oReg.SetStringValue( HKEY_LOCAL_MACHINE, IBMHWMP_LICENSE_KEY, _
' IBMHWMP_LICENSE_LEVEL, LicFtLev)
'progressCode = progressCode + ".LicFtLev"
'writeRegValue = RC_Code ''' twoffer: Not defined or used anywhere
End If
End If
End If

Call LogDebugString("Write : " &amp; progressCode, INFO_LEVEL)

' Debug event logging
Sub LogDebugString(debugString, debugLevel)
If (Int(debug) &gt;= Int(debugLevel)) Then
Call oAPI.LogScriptEvent("CreateLicenseToken.vbs", 401, DebugLevelToLogLevel(debugLevel), debugString)
End If
End Sub
Function DebugLevelToLogLevel(debugLevel)
DebugLevelToLogLevel = 4
If debugLevel &lt;= 1 then
DebugLevelToLogLevel = 1
ElseIF debugLevel &lt;= 3 then
DebugLevelToLogLevel = 2
Else
DebugLevelToLogLevel = 4
End If
End Function

</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="WA"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.CommandOutput</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>