IBM Windows CreateTrialLicenseToken WriteAction

IBM.Windows.CreateTrialLicenseToken (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
TrialInfostring$Config/TrialInfo$IBM Windows CreateTrialLicenseToken WriteAction Trial Info
TrialDaysstring$Config/TrialDays$IBM Windows CreateTrialLicenseToken WriteAction Left Trial Days

Source Code:

<WriteActionModuleType ID="IBM.Windows.CreateTrialLicenseToken" Accessibility="Public" Batching="false">
<Configuration>
<xsd:element name="TrialInfo" type="xsd:string"/>
<xsd:element name="TrialDays" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TrialInfo" Selector="$Config/TrialInfo$" ParameterType="string"/>
<OverrideableParameter ID="TrialDays" Selector="$Config/TrialDays$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<WriteAction ID="WA" TypeID="Windows!Microsoft.Windows.ScriptWriteAction">
<ScriptName>CreateTrialLicenseToken.vbs</ScriptName>
<Arguments>"$Config/TrialInfo$" "$Config/TrialDays$"</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 TrialInfoValue
Dim TrialDaysLeft
Const IBMHWMP_LICENSE_KEY = "SOFTWARE\IBM\Systems Management Integrations\LicenseEndpoint"
Const IBMHWMP_TRIAL_LICENSE_TOKEN_NAME = "TrialActivation"


'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

TrialInfoValue = WScript.Arguments.Item(0)
TrialDaysLeft = WScript.Arguments.Item(1)

'Call LogDebugString("TrialInfo: " + TrialInfo, INFO_LEVEL)
'Call LogDebugString("TrialDaysLeft: " + TrialDaysLeft, INFO_LEVEL)

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

If IsNull(TrialDaysLeft) Or IsEmpty(TrialDaysLeft) Or TrialDaysLeft = "None" Or TrialInfoValue = "None" Then
'Delete registry value
RC_Code = oReg.DeleteValue( HKEY_LOCAL_MACHINE, IBMHWMP_LICENSE_KEY, _
IBMHWMP_TRIAL_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_TRIAL_LICENSE_TOKEN_NAME, TrialDaysLeft)
progressCode = progressCode + ".TrialDaysLeft"
'RC_Code = oReg.SetStringValue( HKEY_LOCAL_MACHINE, IBMHWMP_LICENSE_KEY, _
' IBMHWMP_LICENSE_LEVEL, TrialInfoValue)
'progressCode = progressCode + ".TrialInfoValue"
'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("CreateTrialLicenseToken.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>