VM Page File Size Discovery

VKernel.CapacityAnalyzer.VmPageFileSizeDiscovery (Discovery)

Element properties:

TargetMicrosoft.SystemCenter.VirtualMachineManager.2012.VirtualMachine
EnabledTrue
Frequency14400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.DiscoveryProvider Default

Source Code:

<Discovery ID="VKernel.CapacityAnalyzer.VmPageFileSizeDiscovery" Enabled="true" Target="SCVMM2012DiscoveryMP!Microsoft.SystemCenter.VirtualMachineManager.2012.VirtualMachine" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="VKernel.CapacityAnalyzer.VirtualMachine">
<Property TypeID="VKernel.CapacityAnalyzer.VirtualMachine" PropertyID="PageFileSize"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>14400</IntervalSeconds>
<SyncTime/>
<ScriptName>PageFileSizeDiscovery.js</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Property[Type="SCVMMLibraryMP!Microsoft.SystemCenter.VirtualMachineManager.VirtualMachine"]/VMMId$ $Target/Property[Type="SCVMMLibraryMP!Microsoft.SystemCenter.VirtualMachineManager.VirtualMachine"]/VMMServer$ $Target/Property[Type="SCVMMLibraryMP!Microsoft.SystemCenter.VirtualMachineManager.VirtualMachine"]/GuestFQDN$ fakeParam</Arguments>
<ScriptBody><Script>var oAPI = WScript.CreateObject("MOM.ScriptAPI");
var oArgs = WScript.Arguments;
var SourceId = oArgs.Item(0);
var ManagedEntityId = oArgs.Item(1);
var VmmGuid = oArgs.Item(2);
var ComputerName = oArgs.Item(3);
var vmName = oArgs.Item(4);

var locator = WScript.CreateObject("WbemScripting.SWbemLocator");
var services = locator.ConnectServer(vmName, "root\\cimv2");
var pageFileEnum = new Enumerator(services.ExecQuery("select AllocatedBaseSize from Win32_PageFileUsage", "WQL", 0x20));
var oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId);
var pageFileSize = 0;

for (; !pageFileEnum.atEnd(); pageFileEnum.moveNext())
{
var pageFileObj = pageFileEnum.item();
pageFileSize += pageFileObj.AllocatedBaseSize;
}

var oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='VKernel.CapacityAnalyzer.VirtualMachine']$")

oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", ComputerName);
oInst.AddProperty("$MPElement[Name='SCVMMLibraryMP!Microsoft.SystemCenter.VirtualMachineManager.VirtualMachine']/VMMId$", VmmGuid);
oInst.AddProperty("$MPElement[Name='VKernel.CapacityAnalyzer.VirtualMachine']/PageFileSize$", pageFileSize);
oDiscoveryData.AddInstance(oInst);

oAPI.Return(oDiscoveryData);
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</DataSource>
</Discovery>