Custom.TaskScheduler2.Task.WorkflowTriggerEvent.WriteAction (WriteActionModuleType)

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
InputTypeSystem.BaseData
OutputTypeMicrosoft.Windows.SerializedObjectData

Member Modules:

ID Module Type TypeId RunAs 
ScriptWA WriteAction Microsoft.Windows.PowerShellWriteAction Default

Overrideable Parameters:

IDParameterTypeSelector
TimeoutSecondsint$Config/TimeoutSeconds$

Source Code:

<WriteActionModuleType ID="Custom.TaskScheduler2.Task.WorkflowTriggerEvent.WriteAction" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="WaitTime" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ManagementPackName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ManagementGroupName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="EventId" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="EventType" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="EventCount" type="xsd:int"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeWindowStart" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeWindowEnd" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:int"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="ScriptWA" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>Custom.TaskScheduler2.Task.WorkflowTriggerEvent.ps1</ScriptName>
<ScriptBody><Script># Custom.TaskScheduler2.Task.WorkflowTriggerEvent.ps1
#
# Writes an entry to SCOM event log (with extra parameters)
#
# Parameters:

param ($scriptName = 'Custom.TaskScheduler2.Task.WorkflowTriggerEvent.ps1',
$eventId = '1005',
$waitTime = '300',
$mpName = 'Custom.Windows.TaskScheduler.Windows2008.Monitoring',
$mgName = 'none',
$eventType = 'unknownType',
$eventCount = '0',
$timeStart = '',
$timeEnd = '')

Function WriteEventLogEntry
{
param ([string]$EventSourceName,
$EventId,
[string]$EventSeverity,
[string]$EventDescription,
[string]$EventParameter1,
[string]$EventParameter2,
[string]$EventParameter3,
[string]$EventParameter4,
[string]$EventParameter5,
[string]$EventParameter6,
[string]$EventParameter7,
[string]$EventParameter8
)
# using .NET objects as they allow event parameters
$newEvent = new-object System.Diagnostics.Eventinstance($EventId, 0, [system.diagnostics.eventlogentrytype]::[string]$EventSeverity)
[System.diagnostics.EventLog]::WriteEvent([string]$EventSourceName, $newEvent, $EventDescription, $EventParameter1, $EventParameter2, $EventParameter3, $EventParameter4, $EventParameter5, $EventParameter6, $EventParameter7, $EventParameter8)

}

WriteEventLogEntry -EventSourceName 'Health Service Script' -EventId $eventId -EventSeverity 'Information' -EventDescription 'Windows TaskScheduler MP Helper Event.
This event is used to trigger Task Scheduler MP workflows.
Management Pack: %4
Management Group: %5

EventType: %6
EventCount: %7

TimeWindowStart: %8
TimeWindowEnd: %9

' -EventParameter1 $ScriptName -EventParameter2 $waitTime -EventParameter3 $MPName -EventParameter4 $MGName -EventParameter5 $eventType -EventParameter6 $eventCount -EventParameter7 $timeStart -EventParameter8 $timeEnd
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>scriptName</Name>
<Value>Custom.TaskScheduler2.Task.WorkflowTriggerEvent.ps1</Value>
</Parameter>
<Parameter>
<Name>waitTime</Name>
<Value>$Config/WaitTime$</Value>
</Parameter>
<Parameter>
<Name>mpName</Name>
<Value>$Config/ManagementPackName$</Value>
</Parameter>
<Parameter>
<Name>mgName</Name>
<Value>$Config/ManagementGroupName$</Value>
</Parameter>
<Parameter>
<Name>eventId</Name>
<Value>$Config/EventId$</Value>
</Parameter>
<Parameter>
<Name>eventType</Name>
<Value>$Config/EventType$</Value>
</Parameter>
<Parameter>
<Name>eventCount</Name>
<Value>$Config/EventCount$</Value>
</Parameter>
<Parameter>
<Name>timeStart</Name>
<Value>$Config/TimeWindowStart$</Value>
</Parameter>
<Parameter>
<Name>timeEnd</Name>
<Value>$Config/TimeWindowEnd$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>false</StrictErrorHandling>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="ScriptWA"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Windows!Microsoft.Windows.SerializedObjectData</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>