Create Event by PowerShell
VKernel.CapacityAnalyzer.PRO.PowerShellCreateEvent (WriteActionModuleType)
Writes event to Event Log using PowerShell script
Element properties: Member Modules:
Overrideable Parameters:
Source Code: <WriteActionModuleType ID="VKernel.CapacityAnalyzer.PRO.PowerShellCreateEvent" Accessibility="Internal" Batching="false">
<Configuration>
<xsd:element name="EventSource" type="xsd:string"/>
<xsd:element name="EventID" type="xsd:int"/>
<xsd:element name="EventType" type="xsd:string"/>
<xsd:element name="EventParam1" type="xsd:string"/>
<xsd:element name="EventParam2" type="xsd:string"/>
<xsd:element name="EventParam3" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="EventSource" Selector="$Config/EventSource$" ParameterType="string"/>
<OverrideableParameter ID="EventID" Selector="$Config/EventID$" ParameterType="int"/>
<OverrideableParameter ID="EventType" Selector="$Config/EventType$" ParameterType="string"/>
<OverrideableParameter ID="EventParam1" Selector="$Config/EventParam1$" ParameterType="string"/>
<OverrideableParameter ID="EventParam2" Selector="$Config/EventParam2$" ParameterType="string"/>
<OverrideableParameter ID="EventParam3" Selector="$Config/EventParam3$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="PSCreateEvent" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>PowerShellCreateEvent</ScriptName>
<ScriptBody><Script>
Param($EventSource, $EventID, $EventType, $EventParam1, $EventParam2, $EventParam3)
if ($EventSource -eq $null)
{
throw "EventSource script argument is not defined.";
}
if ($EventID -eq $null)
{
throw "EventID script argument is not defined.";
}
if ($EventType -eq $null)
{
throw "EventType script argument is not defined.";
}
if ($EventParam1 -eq $null)
{
throw "EventParam1 script argument is not defined.";
}
if ($EventParam2 -eq $null)
{
throw "EventParam2 script argument is not defined.";
}
if ($EventParam3 -eq $null)
{
throw "EventParam3 script argument is not defined.";
}
$EventType = $EventType.ToLower();
switch ($EventType)
{
"error" {$EventType = [System.Diagnostics.EventLogEntryType]::Error;}
"warning" {$EventType = [System.Diagnostics.EventLogEntryType]::Warning; }
"information" {$EventType = [System.Diagnostics.EventLogEntryType]::Information }
default {throw "Unknow event type value: " + $EventType;}
}
$logName = "Operations Manager"
# Registering event source if it is not registered yet
if (![System.Diagnostics.EventLog]::SourceExists($EventSource))
{
[System.Diagnostics.EventLog]::CreateEventSource($EventSource, $logName);
}
$log = New-Object System.Diagnostics.EventLog($logName);
$log.Source = $EventSource;
$eventInst = New-Object System.Diagnostics.EventInstance($EventID, 0, $EventType);
$EventParams = $EventParam1, $EventParam2, $EventParam3
$log.WriteEvent($eventInst, $EventParams);
$log.Close();
</Script> </ScriptBody>
<Parameters>
<Parameter>
<Name>EventSource</Name>
<Value>$Config/EventSource$</Value>
</Parameter>
<Parameter>
<Name>EventID</Name>
<Value>$Config/EventID$</Value>
</Parameter>
<Parameter>
<Name>EventType</Name>
<Value>$Config/EventType$</Value>
</Parameter>
<Parameter>
<Name>EventParam1</Name>
<Value>$Config/EventParam1$</Value>
</Parameter>
<Parameter>
<Name>EventParam2</Name>
<Value>$Config/EventParam2$</Value>
</Parameter>
<Parameter>
<Name>EventParam3</Name>
<Value>$Config/EventParam3$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>300</TimeoutSeconds>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="PSCreateEvent"/>
</Composition>
</Composite>
</ModuleImplementation>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>