LMConnectorWorkflow.WindowsPowerShellScript.e0988682_11f4_4bce_9ec4_ead7ba610176.MT (WriteActionModuleType)

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityPublic
RunAsMicrosoft.SystemCenter.ServiceManager.WorkflowAccount
InputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
LMConnectorWorkflow.WindowsPowerShellScript.e0988682_11f4_4bce_9ec4_ead7ba610176.PSWA WriteAction Microsoft.Windows.PowerShellWriteAction Default

Overrideable Parameters:

IDParameterTypeSelector
SelectedLiveMapsServiceIdsstring$Config/SelectedLiveMapsServiceIds$
Serverstring$Config/Server$
ConnectorIdstring$Config/ConnectorId$
UserNamestring$Config/UserName$
Passwordstring$Config/Password$
Domainstring$Config/Domain$

Source Code:

<WriteActionModuleType ID="LMConnectorWorkflow.WindowsPowerShellScript.e0988682_11f4_4bce_9ec4_ead7ba610176.MT" Accessibility="Public" RunAs="Core!Microsoft.SystemCenter.ServiceManager.WorkflowAccount" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SelectedLiveMapsServiceIds" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Server" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ConnectorId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="UserName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Password" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Domain" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="SelectedLiveMapsServiceIds" Selector="$Config/SelectedLiveMapsServiceIds$" ParameterType="string"/>
<OverrideableParameter ID="Server" Selector="$Config/Server$" ParameterType="string"/>
<OverrideableParameter ID="ConnectorId" Selector="$Config/ConnectorId$" ParameterType="string"/>
<OverrideableParameter ID="UserName" Selector="$Config/UserName$" ParameterType="string"/>
<OverrideableParameter ID="Password" Selector="$Config/Password$" ParameterType="string"/>
<OverrideableParameter ID="Domain" Selector="$Config/Domain$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="LMConnectorWorkflow.WindowsPowerShellScript.e0988682_11f4_4bce_9ec4_ead7ba610176.PSWA" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>DoLMConnectorWork.ps1</ScriptName>
<ScriptBody><Script>
param ( [string]$SelectedLiveMapsServiceIds,[string]$Server,[string]$ConnectorId,[string]$UserName,[string]$Password,[string]$Domain)
$ConnectorStatusFinishedWithError = "Microsoft.SystemCenter.LinkingFramework.SyncStatusEnum.FinishedWithError";
$filter = "";
$result = "no results";
$success = "False";


$eventSource = "Savision Live Maps";


write-eventlog -logname "Operations Manager" -source $eventSource -eventID 0 -Category 0 -message "Live Maps Service Connector is starting the synchronisation process..";

# Connect to SCSM
try
{
$scsm = New-SCSMConnection -ServerName "localhost"
$success = "True";
}
catch
{
$msg = "Live Maps Service Connector was unable to connect to Service Manager: $_"
write-eventlog -logname "Operations Manager" -source $eventSource -eventID 0 -Category 0 -EntryType Error -message $msg;
return
}

if ($success -eq "True") {
#Connect to SCOM
try
{
if($UserName -ne "") {

$PasswordSecure = ConvertTo-SecureString $Password -asplaintext -force
$scom = New-SCOMConnection -ServerName $Server -UserName $UserName -Password $PasswordSecure -Domain $Domain }

else {
$scom = New-SCOMConnection -ServerName $Server }
}
catch
{
$msg = "Live Maps Service Connector was unable to connect to Operations Manager: $_"
write-eventlog -logname "Operations Manager" -source $eventSource -eventID 0 -Category 0 -EntryType Error -message $msg;
Set-ConnectorStatus -ConnectorId $ConnectorId -Dataprovider $scsm -ConnectorStatus $ConnectorStatusFinishedWithError
return
}

# Sync Services
try
{
$date = (get-date).ToUniversalTime();
Set-ConnectorStartTime -ConnectorId $ConnectorId -Dataprovider $scsm -StartTime $date
if ($SelectedLiveMapsServiceIds -eq '[ALL]') {
$LiveMapsServices = Get-LiveMapsServices -ServerName $Server -Dataprovider $scom
}
else {
for ($i=0; $i -le $SelectedLiveMapsServiceIds.Length - 1; $i = ($i + 36)) {
if ($filter.Length -ne 0) { $filter += " or "; }
$id = $SelectedLiveMapsServiceIds.Substring($i, 36);
$filter += "Id = '" + $id + "'" };
$info = "Live Maps Connector output: ";
$LiveMapsServices = Get-LiveMapsServices -ServerName $Server -Dataprovider $scom -Filter $filter;
}
Set-ConnectorPercentageComplete -ConnectorId $ConnectorId -Dataprovider $scsm -PercentageComplete 50
if ($LiveMapsServices.Count -ne 0) { $result = Set-LiveMapsServices -Dataprovider $scsm -LiveMapsServices $LiveMapsServices; }
$info += $result;
write-eventlog -logname "Operations Manager" -source $eventSource -eventID 0 -Category 0 -message $info;
$date = (get-date).ToUniversalTime();
Set-ConnectorFinishTime -ConnectorId $ConnectorId -Dataprovider $scsm -FinishTime $date
}
catch
{
$msg = "Live Maps Service Connector failed synchronisation: $_"
write-eventlog -logname "Operations Manager" -source $eventSource -eventID 0 -Category 0 -EntryType Error -message $msg;
Set-ConnectorStatus -ConnectorId $ConnectorId -Dataprovider $scsm -ConnectorStatus $ConnectorStatusFinishedWithError
return
}
}
</Script></ScriptBody>
<SnapIns>
<SnapIn>Savision.LiveMaps.ServiceManager.Cmdlets</SnapIn>
</SnapIns>
<Parameters>
<Parameter>
<Name>SelectedLiveMapsServiceIds</Name>
<Value>$Config/SelectedLiveMapsServiceIds$</Value>
</Parameter>
<Parameter>
<Name>Server</Name>
<Value>$Config/Server$</Value>
</Parameter>
<Parameter>
<Name>ConnectorId</Name>
<Value>$Config/ConnectorId$</Value>
</Parameter>
<Parameter>
<Name>UserName</Name>
<Value>$Config/UserName$</Value>
</Parameter>
<Parameter>
<Name>Password</Name>
<Value>$Config/Password$</Value>
</Parameter>
<Parameter>
<Name>Domain</Name>
<Value>$Config/Domain$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>900</TimeoutSeconds>
<StrictErrorHandling>true</StrictErrorHandling>
<SerializationDepth>3</SerializationDepth>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="LMConnectorWorkflow.WindowsPowerShellScript.e0988682_11f4_4bce_9ec4_ead7ba610176.PSWA"/>
</Composition>
</Composite>
</ModuleImplementation>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>