Microsoft.SystemCenter.VirtualMachineManager.2012.VirtualMachine.CPUCount (Rule)

Element properties:

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

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SystemCenter.VirtualMachineManager.2012.VirtualMachine.CPUCount" Enabled="true" Target="VMM2012Discovery!Microsoft.SystemCenter.VirtualMachineManager.2012.VirtualMachine" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceHealth</Category>
<DataSources>
<DataSource ID="PerformanceDS" TypeID="Windows!Microsoft.Windows.TimedScript.PerformanceProvider">
<IntervalSeconds>3600</IntervalSeconds>
<SyncTime/>
<ScriptName>VirtualMachineCPUCount.vbs</ScriptName>
<Arguments>$Target/Property[Type="VMMBase!Microsoft.SystemCenter.VirtualMachineManager.VirtualMachine"]/CPUCount$ $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

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

If Not(VMState = "Missing" OR VMState = "Saved" OR VMState = "Stopped" OR VMState = "Paused" OR VMState = "P2VCreationFailed" OR VMState = "V2VCreationFailed" OR VMState = "CreationFailed" OR VMState = "HostNotResponding" OR VMState = "MigrationFailed" OR VMState = "PowerOff") Then
Call oBag.AddValue("CPUCount", oValue)
Else
Call oBag.AddValue("CPUCount", 0)
End If

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