Eaton UPS Power Restore Critical Recovery

EatonPROManagementPack.UPSPowerRestoreCriticalRecovery (Recovery)

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.Pro.2008.Server
MonitorEatonPROManagementPack.UPSPowerRestoreCriticalMonitor
Reset MonitorFalse
RemotableTrue
Timeout300
CategoryCustom
Enabledfalse
AccessibilityPublic

Member Modules:

ID Module Type TypeId RunAs 
UpdatePROTipCriticalRestoreRecovery WriteAction System.CommandExecuter Default

Source Code:

<Recovery ID="EatonPROManagementPack.UPSPowerRestoreCriticalRecovery" Accessibility="Public" Enabled="false" Target="MicrosoftSystemCenterVirtualMachineManagerPro2008Library!Microsoft.SystemCenter.VirtualMachineManager.Pro.2008.Server" Monitor="EatonPROManagementPack.UPSPowerRestoreCriticalMonitor" ResetMonitor="false" ExecuteOnState="Error" Remotable="true" Timeout="300">
<Category>Custom</Category>
<WriteAction ID="UpdatePROTipCriticalRestoreRecovery" TypeID="System!System.CommandExecuter">
<ApplicationName>%SystemRoot%\system32\windowspowershell\v1.0\powershell.exe</ApplicationName>
<WorkingDirectory/>
<CommandLine>"&amp; '$file/ImplementActionScriptCritical1.ps1$' '$Data/StateChange/DataItem/EventOriginId$' '$Target/Property[Type="MicrosoftSystemCenterVirtualMachineManagerPro2008Library!Microsoft.SystemCenter.VirtualMachineManager.Pro.2008.Base"]/VMMServer$' '$Data/StateChange/DataItem/Context/DataItem/EventDescription$' "</CommandLine>
<TimeoutSeconds>600</TimeoutSeconds>
<RequireOutput>true</RequireOutput>
<Files>
<File>
<Name>ImplementActionScriptCritical1.ps1</Name>
<Contents><Script>


# this PowerShell Script is expecting the following 3 parameters
Param($ProtipId, $VMMServerName, $EventData);

add-pssnapin Microsoft.SystemCenter.VirtualMachineManager


#$Error.Clear()

# get a connection to the VMM server
$c = get-vmmserver -ComputerName $VMMServerName

$tip=Set-PROTip -PROTipId $ProtipId -TipStatus Running;

Write-Output "Script is running Pro tip id" + $ProtipId &gt;&gt; C:\test.txt


# if ($Error.Count -ne 0)
# {
# CreateEventLogGenericError "Failed to get a connection to #the VMM server host: " + $Error[0]
# return;
# }

$date=Get-Date

Write-Output $date &gt;&gt; C:\test.txt
Write-Output $EventData &gt;&gt; C:\test.txt
$EventSplit=$EventData.split(":")
$Arg1=$EventSplit[0]
$Arg2=$EventSplit[1]
Write-Output " Hostname " + $Arg1 &gt;&gt; C:\test.txt
Write-Output " Msg " + $Arg2 &gt;&gt; C:\test.txt

#connect to host
$VMHost = Get-VMHost -ComputerName $Arg1

Enable-VMHost $VMHost

Write-Output "Script has already run,Pro tip id" + $ProtipId &gt;&gt; C:\test.txt
$tip=Set-PROTip -PROTipId $ProtipId -TipStatus Resolved;
Write-Output "Script is resolved Pro tip id" + $ProtipId &gt;&gt; C:\test.txt
</Script></Contents>
</File>
</Files>
</WriteAction>
</Recovery>