Microsoft.SystemCenter.VirtualMachineManager.2016.VMStartTask (WriteActionModuleType)

Element properties:

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

Member Modules:

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

Source Code:

<WriteActionModuleType ID="Microsoft.SystemCenter.VirtualMachineManager.2016.VMStartTask" Accessibility="Internal">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="VMName" type="xsd:string"/>
</Configuration>
<ModuleImplementation>
<Composite>
<MemberModules>
<WriteAction ID="vmStartTask" TypeID="Windows!Microsoft.Windows.PowerShellWriteAction">
<ScriptName>vmTaskStartScript</ScriptName>
<ScriptBody><Script>$module = get-module -Name "virtualmachinemanager";
if ($module -eq $())
{
$modulePath = get-itemproperty -path "hklm:\software\microsoft\microsoft system center virtual machine manager server\setup";
if ($error.Count -ne 0)
{
New-WinEvent -ProviderName "Microsoft-VirtualMachineManager-Server" -Id 4005
return;
}
Import-Module ($modulePath.InstallPath + "bin\psModules\virtualmachinemanagercore\virtualmachinemanagercore.psd1");
if ($error.Count -ne 0)
{
New-WinEvent -ProviderName "Microsoft-VirtualMachineManager-Server" -Id 4006
return;
}
}

$server = Get-SCVMMServer localhost;
if ($server -eq $())
{
New-WinEvent -ProviderName "Microsoft-VirtualMachineManager-Server" -Id 4007
return;
}

Try
{
$vm = Get-SCVirtualMachine -name $Config/VMName$ -VMMServer $server;
if ($vm -eq $())
{
return;
}

if ($vm.status -eq "Paused")
{
resume-vm -vm $vm;
}
else
{
start-vm -vm $vm;
}
}
Finally
{
if ($server -ne $null)
{
$server.Disconnect();
}
}</Script></ScriptBody>
<Parameters/>
<TimeoutSeconds>30</TimeoutSeconds>
<StrictErrorHandling>true</StrictErrorHandling>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="vmStartTask"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Windows!Microsoft.Windows.SerializedObjectData</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>