Microsoft.SystemCenter.VirtualMachineManager.2016.VirtualMachine.Runtime (Rule)

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.2016.VirtualMachine
CategoryPerformanceHealth
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
PerformanceDS DataSource Microsoft.SystemCenter.VirtualMachineManager.2016.TimedScript.PerformanceProvider Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SystemCenter.VirtualMachineManager.2016.VirtualMachine.Runtime" Enabled="true" Target="VMM2016Discovery!Microsoft.SystemCenter.VirtualMachineManager.2016.VirtualMachine" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceHealth</Category>
<DataSources>
<DataSource ID="PerformanceDS" TypeID="Microsoft.SystemCenter.VirtualMachineManager.2016.TimedScript.PerformanceProvider">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ScriptName>VirtualMachineRunTime.vbs</ScriptName>
<Arguments>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.VirtualMachine"]/State$</Arguments>
<ScriptBody><Script>SetLocale("en-us")

Dim oAPI, oBag, oValue
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()

Dim oArgs, VMState
Set oArgs = WScript.Arguments
If oArgs.Count &lt;&gt; 2 Then
WScript.Quit()
End If

VMState = oArgs(0)
oValue = oArgs(1)

If (VMState = "Running" OR VMState = "Paused") Then
Call oBag.AddValue("Runtime", oValue)
Else
Call oBag.AddValue("Runtime", 0)
End If

Call oAPI.Return(oBag)</Script></ScriptBody>
<TimeoutSeconds>10</TimeoutSeconds>
<ObjectName>VirtualMachine</ObjectName>
<CounterName>RuntimeSeconds</CounterName>
<InstanceName/>
<Value>$data/Property[@Name='Runtime']$</Value>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>