Dell Server Discovery

Dell.Server.OOB.ServerDiscovery (Discovery)

This Discovery discovers Server Agent-free objects

Knowledge Base article:

Summary

Dell Server (Agent-free) Server Discovery

Element properties:

TargetMicrosoft.SystemCenter.OOB.SMASHDevice
EnabledTrue
Frequency86400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:
Discovered relationships and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Dell.Operations.Server.TemplateMethod.ServerDiscoveryDSMT Default

Source Code:

<Discovery ID="Dell.Server.OOB.ServerDiscovery" Enabled="true" Target="OOB!Microsoft.SystemCenter.OOB.SMASHDevice" ConfirmDelivery="true" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.ModularBlade.WithOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.ModularBlade">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.MonolithicServer.WithOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.MonolithicServer">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.UnManagedServer">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.UnManagedServer" PropertyID="IPAddress"/>
<Property TypeID="DellModelServer!Dell.Server.UnManagedServer" PropertyID="Description"/>
</DiscoveryClass>
<DiscoveryClass TypeID="Dell.Server.SMASHDevice">
<Property TypeID="OOB!Microsoft.SystemCenter.OOB.WSManDevice" PropertyID="IP"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Processors">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.ProcUnit">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="Family"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="MaxClockSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="NumberOfProcessorCores"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="Characteristics"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="HyperThreadingEnabled"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="HyperThreadingCapable"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="VirtualizationTechnologyEnabled"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="VirtualizationTechnologyCapable"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="XDEnabled"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="XDCapable"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="TurboModeEnabled"/>
<Property TypeID="DellModelServer!Dell.Server.ProcUnit" PropertyID="TurboModeCapable"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Memory">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Memory" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.MemoryUnit">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="MemoryType"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="Capacity"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="Speed"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="PartNumber"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="BankLabel"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="ManufactureDate"/>
<Property TypeID="DellModelServer!Dell.Server.MemoryUnit" PropertyID="Rank"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.PowerSupplies">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.PowerSupplies" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.PSUnit">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="DetailedState"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="TotalOutputPower"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="IsSwitchingSupply"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="Type"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="PartNumber"/>
<Property TypeID="DellModelServer!Dell.Server.PSUnit" PropertyID="FirmwareVersion"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.BIOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="Name"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="SMBIOSBIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="SMBIOSMajorVersion"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="SMBIOSMinorVersion"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="SMBIOSPresent"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="PrimaryBIOS"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="CurrentLanguage"/>
<Property TypeID="DellModelServer!Dell.Server.BIOS" PropertyID="BIOSReleaseDate"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.iDRAC">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="vFlashStorageSize"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="FirmwareVersion"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="LCCVersion"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="IPMIVersion"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="GroupStatus"/>
<Property TypeID="DellModelServer!Dell.Server.iDRAC" PropertyID="GroupName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.NICGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.NICGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="MediaType"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="NICMode"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="VendorName"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="ProductName"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="FamilyVersion"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="PermanentMACAddress"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="VirtualMACAddress"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="IPv4Address"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="IPv6Address"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="LinkSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="LinkDuplexMode"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="PermanentFCOEMACAddress"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="PermanentiSCSIMACAddress"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="SupportedBootProtocol"/>
<Property TypeID="DellModelServer!Dell.Server.NetworkInterfaceUnit" PropertyID="NICCapabilities"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server.Storage" PropertyID="RemoteSettings"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="SlotID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="FirmwareVer"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="MinReqFirmwareVer"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="DriverVer"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="MinReqDriverVer"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="SCSIInitiatorID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="PCIVendorID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="DeviceCardManufacturer"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="DeviceCardSlotType"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="ProductName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="SASAddress"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="Security"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="EncryptionMode"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="EncryptionCapability"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="CachecadeCapability"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="SlicedVDCapability"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller" PropertyID="CacheMemorySize"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Sensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Sensor" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.BatteryGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.BatteryGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Battery">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Battery" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Connector">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Connector" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Connector" PropertyID="Termination"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Connector" PropertyID="SCSIRate"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDiskGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDiskGroup" PropertyID="Number"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="Layout"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="Size"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="Name"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="Type"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="MediaType"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="ReadPolicy"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="WritePolicy"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="CachePolicy"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="StripeElementSize"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="Cachecade"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="SpanDepth"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="SpanLength"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="BlockSize"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.VirtualDisk" PropertyID="LockStatus"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="Type"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="Capacity"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="UsedRaidDiskSpace"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="AvailableRaidDiskSpace"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="HotSpare"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="VendorID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="ProductID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="Revision"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="NegotiatedSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="CapableSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="ManufactureDay"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="ManufactureWeek"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="ManufactureYear"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="SASAddress"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="MediaType"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="DriveFormFactor"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="SecurityState"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="SlotNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="PartNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk" PropertyID="SupportedEncryptionTypes"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup" PropertyID="Number"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="Type"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="Capacity"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="UsedRaidDiskSpace"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="AvailableRaidDiskSpace"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="HotSpare"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="VendorID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="ProductID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="Revision"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="NegotiatedSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="CapableSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="ManufactureDay"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="ManufactureWeek"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="ManufactureYear"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="SASAddress"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="MediaType"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="DriveFormFactor"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="SecurityState"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="SlotNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="PartNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk" PropertyID="SupportedEncryptionTypes"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup" PropertyID="Number"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="Type"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="Capacity"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="UsedRaidDiskSpace"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="AvailableRaidDiskSpace"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="HotSpare"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="VendorID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="ProductID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="Revision"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="NegotiatedSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="CapableSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="ManufactureDay"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="ManufactureWeek"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="ManufactureYear"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="SASAddress"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="MediaType"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="DriveFormFactor"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="SecurityState"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="SlotNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="PartNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk" PropertyID="SupportedEncryptionTypes"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="Connector"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="FirmwareVersion"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="ProductName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="WiredOrder"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="TargetID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="Configuration"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="AssetName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="SASAddress"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="BackplanePartNum"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="SplitbusPartNum"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure" PropertyID="EnclosurePartNum"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM" PropertyID="PartNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM" PropertyID="FirmwareVersion"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensor" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupply">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupply" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupply" PropertyID="PartNumber"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup" PropertyID="Number"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensor" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Sensors">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Sensors" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.TemperatureSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.TemperatureSensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.TemperatureSensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.TemperatureSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.TemperatureSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.FanSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.FanSensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.FanSensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.FanSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.FanSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.VoltageSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.VoltageSensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.VoltageSensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.VoltageSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.VoltageSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.IntrusionSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.IntrusionSensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.IntrusionSensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.IntrusionSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.IntrusionSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.BatterySensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.BatterySensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.BatterySensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.BatterySensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.BatterySensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.CurrentSensor">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.CurrentSensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.CurrentSensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.CurrentSensorGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.CurrentSensorGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Sled.WithOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Sled.WithoutOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.FMServer">
<Property PropertyID="ServiceTag" TypeID="DellModelServer!Dell.Server.FMServer"/>
<Property PropertyID="HostManagementServer" TypeID="DellModelServer!Dell.Server.FMServer"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.SledNode.WithOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.SledNode.WithoutOS">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="UID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostName"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerIPAddress"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RACURL"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteAccessIP"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AssetTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ExpressServiceCode"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ServerGeneration"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="ChassisServiceTag"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BIOSVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="TotalMemory"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="BoardPartNumber"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystem"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OperatingSystemVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="OMSAVersion"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL1"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL2"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL3"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="AddOMSAURL4"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="HostedMgmtServer"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="NodeID"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="RemoteSettings"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="MaxMemoryCapacity"/>
<Property TypeID="DellModelServer!Dell.Server" PropertyID="SystemLockdown"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.LicenseGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.LicenseGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.HostNICGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.HostNICGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.License">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.License" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.License" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.License" PropertyID="LicenseType"/>
<Property TypeID="DellModelServer!Dell.Server.License" PropertyID="LicenseInstallDate"/>
<Property TypeID="DellModelServer!Dell.Server.License" PropertyID="LicenseSoldDate"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.SDCardGroup">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.SDCardGroup" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.SDCard">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.SDCard" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.SDCard" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.SDCard" PropertyID="Size"/>
<Property TypeID="DellModelServer!Dell.Server.SDCard" PropertyID="WriteProtected"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.HostNIC">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="InstanceID"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="MACAddress"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="DeviceDescription"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="IPv4Address"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="IPv4SubnetMask"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="IPv4Gateway"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="IPv6Address"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="IPv6Prefix"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="IPv6Gateway"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="InterfaceType"/>
<Property TypeID="DellModelServer!Dell.Server.HostNIC" PropertyID="DeviceFQDD"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Extender">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender" PropertyID="ID"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Extender.BackPlane">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.BackPlane" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.BackPlane" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.BackPlane" PropertyID="SlotCount"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.BackPlane" PropertyID="FirmwareVersion"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk">
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="ID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="Model"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="Size"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="BusProtocol"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="DeviceProtocol"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="DriverVersion"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="MediaType"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="Manufacturer"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="ProductID"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="SerialNumber"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="DriveFormFactor"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="CapableSpeed"/>
<Property TypeID="DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk" PropertyID="FirmwareVersion"/>
</DiscoveryClass>
<DiscoveryClass TypeID="DellModelServer!Dell.Server.ChassisControllerSensor">
<Property TypeID="DellModelServer!Dell.Server.ChassisControllerSensor" PropertyID="DeviceID"/>
<Property TypeID="DellModelServer!Dell.Server.ChassisControllerSensor" PropertyID="ElementName"/>
</DiscoveryClass>
<DiscoveryRelationship TypeID="DellModelServer!Dell.ModularSystemGroup.Contains.Dell.ModularBlade"/>
<DiscoveryRelationship TypeID="DellModelServer!Dell.MonolithicServerGroup.Contains.Dell.MonolithicServer"/>
<DiscoveryRelationship TypeID="DellModelServer!Dell.UnManagedServerGroup.Contains.Dell.UnManagedServer"/>
<DiscoveryRelationship TypeID="DellModularBlade.Contains.DellSMASHDevice"/>
<DiscoveryRelationship TypeID="DellMonolithicServer.Contains.DellSMASHDevice"/>
<DiscoveryRelationship TypeID="DellModelServer!ServerProcessors.Hosts.ProcUnit"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.Memory"/>
<DiscoveryRelationship TypeID="DellModelServer!Memory.Hosts.MemoryUnit"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.PowerSupplies"/>
<DiscoveryRelationship TypeID="DellModelServer!PowerSupplies.Hosts.PSUnit"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.BIOS"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.iDRAC"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.NICGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!NICGroup.Hosts.NetworkInterfaceUnit"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Contains.Storage"/>
<DiscoveryRelationship TypeID="DellModelServer!Storage.Hosts.Controller"/>
<DiscoveryRelationship TypeID="DellModelServer!Controller.Hosts.ControllerSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!ControllerSensor.Hosts.ControllerBatteryGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!ControllerBatteryGroup.Hosts.ControllerBatteryUnit"/>
<DiscoveryRelationship TypeID="DellModelServer!Controller.Hosts.Connector"/>
<DiscoveryRelationship TypeID="DellModelServer!Controller.Hosts.VirtualDiskGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!VirtualDiskGroup.Hosts.VirtualDisk"/>
<DiscoveryRelationship TypeID="DellModelServer!InternalPhysicalDiskGroup.Hosts.InternalPhysicalDisk"/>
<DiscoveryRelationship TypeID="DellModelServer!Enclosure.Hosts.InternalPhysicalDiskGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!ExternalPhysicalDiskGroup.Hosts.ExternalPhysicalDisk"/>
<DiscoveryRelationship TypeID="DellModelServer!Enclosure.Hosts.ExternalPhysicalDiskGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Controller.Hosts.DirectAttachedPhysicalDisk"/>
<DiscoveryRelationship TypeID="DellModelServer!Connector.Hosts.Enclosure"/>
<DiscoveryRelationship TypeID="DellModelServer!Enclosure.Hosts.EMM"/>
<DiscoveryRelationship TypeID="DellModelServer!EnclosureFanSensorGroup.Hosts.EnclosureFanSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!EnclosureSensor.Hosts.EnclosureFanSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!ControllerEnclosurePowerSupplyGroup.Hosts.ControllerEnclosurePowerSupply"/>
<DiscoveryRelationship TypeID="DellModelServer!Enclosure.Hosts.EnclosurePowerSupplyGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!EnclosureTempSensorGroup.Hosts.EnclosureTempSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!EnclosureSensor.Hosts.EnclosureTempSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Enclosure.Hosts.EnclosureSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.Sensors"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.TemperatureSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!TemperatureSensorGroup.Hosts.TemperatureSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.FanSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.VoltageSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.IntrusionSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.BatterySensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.CurrentSensorGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!FanSensorGroup.Hosts.FanSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!VoltageSensorGroup.Hosts.VoltageSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!IntrusionSensorGroup.Hosts.IntrusionSensor"/>
<DiscoveryRelationship TypeID="DellModelServer!BatterySensorGroup.Hosts.BatterySensor"/>
<DiscoveryRelationship TypeID="DellModelServer!CurrentSensorGroup.Hosts.CurrentSensor"/>
<DiscoveryRelationship TypeID="DellSled.Contains.DellSMASHDevice"/>
<DiscoveryRelationship TypeID="DellModelServer!Dell.SledGroup.Contains.DellSled"/>
<DiscoveryRelationship TypeID="DellModelServer!Dell.SledGroup.Contains.DellFMServer"/>
<DiscoveryRelationship TypeID="DellModelServer!DellFMServer.Contains.DellSledNode"/>
<DiscoveryRelationship TypeID="DellSledNode.Contains.DellSMASHDevice"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.ServerProcessors"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.LicenseGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!LicenseGroup.Hosts.License"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.SDCardGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!SDCardGroup.Hosts.SDCard"/>
<DiscoveryRelationship TypeID="DellModelServer!DellServer.Hosts.HostNICGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!HostNICGroup.Hosts.HostNIC"/>
<DiscoveryRelationship TypeID="DellModelServer!Storage.Hosts.Extender"/>
<DiscoveryRelationship TypeID="DellModelServer!Extender.Hosts.BackPlane"/>
<DiscoveryRelationship TypeID="DellModelServer!BackPlane.Hosts.PhysicalDisk"/>
<DiscoveryRelationship TypeID="DellModelServer!Dell.RackWorkstationGroup.Contains.Dell.ManagedRackWorkstationGroup"/>
<DiscoveryRelationship TypeID="DellModelServer!Dell.ManagedRackWorkstationGroup.Contains.Dell.RackWorkstation"/>
<DiscoveryRelationship TypeID="DellModelServer!Sensors.Hosts.ChassisControllerSensor"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="DellOperationsServer!Dell.Operations.Server.TemplateMethod.ServerDiscoveryDSMT">
<IntervalSeconds>86400</IntervalSeconds>
<TimeoutSeconds>600</TimeoutSeconds>
<LogLevel>0</LogLevel>
<DoDiscovery>true</DoDiscovery>
<SuppressDiscoveryEvents>true</SuppressDiscoveryEvents>
<TemplateScriptArguments>$MPElement$ $Target/Id$</TemplateScriptArguments>
<TemplateScriptConfiguration>
'#################################################################################################################################
'**************************************************************************************************
'ProtocolParameters initialization code
'**************************************************************************************************
'Creating the argument dictionary that will be included in the DSMT script
Call protParameterObj.setProtocolName("wsman")
If DebugScript = False Then
Call protParameterObj.setProtocolParameterDictionary("IPAddress", "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$")
Call protParameterObj.setProtocolParameterDictionary("Port", "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/Port$")
Call protParameterObj.setProtocolParameterDictionary("Encoding", "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/Encoding$")
Call protParameterObj.setProtocolParameterDictionary("SkipCACheck", "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/SkipCACheck$")
Call protParameterObj.setProtocolParameterDictionary("SkipCNCheck", "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/SkipCNCheck$")
Call protParameterObj.setProtocolParameterDictionary("Timeout", "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/Timeout$")
Call protParameterObj.setProtocolParameterDictionary("UserName", "$RunAs[Name='OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile']/UserName$")
Call protParameterObj.setProtocolParameterDictionary("Password", "$RunAs[Name='OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile']/Password$")
Else
Call protParameterObj.setProtocolParameterDictionary("IPAddress", "10.94.172.166")
Call protParameterObj.setProtocolParameterDictionary("Port", "443")
Call protParameterObj.setProtocolParameterDictionary("Encoding", "UTF-8")
Call protParameterObj.setProtocolParameterDictionary("SkipCACheck", "True")
Call protParameterObj.setProtocolParameterDictionary("SkipCNCheck", "True")
Call protParameterObj.setProtocolParameterDictionary("Timeout", "0")
Call protParameterObj.setProtocolParameterDictionary("UserName", "")
Call protParameterObj.setProtocolParameterDictionary("Password", "")
End If

Function getRemoteSetting()
Dim Port, Encoding, SkipCACheck, SkipCNCheck, Timeout
If DebugScript = False Then
Port = "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/Port$"
Encoding = "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/Encoding$"
SkipCACheck = "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/SkipCACheck$"
SkipCNCheck = "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/SkipCNCheck$"
Timeout = "$Target/Property[Type='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/Timeout$"
Else
Port = "443"
Encoding = "UTF-8"
SkipCACheck = "True"
SkipCNCheck = "True"
Timeout = "300"
End If
getRemoteSetting = Port &amp; ";" &amp; Encoding &amp; ";" &amp; SkipCACheck &amp; ";" &amp; SkipCNCheck &amp; ";" &amp; Timeout
End Function
'#################################################################################################################################
</TemplateScriptConfiguration>
<ProfileDictionaryScript>
'#################################################################################################################################
'**************************************************************************************************
'ProfileDictionaryCreator code
'**************************************************************************************************
Class ProfileDictionaryCreator
Private profileInfoDict
Public ishostNIC
Public isPCIeSSDExtender
Public isPCIeSSDBackPlane
Public isPCIeSSDPhysicalDisk
Public generation
Private Sub Class_Initialize
Set profileInfoDict = CreateObject("Scripting.Dictionary")
profileInfoDict.CompareMode = vbTextCompare
End Sub
Public Function GetProfileDictionary()
Set GetProfileDictionary = profileInfoDict
End Function

Public Function PopulateProfileDictionary()

Dim Dell_Server_Obj
Set Dell_Server_Obj = New ProfileInformation
Dell_Server_Obj.setProfileName("Dell.Server")
Dim Dell_Server_UID
Set Dell_Server_UID = New AttributeProperty

Dell_Server_UID.setProtocol("wsman")
Dell_Server_UID.setClassName("cimv2/DCIM_SystemView")
Dell_Server_UID.setProtocolAttributeName("FQDD")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_UID)
Dell_Server_Obj.setAttributeDictionary("UID")

Dim Dell_Server_HostName
Set Dell_Server_HostName = New AttributeProperty

Dell_Server_HostName.setProtocol("wsman")
Dell_Server_HostName.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_HostName)
Dell_Server_Obj.setAttributeDictionary("HostName")

Dim Dell_Server_ServerIPAddress
Set Dell_Server_ServerIPAddress = New AttributeProperty

Dell_Server_ServerIPAddress.setProtocol("wsman")
Dell_Server_ServerIPAddress.setClassName("cimv2/DCIM_SystemView")
Dell_Server_ServerIPAddress.setProtocolAttributeName("IPAddress")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_ServerIPAddress)
Dell_Server_Obj.setAttributeDictionary("ServerIPAddress")

Dim Dell_Server_OMSAURL
Set Dell_Server_OMSAURL = New AttributeProperty

Dell_Server_OMSAURL.setProtocol("wsman")
Dell_Server_OMSAURL.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_OMSAURL)
Dell_Server_Obj.setAttributeDictionary("OMSAURL")

Dim Dell_Server_RACURL
Set Dell_Server_RACURL = New AttributeProperty

Dell_Server_RACURL.setProtocol("wsman")
Dell_Server_RACURL.setClassName("cimv2/DCIM_IDRACCardView")
Dell_Server_RACURL.setProtocolAttributeName("URLString")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_RACURL)
Dell_Server_Obj.setAttributeDictionary("RACURL")

Dim Dell_Server_RemoteAccessIP
Set Dell_Server_RemoteAccessIP = New AttributeProperty

Dell_Server_RemoteAccessIP.setProtocol("wsman")
Dell_Server_RemoteAccessIP.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_RemoteAccessIP)
Dell_Server_Obj.setAttributeDictionary("RemoteAccessIP")

Dim Dell_Server_AssetTag
Set Dell_Server_AssetTag = New AttributeProperty

Dell_Server_AssetTag.setProtocol("wsman")
Dell_Server_AssetTag.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_AssetTag)
Dell_Server_Obj.setAttributeDictionary("AssetTag")

Dim Dell_Server_ServiceTag
Set Dell_Server_ServiceTag = New AttributeProperty

Dell_Server_ServiceTag.setProtocol("wsman")
Dell_Server_ServiceTag.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_ServiceTag)
Dell_Server_Obj.setAttributeDictionary("ServiceTag")

Dim Dell_Server_NodeID
Set Dell_Server_NodeID = New AttributeProperty

Dell_Server_NodeID.setProtocol("wsman")
Dell_Server_NodeID.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_NodeID)
Dell_Server_Obj.setAttributeDictionary("NodeID")

Dim Dell_Server_SysMemMaxCapacitySize
Set Dell_Server_SysMemMaxCapacitySize = New AttributeProperty

Dell_Server_SysMemMaxCapacitySize.setProtocol("wsman")
Dell_Server_SysMemMaxCapacitySize.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_SysMemMaxCapacitySize)
Dell_Server_Obj.setAttributeDictionary("SysMemMaxCapacitySize")

Dim Dell_Server_ExpressServiceCode
Set Dell_Server_ExpressServiceCode = New AttributeProperty

Dell_Server_ExpressServiceCode.setProtocol("wsman")
Dell_Server_ExpressServiceCode.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_ExpressServiceCode)
Dell_Server_Obj.setAttributeDictionary("ExpressServiceCode")

Dim Dell_Server_Manufacturer
Set Dell_Server_Manufacturer = New AttributeProperty

Dell_Server_Manufacturer.setProtocol("wsman")
Dell_Server_Manufacturer.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_Manufacturer)
Dell_Server_Obj.setAttributeDictionary("Manufacturer")


Dim Dell_Server_Model
Set Dell_Server_Model = New AttributeProperty

Dell_Server_Model.setProtocol("wsman")
Dell_Server_Model.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_Model)
Dell_Server_Obj.setAttributeDictionary("Model")

Dim Dell_Server_ServerGeneration
Set Dell_Server_ServerGeneration = New AttributeProperty

Dell_Server_ServerGeneration.setProtocol("wsman")
Dell_Server_ServerGeneration.setClassName("cimv2/DCIM_SystemView")
Dell_Server_ServerGeneration.setProtocolAttributeName("SystemGeneration")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_ServerGeneration)
Dell_Server_Obj.setAttributeDictionary("ServerGeneration")

Dim Dell_Server_ChassisServiceTag
Set Dell_Server_ChassisServiceTag = New AttributeProperty

Dell_Server_ChassisServiceTag.setProtocol("wsman")
Dell_Server_ChassisServiceTag.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_ChassisServiceTag)
Dell_Server_Obj.setAttributeDictionary("ChassisServiceTag")

Dim Dell_Server_BIOSVersion
Set Dell_Server_BIOSVersion = New AttributeProperty

Dell_Server_BIOSVersion.setProtocol("wsman")
Dell_Server_BIOSVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOSVersion.setProtocolAttributeName("BIOSVersionString")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_BIOSVersion)
Dell_Server_Obj.setAttributeDictionary("BIOSVersion")

Dim Dell_Server_TotalMemory
Set Dell_Server_TotalMemory = New AttributeProperty

Dell_Server_TotalMemory.setProtocol("wsman")
Dell_Server_TotalMemory.setClassName("cimv2/DCIM_SystemView")
Dell_Server_TotalMemory.setProtocolAttributeName("SysMemTotalSize")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_TotalMemory)
Dell_Server_Obj.setAttributeDictionary("TotalMemory")

Dim Dell_Server_BoardPartNumber
Set Dell_Server_BoardPartNumber = New AttributeProperty

Dell_Server_BoardPartNumber.setProtocol("wsman")
Dell_Server_BoardPartNumber.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_BoardPartNumber)
Dell_Server_Obj.setAttributeDictionary("BoardPartNumber")

Dim Dell_Server_OperatingSystem
Set Dell_Server_OperatingSystem = New AttributeProperty

Dell_Server_OperatingSystem.setProtocol("wsman")
Dell_Server_OperatingSystem.setClassName("cimv2/DCIM_SystemView")
Dell_Server_OperatingSystem.setProtocolAttributeName("OSName")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_OperatingSystem)
Dell_Server_Obj.setAttributeDictionary("OperatingSystem")

Dim Dell_Server_OperatingSystemVersion
Set Dell_Server_OperatingSystemVersion = New AttributeProperty

Dell_Server_OperatingSystemVersion.setProtocol("wsman")
Dell_Server_OperatingSystemVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_OperatingSystemVersion.setProtocolAttributeName("OSVersion")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_OperatingSystemVersion)
Dell_Server_Obj.setAttributeDictionary("OperatingSystemVersion")

Dim Dell_Server_OMSAVersion
Set Dell_Server_OMSAVersion = New AttributeProperty

Dell_Server_OMSAVersion.setProtocol("wsman")
Dell_Server_OMSAVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_OMSAVersion)
Dell_Server_Obj.setAttributeDictionary("OMSAVersion")

Dim Dell_Server_AddOMSAURL1
Set Dell_Server_AddOMSAURL1 = New AttributeProperty

Dell_Server_AddOMSAURL1.setProtocol("wsman")
Dell_Server_AddOMSAURL1.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_AddOMSAURL1)
Dell_Server_Obj.setAttributeDictionary("AddOMSAURL1")

Dim Dell_Server_AddOMSAURL2
Set Dell_Server_AddOMSAURL2 = New AttributeProperty

Dell_Server_AddOMSAURL2.setProtocol("wsman")
Dell_Server_AddOMSAURL2.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_AddOMSAURL2)
Dell_Server_Obj.setAttributeDictionary("AddOMSAURL2")

Dim Dell_Server_AddOMSAURL3
Set Dell_Server_AddOMSAURL3 = New AttributeProperty

Dell_Server_AddOMSAURL3.setProtocol("wsman")
Dell_Server_AddOMSAURL3.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_AddOMSAURL3)
Dell_Server_Obj.setAttributeDictionary("AddOMSAURL3")

Dim Dell_Server_AddOMSAURL4
Set Dell_Server_AddOMSAURL4 = New AttributeProperty

Dell_Server_AddOMSAURL4.setProtocol("wsman")
Dell_Server_AddOMSAURL4.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_AddOMSAURL4)
Dell_Server_Obj.setAttributeDictionary("AddOMSAURL4")

Dim Dell_Server_HostedMgmtServer
Set Dell_Server_HostedMgmtServer = New AttributeProperty

Dell_Server_HostedMgmtServer.setProtocol("wsman")
Dell_Server_HostedMgmtServer.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_HostedMgmtServer)
Dell_Server_Obj.setAttributeDictionary("HostedMgmtServer")

Dim Dell_Server_RemoteSettings
Set Dell_Server_RemoteSettings = New AttributeProperty

Dell_Server_RemoteSettings.setProtocol("wsman")
Dell_Server_RemoteSettings.setClassName("cimv2/DCIM_SystemView")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_RemoteSettings)
Dell_Server_Obj.setAttributeDictionary("RemoteSettings")

Dim Dell_Server_AvgCUPSUtilPerDay_Obj
Set Dell_Server_AvgCUPSUtilPerDay_Obj = New ProfileInformation
Dell_Server_AvgCUPSUtilPerDay_Obj.setProfileName("Dell.Server.AvgCUPSUtilizationPerDay")

Dim Dell_Server_Dell_Server_AvgCUPSUtilPerDay_ID
Set Dell_Server_Dell_Server_AvgCUPSUtilPerDay_ID = New AttributeProperty
Dell_Server_Dell_Server_AvgCUPSUtilPerDay_ID.setProtocol("wsman")
Dell_Server_Dell_Server_AvgCUPSUtilPerDay_ID.setClassName("cimv2/DCIM_AggregationMetricValue")
Dell_Server_Dell_Server_AvgCUPSUtilPerDay_ID.setProtocolAttributeName("InstanceID")
Dell_Server_AvgCUPSUtilPerDay_Obj.setAttributePropertyObject(Dell_Server_Dell_Server_AvgCUPSUtilPerDay_ID)
Dell_Server_AvgCUPSUtilPerDay_Obj.setAttributeDictionary("ID")

Dell_Server_AvgCUPSUtilPerDay_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.AvgCUPSUtilizationPerDay",Dell_Server_AvgCUPSUtilPerDay_Obj

'Adding inventory system lock down to dictionary Dell.Server
Dim Dell_Server_SystemLockdown
Set Dell_Server_SystemLockdown = New AttributeProperty

Dell_Server_SystemLockdown.setProtocol("wsman")
Dell_Server_SystemLockdown.setClassName("cimv2/DCIM_IDRACCardEnumeration")
Dell_Server_Obj.setAttributePropertyObject(Dell_Server_SystemLockdown)
Dell_Server_Obj.setAttributeDictionary("SystemLockdown")

Dell_Server_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server",Dell_Server_Obj

'Add IdracEnumeration for getting System LockDown Configuration Mode and Group Status
Dim Dell_Server_IdracEnumeration_Obj
Set Dell_Server_IdracEnumeration_Obj = New ProfileInformation
Dell_Server_IdracEnumeration_Obj.setProfileName("Dell.Server.IdracEnumeration")

Dim Dell_Server_IdracEnumeration_AttributeName
Set Dell_Server_IdracEnumeration_AttributeName = New AttributeProperty


Dell_Server_IdracEnumeration_AttributeName.setProtocol("wsman")
Dell_Server_IdracEnumeration_AttributeName.setClassName("cimv2/DCIM_IDRACCardEnumeration")
Dell_Server_IdracEnumeration_AttributeName.setProtocolAttributeName("AttributeName")
Dell_Server_IdracEnumeration_Obj.setAttributePropertyObject(Dell_Server_IdracEnumeration_AttributeName)
Dell_Server_IdracEnumeration_Obj.setAttributeDictionary("IdracEnumeration_AttributeName")

Dim Dell_Server_IdracEnumeration_AttributeValue
Set Dell_Server_IdracEnumeration_AttributeValue = New AttributeProperty

Dell_Server_IdracEnumeration_AttributeValue.setProtocol("wsman")
Dell_Server_IdracEnumeration_AttributeValue.setClassName("cimv2/DCIM_IDRACCardEnumeration")
Dell_Server_IdracEnumeration_AttributeValue.setProtocolAttributeName("CurrentValue")
Dell_Server_IdracEnumeration_Obj.setAttributePropertyObject(Dell_Server_IdracEnumeration_AttributeValue)
Dell_Server_IdracEnumeration_Obj.setAttributeDictionary("IdracEnumeration_CurrentValue")

Dim Dell_IdracEnumeration_InstanceID
Set Dell_IdracEnumeration_InstanceID = New AttributeProperty

Dell_IdracEnumeration_InstanceID.setProtocol("wsman")
Dell_IdracEnumeration_InstanceID.setClassName("cimv2/DCIM_IDRACCardEnumeration")
Dell_IdracEnumeration_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_IdracEnumeration_Obj.setAttributePropertyObject(Dell_IdracEnumeration_InstanceID)
Dell_Server_IdracEnumeration_Obj.setAttributeDictionary("IdracEnumeration_InstanceID")

Dell_Server_IdracEnumeration_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.IdracEnumeration",Dell_Server_IdracEnumeration_Obj

Dim Dell_Server_OSDetails_Obj
Set Dell_Server_OSDetails_Obj = New ProfileInformation
Dell_Server_OSDetails_Obj.setProfileName("Dell.Server.OSDetails")

Dim Dell_Server_OSDetails_OperatingSystem
Set Dell_Server_OSDetails_OperatingSystem= New AttributeProperty

Dell_Server_OSDetails_OperatingSystem.setProtocol("wsman")
Dell_Server_OSDetails_OperatingSystem.setClassName("cimv2/DCIM_SystemString")
Dell_Server_OSDetails_OperatingSystem.setProtocolAttributeName("AttributeName")
Dell_Server_OSDetails_Obj.setAttributePropertyObject(Dell_Server_OSDetails_OperatingSystem)
Dell_Server_OSDetails_Obj.setAttributeDictionary("OperatingSystem_property")

Dim Dell_Server_OSDetails_OperatingSystemVersion
Set Dell_Server_OSDetails_OperatingSystemVersion= New AttributeProperty

Dell_Server_OSDetails_OperatingSystemVersion.setProtocol("wsman")
Dell_Server_OSDetails_OperatingSystemVersion.setClassName("cimv2/DCIM_SystemString")
Dell_Server_OSDetails_OperatingSystemVersion.setProtocolAttributeName("AttributeName")
Dell_Server_OSDetails_Obj.setAttributePropertyObject(Dell_Server_OSDetails_OperatingSystemVersion)
Dell_Server_OSDetails_Obj.setAttributeDictionary("OperatingSystemVersion_property")

Dim Dell_Server_OSDetails_OperatingSystem_val
Set Dell_Server_OSDetails_OperatingSystem_val = New AttributeProperty

Dell_Server_OSDetails_OperatingSystem_val.setProtocol("wsman")
Dell_Server_OSDetails_OperatingSystem_val.setClassName("cimv2/DCIM_SystemString")
Dell_Server_OSDetails_OperatingSystem_val.setProtocolAttributeName("CurrentValue")
Dell_Server_OSDetails_Obj.setAttributePropertyObject(Dell_Server_OSDetails_OperatingSystem_val)
Dell_Server_OSDetails_Obj.setAttributeDictionary("OperatingSystem_currentValue")

Dim Dell_Server_OSDetails_OperatingSystemVersion_val
Set Dell_Server_OSDetails_OperatingSystemVersion_val = New AttributeProperty

Dell_Server_OSDetails_OperatingSystemVersion_val.setProtocol("wsman")
Dell_Server_OSDetails_OperatingSystemVersion_val.setClassName("cimv2/DCIM_SystemString")
Dell_Server_OSDetails_OperatingSystemVersion_val.setProtocolAttributeName("CurrentValue")
Dell_Server_OSDetails_Obj.setAttributePropertyObject(Dell_Server_OSDetails_OperatingSystemVersion_val)
Dell_Server_OSDetails_Obj.setAttributeDictionary("OperatingSystemVersion_currentValue")

Dell_Server_OSDetails_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.OSDetails",Dell_Server_OSDetails_Obj

Dim Dell_Server_ProcUnit_Obj
Set Dell_Server_ProcUnit_Obj = New ProfileInformation
Dell_Server_ProcUnit_Obj.setProfileName("Dell.Server.ProcUnit")
Dim Dell_Server_ProcUnit_DeviceID
Set Dell_Server_ProcUnit_DeviceID = New AttributeProperty

Dell_Server_ProcUnit_DeviceID.setProtocol("wsman")
Dell_Server_ProcUnit_DeviceID.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_DeviceID.setProtocolAttributeName("FQDD")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_DeviceID)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_ProcUnit_Family
Set Dell_Server_ProcUnit_Family = New AttributeProperty

Dell_Server_ProcUnit_Family.setProtocol("wsman")
Dell_Server_ProcUnit_Family.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Family.setProtocolAttributeName("CPUFamily")
Dell_Server_ProcUnit_Family.setAttributeValueMappingObject()

Dell_Server_ProcUnit_Family.setAttributeValueMapping "1","Other"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "2","Unknown"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "3","8086"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "4","80286"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "5","80386"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "6","80486"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "7","8087"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8","80287"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "9","80387"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A","80487"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B","Pentium(R)brand"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C","Pentium(R)Pro"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D","pentium(R) II"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "E","Pentium(R) Processor with MMX(TM) technology"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "F","Celeron(TM)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "10","Pentium(R) II Xeon(TM)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "11","Pentium(R) III"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "12","M1 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "13","M2 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "14","Intel(R) Celeron(R) M processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "15","Intel(R) Pentium(R) 4 HT processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "18","K5 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "19","K6 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1A","K6-2"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1B","K6-3"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1C","AMD Athlon(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1D","AMD(R) Duron(TM) Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1E","AMD29000 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1F","K6-2+"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "20","Power PC Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "21","Power PC 601"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "22","Power PC 603"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "23","Power PC 603+"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "24","Power PC 604"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "25","Power PC 620"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "26","Power PC X704"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "27","Power PC 750"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "28","Intel(R) Core(TM) Duo processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "29","Intel(R) Core(TM) Duo mobile processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "2A","Intel(R) Core(TM) Solo mobile processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "2B","Intel(R) Atom(TM) processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "30","Alpha Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "31","Alpha 21064"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "32","Alpha 21066"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "33","Alpha 21164"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "34","Alpha 21164PC"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "35","Alpha 21164a"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "36","Alpha 21264"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "37","Alpha 21364"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "38","AMD Turion(TM) II Ultra Dual-Core Mobile M Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "39","AMD Turion(TM) II Dual-Core Mobile M Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "3A","AMD Athlon(TM) II Dual-Core Mobile M Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "3B","AMD Opteron(TM) 6100 Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "3C","AMD Opteron(TM) 4100 Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "3D","AMD Opteron(TM) 6200 Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "3E","AMD Opteron(TM) 4200 Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "40","MIPS Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "41","MIPS R4000"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "42","MIPS R4200"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "43","MIPS R4400"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "44","MIPS R4600"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "45","MIPS R10000"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "46","AMD C-Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "47","AMD E-Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "48","AMD S-Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "49","AMD G-Series Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "50","SPARC Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "51","SuperSPARC"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "52","microSPARC II"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "53","microSPARC IIep"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "54","UltraSPARC"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "55","UltraSPARC II"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "56","UltraSPARC IIi"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "57","UltraSPARC III"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "58","UltraSPARC IIIi"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "60","68040"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "61","68xxx Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "62","68000"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "63","68010"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "64","68020"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "65","68030"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "70","Hobbit Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "78","Crusoe(TM) TM5000 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "79","Crusoe(TM) TM3000 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "7A","Efficeon(TM) TM8000 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "80","Weitek"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "82","Itanium(TM) Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "83","AMD Athlon(TM) 64 Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "84","AMD Opteron(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "85","AMD Sempron(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "86","AMD Turion(TM) 64 Mobile Technology"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "87","Dual-Core AMD Opteron(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "88","AMD Athlon(TM) 64 X2 Dual-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "89","AMD Turion(TM) 64 X2 Mobile Technology"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8A","Quad-Core AMD Opteron(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8B","Third Generation AMD Opteron(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8C","AMD Phenom(TM) FX Quad-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8D","AMD Phenom(TM) X4 Quad-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8E","AMD Phenom(TM) X2 Dual-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "8F","AMD Athlon(TM) X2 Dual-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "90","PA-RISC Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "91","PA-RISC 8500"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "92","PA-RISC 8000"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "93","PA-RISC 7300LC"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "94","PA-RISC 7200"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "95","PA-RISC 7100LC"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "96","PA-RISC 7100"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A0","V30 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A1","Quad-Core Intel(R) Xeon(R) processor 3200 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A2","Dual-Core Intel(R) Xeon(R) processor 3000 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A3","Quad-Core Intel(R) Xeon(R) processor 5300 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A4","Dual-Core Intel(R) Xeon(R) processor 5100 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A5","Dual-Core Intel(R) Xeon(R) processor 5000 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A6","Dual-Core Intel(R) Xeon(R) processor LV"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A7","Dual-Core Intel(R) Xeon(R) processor ULV"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A8","Dual-Core Intel(R) Xeon(R) processor 7100 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "A9","Quad-Core Intel(R) Xeon(R) processor 5400 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "AA","Quad-Core Intel(R) Xeon(R) processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "AB","Dual-Core Intel(R) Xeon(R) processor 5200 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "AC","Dual-Core Intel(R) Xeon(R) processor 7200 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "AD","Quad-Core Intel(R) Xeon(R) processor 7300 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "AE","Quad-Core Intel(R) Xeon(R) processor 7400 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "AF","Multi-Core Intel(R) Xeon(R) processor 7400 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B0","Pentium(R) III Xeon(TM)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B1","Pentium(R) III Processor with Intel(R) SpeedStep(TM) Technology"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B2","Pentium(R) 4"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B3","Intel(R) Xeon(TM)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B4","AS400 Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B5","Intel(R) Xeon(TM) Processor MP"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B6","AMD Athlon(TM) XP Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B7","AMD Athlon(TM) MP Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B8","Intel(R) Itanium(R) 2"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "B9","Intel(R) Pentium(R) M Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "BA","Intel(R) Celeron(R) D Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "BB","Intel(R) Pentium(R) D Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "BC","Intel(R) Pentium(R) Processor Extreme Edition"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "BD","Intel(R) Core(TM) Solo Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "BE","K7"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "BF","Intel(R) Core(TM) 2 Duo Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C0","Intel(R) Core(TM) 2 Solo Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C1","Intel(R) Core(TM) 2 Extreme Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C2","Intel(R) Core(TM) 2 Quad Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C3","Intel(R) Core(TM) 2 Extreme mobile Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C4","Intel(R) Core(TM) 2 Duo mobile Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C5","Intel(R) Core(TM) 2 solo mobile Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C6","Intel(R) Core(TM) i7 processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C7","Dual-Core Intel(R) Celeron(R) Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C8","S/390 and zSeries Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "C9","ESA/390 G4"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "CA","ESA/390 G5"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "CB","ESA/390 G6"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "CC","z/Architecture base"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "CD","Intel(R) Core(TM) i5 processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "CE","Intel(R) Core(TM) i3 processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D2","VIA C7(TM)-M Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D3","VIA C7(TM)-D Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D4","VIA C7(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D5","VIA Eden(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D6","Multi-Core Intel(R) Xeon(R) processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D7","Dual-Core Intel(R) Xeon(R) processor 3xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D8","Quad-Core Intel(R) Xeon(R) processor 3xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "D9","VIA Nano(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "DA","Dual-Core Intel(R) Xeon(R) processor 5xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "DB","Quad-Core Intel(R) Xeon(R) processor 5xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "DD","Dual-Core Intel(R) Xeon(R) processor 7xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "DE","Quad-Core Intel(R) Xeon(R) processor 7xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "DF","Multi-Core Intel(R) Xeon(R) processor 7xxx Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "E0","Multi-Core Intel(R) Xeon(R) processor 3400 Series"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "E6","Embedded AMD Opteron(TM) Quad-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "E7","AMD Phenom(TM) Triple-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "E8","AMD Turion(TM) Ultra Dual-Core Mobile Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "E9","AMD Turion(TM) Dual-Core Mobile Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "EA","AMD Athlon(TM) Dual-Core Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "EB","AMD Sempron(TM) SI Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "EC","AMD Phenom(TM) II Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "ED","AMD Athlon(TM) II Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "EE","Six-Core AMD Opteron(TM) Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "EF","AMD Sempron(TM) M Processor Family"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "FA","i860"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "FB","i960"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "FE","Reserved (SMBIOS Extension)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "FF","Reserved (Un-initialized Flash Content - Lo)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "104","SH-3"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "105","SH-4"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "118","ARM"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "119","StrongARM"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "12C","6x86"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "12D","MediaGX"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "12E","MII"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "140","WinChip"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "15E","DSP"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "1F4","Video Processor"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "FFFE","Reserved (For Future Special Purpose Assignment)"
Dell_Server_ProcUnit_Family.setAttributeValueMapping "FFFF","Reserved (Un-initialized Flash Content - Hi)"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_Family)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("Family")

Dim Dell_Server_ProcUnit_MaxClockSpeed
Set Dell_Server_ProcUnit_MaxClockSpeed = New AttributeProperty

Dell_Server_ProcUnit_MaxClockSpeed.setProtocol("wsman")
Dell_Server_ProcUnit_MaxClockSpeed.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_MaxClockSpeed)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("MaxClockSpeed")

Dim Dell_Server_ProcUnit_Model
Set Dell_Server_ProcUnit_Model = New AttributeProperty

Dell_Server_ProcUnit_Model.setProtocol("wsman")
Dell_Server_ProcUnit_Model.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_Model)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("Model")

Dim Dell_Server_ProcUnit_Manufacturer
Set Dell_Server_ProcUnit_Manufacturer = New AttributeProperty

Dell_Server_ProcUnit_Manufacturer.setProtocol("wsman")
Dell_Server_ProcUnit_Manufacturer.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_Manufacturer)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("Manufacturer")

Dim Dell_Server_ProcUnit_NumberOfProcessorCores
Set Dell_Server_ProcUnit_NumberOfProcessorCores = New AttributeProperty

Dell_Server_ProcUnit_NumberOfProcessorCores.setProtocol("wsman")
Dell_Server_ProcUnit_NumberOfProcessorCores.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_NumberOfProcessorCores)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("NumberOfProcessorCores")


Dim Dell_Server_ProcUnit_Characteristics
Set Dell_Server_ProcUnit_Characteristics = New AttributeProperty

Dell_Server_ProcUnit_Characteristics.setProtocol("wsman")
Dell_Server_ProcUnit_Characteristics.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Characteristics.setProtocolAttributeName("Characteristics")
Dell_Server_ProcUnit_Characteristics.setAttributeValueMappingObject()
Dell_Server_ProcUnit_Characteristics.setAttributeValueMapping "4","64-bit capable"
Dell_Server_ProcUnit_Characteristics.setAttributeValueMapping "2","Unknown"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_Characteristics)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("Characteristics")


Dim Dell_Server_ProcUnit_HyperThreadingEnabled
Set Dell_Server_ProcUnit_HyperThreadingEnabled = New AttributeProperty

Dell_Server_ProcUnit_HyperThreadingEnabled.setProtocol("wsman")
Dell_Server_ProcUnit_HyperThreadingEnabled.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_HyperThreadingEnabled.setAttributeValueMappingObject()
Dell_Server_ProcUnit_HyperThreadingEnabled.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_HyperThreadingEnabled.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_HyperThreadingEnabled)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("HyperThreadingEnabled")


Dim Dell_Server_ProcUnit_HyperThreadingCapable
Set Dell_Server_ProcUnit_HyperThreadingCapable = New AttributeProperty

Dell_Server_ProcUnit_HyperThreadingCapable.setProtocol("wsman")
Dell_Server_ProcUnit_HyperThreadingCapable.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_HyperThreadingCapable.setAttributeValueMappingObject()
Dell_Server_ProcUnit_HyperThreadingCapable.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_HyperThreadingCapable.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_HyperThreadingCapable)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("HyperThreadingCapable")


Dim Dell_Server_ProcUnit_VirtualizationTechnologyEnabled
Set Dell_Server_ProcUnit_VirtualizationTechnologyEnabled = New AttributeProperty

Dell_Server_ProcUnit_VirtualizationTechnologyEnabled.setProtocol("wsman")
Dell_Server_ProcUnit_VirtualizationTechnologyEnabled.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_VirtualizationTechnologyEnabled.setAttributeValueMappingObject()
Dell_Server_ProcUnit_VirtualizationTechnologyEnabled.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_VirtualizationTechnologyEnabled.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_VirtualizationTechnologyEnabled)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("VirtualizationTechnologyEnabled")


Dim Dell_Server_ProcUnit_VirtualizationTechnologyCapable
Set Dell_Server_ProcUnit_VirtualizationTechnologyCapable = New AttributeProperty

Dell_Server_ProcUnit_VirtualizationTechnologyCapable.setProtocol("wsman")
Dell_Server_ProcUnit_VirtualizationTechnologyCapable.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_VirtualizationTechnologyCapable.setAttributeValueMappingObject()
Dell_Server_ProcUnit_VirtualizationTechnologyCapable.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_VirtualizationTechnologyCapable.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_VirtualizationTechnologyCapable)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("VirtualizationTechnologyCapable")

Dim Dell_Server_ProcUnit_XDEnabled
Set Dell_Server_ProcUnit_XDEnabled = New AttributeProperty

Dell_Server_ProcUnit_XDEnabled.setProtocol("wsman")
Dell_Server_ProcUnit_XDEnabled.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_XDEnabled.setAttributeValueMappingObject()
Dell_Server_ProcUnit_XDEnabled.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_XDEnabled.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_XDEnabled)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("ExecuteDisabledEnabled")


Dim Dell_Server_ProcUnit_XDCapable
Set Dell_Server_ProcUnit_XDCapable = New AttributeProperty

Dell_Server_ProcUnit_XDCapable.setProtocol("wsman")
Dell_Server_ProcUnit_XDCapable.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_XDCapable.setAttributeValueMappingObject()
Dell_Server_ProcUnit_XDCapable.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_XDCapable.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_XDCapable)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("ExecuteDisabledCapable")


Dim Dell_Server_ProcUnit_TurboModeEnabled
Set Dell_Server_ProcUnit_TurboModeEnabled = New AttributeProperty

Dell_Server_ProcUnit_TurboModeEnabled.setProtocol("wsman")
Dell_Server_ProcUnit_TurboModeEnabled.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_TurboModeEnabled.setAttributeValueMappingObject()
Dell_Server_ProcUnit_TurboModeEnabled.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_TurboModeEnabled.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_TurboModeEnabled)
Dell_Server_ProcUnit_Obj.setAttributeDictionary("TurboModeEnabled")

Dim Dell_Server_ProcUnit_TurboModeCapable
Set Dell_Server_ProcUnit_TurboModeCapable = New AttributeProperty

Dell_Server_ProcUnit_TurboModeCapable.setProtocol("wsman")
Dell_Server_ProcUnit_TurboModeCapable.setClassName("cimv2/DCIM_CPUView")
Dell_Server_ProcUnit_Obj.setAttributePropertyObject(Dell_Server_ProcUnit_TurboModeCapable)
Dell_Server_ProcUnit_TurboModeCapable.setAttributeValueMappingObject()
Dell_Server_ProcUnit_TurboModeCapable.setAttributeValueMapping "0","No"
Dell_Server_ProcUnit_TurboModeCapable.setAttributeValueMapping "1","Yes"
Dell_Server_ProcUnit_Obj.setAttributeDictionary("TurboModeCapable")


Dell_Server_ProcUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.ProcUnit",Dell_Server_ProcUnit_Obj

Dim Dell_Server_MemoryUnit_Obj
Set Dell_Server_MemoryUnit_Obj = New ProfileInformation
Dell_Server_MemoryUnit_Obj.setProfileName("Dell.Server.MemoryUnit")
Dim Dell_Server_MemoryUnit_ID
Set Dell_Server_MemoryUnit_ID = New AttributeProperty

Dell_Server_MemoryUnit_ID.setProtocol("wsman")
Dell_Server_MemoryUnit_ID.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_ID)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("ID")

Dim Dell_Server_MemoryUnit_MemoryType
Set Dell_Server_MemoryUnit_MemoryType = New AttributeProperty

Dell_Server_MemoryUnit_MemoryType.setProtocol("wsman")
Dell_Server_MemoryUnit_MemoryType.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMappingObject()

Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "1", "Other"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "2", "Unknown"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "3", "DRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "4", "EDRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "5", "VRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "6", "SRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "7", "RAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "8", "ROM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "9", "Flash"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "10", "EEPROM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "11", "FEPROM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "12", "EPROM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "13", "CDRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "14", "3DRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "15", "SDRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "16", "SGRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "17", "RDRAM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "18", "DDR"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "19", "DDR-2"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "20", "DDR-2-FB-DIMM"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "24", "DDR-3"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "25", "FBD2"
Dell_Server_MemoryUnit_MemoryType.setAttributeValueMapping "26", "DDR4"

Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_MemoryType)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("MemoryType")

Dim Dell_Server_MemoryUnit_Capacity
Set Dell_Server_MemoryUnit_Capacity = New AttributeProperty

Dell_Server_MemoryUnit_Capacity.setProtocol("wsman")
Dell_Server_MemoryUnit_Capacity.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Capacity.setProtocolAttributeName("Size")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_Capacity)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("Capacity")

Dim Dell_Server_MemoryUnit_Speed
Set Dell_Server_MemoryUnit_Speed = New AttributeProperty

Dell_Server_MemoryUnit_Speed.setProtocol("wsman")
Dell_Server_MemoryUnit_Speed.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_Speed)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("Speed")

Dim Dell_Server_MemoryUnit_Model
Set Dell_Server_MemoryUnit_Model = New AttributeProperty

Dell_Server_MemoryUnit_Model.setProtocol("wsman")
Dell_Server_MemoryUnit_Model.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_Model)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("Model")

Dim Dell_Server_MemoryUnit_Manufacturer
Set Dell_Server_MemoryUnit_Manufacturer = New AttributeProperty

Dell_Server_MemoryUnit_Manufacturer.setProtocol("wsman")
Dell_Server_MemoryUnit_Manufacturer.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_Manufacturer)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("Manufacturer")

Dim Dell_Server_MemoryUnit_SerialNumber
Set Dell_Server_MemoryUnit_SerialNumber = New AttributeProperty

Dell_Server_MemoryUnit_SerialNumber.setProtocol("wsman")
Dell_Server_MemoryUnit_SerialNumber.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_SerialNumber)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("SerialNumber")

Dim Dell_Server_MemoryUnit_PartNumber
Set Dell_Server_MemoryUnit_PartNumber = New AttributeProperty

Dell_Server_MemoryUnit_PartNumber.setProtocol("wsman")
Dell_Server_MemoryUnit_PartNumber.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_PartNumber)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("PartNumber")


Dim Dell_Server_MemoryUnit_BankLabel
Set Dell_Server_MemoryUnit_BankLabel = New AttributeProperty

Dell_Server_MemoryUnit_BankLabel.setProtocol("wsman")
Dell_Server_MemoryUnit_BankLabel.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_BankLabel)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("BankLabel")


Dim Dell_Server_MemoryUnit_ManufactureDate
Set Dell_Server_MemoryUnit_ManufactureDate = New AttributeProperty

Dell_Server_MemoryUnit_ManufactureDate.setProtocol("wsman")
Dell_Server_MemoryUnit_ManufactureDate.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_ManufactureDate)
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("ManufactureDate")


Dim Dell_Server_MemoryUnit_Rank
Set Dell_Server_MemoryUnit_Rank = New AttributeProperty

Dell_Server_MemoryUnit_Rank.setProtocol("wsman")
Dell_Server_MemoryUnit_Rank.setClassName("cimv2/DCIM_MemoryView")
Dell_Server_MemoryUnit_Obj.setAttributePropertyObject(Dell_Server_MemoryUnit_Rank)
Dell_Server_MemoryUnit_Rank.setAttributeValueMappingObject()
Dell_Server_MemoryUnit_Rank.setAttributeValueMapping "0","Unknown"
Dell_Server_MemoryUnit_Rank.setAttributeValueMapping "1","Single Rank"
Dell_Server_MemoryUnit_Rank.setAttributeValueMapping "2","Double Rank"
Dell_Server_MemoryUnit_Rank.setAttributeValueMapping "4","Quad Rank"
Dell_Server_MemoryUnit_Obj.setAttributeDictionary("Rank")

Dell_Server_MemoryUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.MemoryUnit",Dell_Server_MemoryUnit_Obj

'Adding License to profileInfoDict
Dim Dell_Server_License_Obj
Set Dell_Server_License_Obj = New ProfileInformation
Dell_Server_License_Obj.setProfileName("Dell.Server.License")

Dim Dell_Server_License_InstanceID
Set Dell_Server_License_InstanceID = New AttributeProperty
Dell_Server_License_InstanceID.setProtocol("wsman")
Dell_Server_License_InstanceID.setClassName("cimv2/DCIM_License")
Dell_Server_License_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_InstanceID)
Dell_Server_License_Obj.setAttributeDictionary("ID")

Dim Dell_Server_License_LicenseDescription
Set Dell_Server_License_LicenseDescription = New AttributeProperty
Dell_Server_License_LicenseDescription.setProtocol("wsman")
Dell_Server_License_LicenseDescription.setClassName("cimv2/DCIM_License")
Dell_Server_License_LicenseDescription.setProtocolAttributeName("LicenseDescription")
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_LicenseDescription)
Dell_Server_License_Obj.setAttributeDictionary("DisplayName")


Dim Dell_Server_License_LicenseType
Set Dell_Server_License_LicenseType = New AttributeProperty
Dell_Server_License_LicenseType.setProtocol("wsman")
Dell_Server_License_LicenseType.setClassName("cimv2/DCIM_License")
Dell_Server_License_LicenseType.setAttributeValueMappingObject()
Dell_Server_License_LicenseType.setAttributeValueMapping "1","Perpetual"
Dell_Server_License_LicenseType.setAttributeValueMapping "2","Leased"
Dell_Server_License_LicenseType.setAttributeValueMapping "3","Evaluation"
Dell_Server_License_LicenseType.setAttributeValueMapping "4","Site"
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_LicenseType)
Dell_Server_License_Obj.setAttributeDictionary("LicenseType")


Dim Dell_Server_License_LicenseInstallDate
Set Dell_Server_License_LicenseInstallDate = New AttributeProperty
Dell_Server_License_LicenseInstallDate.setProtocol("wsman")
Dell_Server_License_LicenseInstallDate.setClassName("cimv2/DCIM_License")
Dell_Server_License_LicenseInstallDate.setProtocolAttributeName("LicenseInstallDate")
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_LicenseInstallDate)
Dell_Server_License_Obj.setAttributeDictionary("LicenseInstallDate")


Dim Dell_Server_License_LicenseSoldDate
Set Dell_Server_License_LicenseSoldDate = New AttributeProperty
Dell_Server_License_LicenseSoldDate.setProtocol("wsman")
Dell_Server_License_LicenseSoldDate.setClassName("cimv2/DCIM_License")
Dell_Server_License_LicenseSoldDate.setProtocolAttributeName("LicenseSoldDate")
Dell_Server_License_Obj.setAttributePropertyObject(Dell_Server_License_LicenseSoldDate)
Dell_Server_License_Obj.setAttributeDictionary("LicenseSoldDate")


Dell_Server_License_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.License",Dell_Server_License_Obj

'Adding SDCard to profileInfoDict
Dim Dell_Server_SDCard_Obj
Set Dell_Server_SDCard_Obj = New ProfileInformation
Dell_Server_SDCard_Obj.setProfileName("Dell.Server.SDCard")

Dim Dell_Server_SDCard_FQDD
Set Dell_Server_SDCard_FQDD = New AttributeProperty
Dell_Server_SDCard_FQDD.setProtocol("wsman")
Dell_Server_SDCard_FQDD.setClassName("cimv2/DCIM_VFlashView")
Dell_Server_SDCard_FQDD.setProtocolAttributeName("FQDD")
Dell_Server_SDCard_Obj.setAttributePropertyObject(Dell_Server_SDCard_FQDD)
Dell_Server_SDCard_Obj.setAttributeDictionary("ID")

Dim Dell_Server_SDCard_DeviceDescription
Set Dell_Server_SDCard_DeviceDescription = New AttributeProperty
Dell_Server_SDCard_DeviceDescription.setProtocol("wsman")
Dell_Server_SDCard_DeviceDescription.setClassName("cimv2/DCIM_VFlashView")
Dell_Server_SDCard_DeviceDescription.setProtocolAttributeName("DeviceDescription")
Dell_Server_SDCard_Obj.setAttributePropertyObject(Dell_Server_SDCard_DeviceDescription)
Dell_Server_SDCard_Obj.setAttributeDictionary("DisplayName")

Dim Dell_Server_SDCard_size
Set Dell_Server_SDCard_size = New AttributeProperty
Dell_Server_SDCard_size.setProtocol("wsman")
Dell_Server_SDCard_size.setClassName("cimv2/DCIM_VFlashView")
Dell_Server_SDCard_size.setProtocolAttributeName("Capacity")
Dell_Server_SDCard_Obj.setAttributePropertyObject(Dell_Server_SDCard_size)
Dell_Server_SDCard_Obj.setAttributeDictionary("Size")

Dim Dell_Server_SDCard_WriteProtected
Set Dell_Server_SDCard_WriteProtected = New AttributeProperty
Dell_Server_SDCard_WriteProtected.setProtocol("wsman")
Dell_Server_SDCard_WriteProtected.setClassName("cimv2/DCIM_VFlashView")
Dell_Server_SDCard_WriteProtected.setProtocolAttributeName("WriteProtected")
Dell_Server_SDCard_Obj.setAttributePropertyObject(Dell_Server_SDCard_WriteProtected)
Dell_Server_SDCard_Obj.setAttributeDictionary("WriteProtected")

Dell_Server_SDCard_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.SDCard",Dell_Server_SDCard_Obj



Dim Dell_Server_PSUnit_Obj
Set Dell_Server_PSUnit_Obj = New ProfileInformation
Dell_Server_PSUnit_Obj.setProfileName("Dell.Server.PSUnit")

Dim Dell_Server_PSUnit_ID
Set Dell_Server_PSUnit_ID = New AttributeProperty
Dell_Server_PSUnit_ID.setProtocol("wsman")
Dell_Server_PSUnit_ID.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_ID)
Dell_Server_PSUnit_Obj.setAttributeDictionary("ID")

Dim Dell_Server_PSUnit_DetailedState
Set Dell_Server_PSUnit_DetailedState = New AttributeProperty
Dell_Server_PSUnit_DetailedState.setProtocol("wsman")
Dell_Server_PSUnit_DetailedState.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_DetailedState)
Dell_Server_PSUnit_Obj.setAttributeDictionary("DetailedState")

Dim Dell_Server_PSUnit_TotalOutputPower
Set Dell_Server_PSUnit_TotalOutputPower = New AttributeProperty
Dell_Server_PSUnit_TotalOutputPower.setProtocol("wsman")
Dell_Server_PSUnit_TotalOutputPower.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_TotalOutputPower)
Dell_Server_PSUnit_Obj.setAttributeDictionary("TotalOutputPower")

Dim Dell_Server_PSUnit_IsSwitchingSupply
Set Dell_Server_PSUnit_IsSwitchingSupply = New AttributeProperty

Dell_Server_PSUnit_IsSwitchingSupply.setProtocol("wsman")
Dell_Server_PSUnit_IsSwitchingSupply.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_IsSwitchingSupply)
Dell_Server_PSUnit_Obj.setAttributeDictionary("IsSwitchingSupply")

Dim Dell_Server_PSUnit_Type
Set Dell_Server_PSUnit_Type = New AttributeProperty

Dell_Server_PSUnit_Type.setProtocol("wsman")
Dell_Server_PSUnit_Type.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Type.setAttributeValueMappingObject()

Dell_Server_PSUnit_Type.setAttributeValueMapping "0", "AC"
Dell_Server_PSUnit_Type.setAttributeValueMapping "1", "DC"

Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_Type)
Dell_Server_PSUnit_Obj.setAttributeDictionary("Type")

Dim Dell_Server_PSUnit_Model
Set Dell_Server_PSUnit_Model = New AttributeProperty

Dell_Server_PSUnit_Model.setProtocol("wsman")
Dell_Server_PSUnit_Model.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_Model)
Dell_Server_PSUnit_Obj.setAttributeDictionary("Model")

Dim Dell_Server_PSUnit_Manufacturer
Set Dell_Server_PSUnit_Manufacturer = New AttributeProperty

Dell_Server_PSUnit_Manufacturer.setProtocol("wsman")
Dell_Server_PSUnit_Manufacturer.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_Manufacturer)
Dell_Server_PSUnit_Obj.setAttributeDictionary("Manufacturer")

Dim Dell_Server_PSUnit_SerialNumber
Set Dell_Server_PSUnit_SerialNumber = New AttributeProperty

Dell_Server_PSUnit_SerialNumber.setProtocol("wsman")
Dell_Server_PSUnit_SerialNumber.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_SerialNumber)
Dell_Server_PSUnit_Obj.setAttributeDictionary("SerialNumber")

Dim Dell_Server_PSUnit_PartNumber
Set Dell_Server_PSUnit_PartNumber = New AttributeProperty

Dell_Server_PSUnit_PartNumber.setProtocol("wsman")
Dell_Server_PSUnit_PartNumber.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_PartNumber)
Dell_Server_PSUnit_Obj.setAttributeDictionary("PartNumber")

Dim Dell_Server_PSUnit_FirmwareVersion
Set Dell_Server_PSUnit_FirmwareVersion= New AttributeProperty

Dell_Server_PSUnit_FirmwareVersion.setProtocol("wsman")
Dell_Server_PSUnit_FirmwareVersion.setClassName("cimv2/DCIM_PowerSupplyView")
Dell_Server_PSUnit_Obj.setAttributePropertyObject(Dell_Server_PSUnit_FirmwareVersion)
Dell_Server_PSUnit_Obj.setAttributeDictionary("FirmwareVersion")



Dell_Server_PSUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.PSUnit",Dell_Server_PSUnit_Obj

Dim Dell_Server_BIOS_Obj
Set Dell_Server_BIOS_Obj = New ProfileInformation
Dell_Server_BIOS_Obj.setProfileName("Dell.Server.BIOS")
Dim Dell_Server_BIOS_Name
Set Dell_Server_BIOS_Name = New AttributeProperty

Dell_Server_BIOS_Name.setProtocol("wsman")
Dell_Server_BIOS_Name.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Name.setProtocolAttributeName("ServiceTag")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_Name)
Dell_Server_BIOS_Obj.setAttributeDictionary("Name")

Dim Dell_Server_BIOS_Manufacturer
Set Dell_Server_BIOS_Manufacturer = New AttributeProperty

Dell_Server_BIOS_Manufacturer.setProtocol("wsman")
Dell_Server_BIOS_Manufacturer.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Manufacturer.setProtocolAttributeName("Manufacturer")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_Manufacturer)
Dell_Server_BIOS_Obj.setAttributeDictionary("Manufacturer")

Dim Dell_Server_BIOS_SerialNumber
Set Dell_Server_BIOS_SerialNumber = New AttributeProperty

Dell_Server_BIOS_SerialNumber.setProtocol("wsman")
Dell_Server_BIOS_SerialNumber.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_SerialNumber.setProtocolAttributeName("ServiceTag")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_SerialNumber)
Dell_Server_BIOS_Obj.setAttributeDictionary("SerialNumber")

Dim Dell_Server_BIOS_SMBIOSBIOSVersion
Set Dell_Server_BIOS_SMBIOSBIOSVersion = New AttributeProperty

Dell_Server_BIOS_SMBIOSBIOSVersion.setProtocol("wsman")
Dell_Server_BIOS_SMBIOSBIOSVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_SMBIOSBIOSVersion)
Dell_Server_BIOS_Obj.setAttributeDictionary("SMBIOSBIOSVersion")

Dim Dell_Server_BIOS_SMBIOSMajorVersion
Set Dell_Server_BIOS_SMBIOSMajorVersion = New AttributeProperty

Dell_Server_BIOS_SMBIOSMajorVersion.setProtocol("wsman")
Dell_Server_BIOS_SMBIOSMajorVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_SMBIOSMajorVersion)
Dell_Server_BIOS_Obj.setAttributeDictionary("SMBIOSMajorVersion")

Dim Dell_Server_BIOS_SMBIOSMinorVersion
Set Dell_Server_BIOS_SMBIOSMinorVersion = New AttributeProperty

Dell_Server_BIOS_SMBIOSMinorVersion.setProtocol("wsman")
Dell_Server_BIOS_SMBIOSMinorVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_SMBIOSMinorVersion)
Dell_Server_BIOS_Obj.setAttributeDictionary("SMBIOSMinorVersion")

Dim Dell_Server_BIOS_SMBIOSPresent
Set Dell_Server_BIOS_SMBIOSPresent = New AttributeProperty

Dell_Server_BIOS_SMBIOSPresent.setProtocol("wsman")
Dell_Server_BIOS_SMBIOSPresent.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_SMBIOSPresent)
Dell_Server_BIOS_Obj.setAttributeDictionary("SMBIOSPresent")

Dim Dell_Server_BIOS_BIOSReleaseDate
Set Dell_Server_BIOS_BIOSReleaseDate = New AttributeProperty

Dell_Server_BIOS_BIOSReleaseDate.setProtocol("wsman")
Dell_Server_BIOS_BIOSReleaseDate.setClassName("cimv2/DCIM_SystemView")
Dell_Server_BIOS_Obj.setAttributePropertyObject(Dell_Server_BIOS_BIOSReleaseDate)
Dell_Server_BIOS_Obj.setAttributeDictionary("BIOSReleaseDate")

Dell_Server_BIOS_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.BIOS",Dell_Server_BIOS_Obj

Dim DellSoftwareIdentityObj
Set DellSoftwareIdentityObj = New ProfileInformation
DellSoftwareIdentityObj.setProfileName("Dell.SoftwareIdentity")
Dim DellSoftwareIdentity_ComponentType
Set DellSoftwareIdentity_ComponentType = New AttributeProperty

DellSoftwareIdentity_ComponentType.setProtocol("wsman")
DellSoftwareIdentity_ComponentType.setClassName("cimv2/DCIM_SoftwareIdentity")
DellSoftwareIdentityObj.setAttributePropertyObject(DellSoftwareIdentity_ComponentType)
DellSoftwareIdentityObj.setAttributeDictionary("ComponentType")

Dim DellSoftwareIdentity_FQDD
Set DellSoftwareIdentity_FQDD = New AttributeProperty

DellSoftwareIdentity_FQDD.setProtocol("wsman")
DellSoftwareIdentity_FQDD.setClassName("cimv2/DCIM_SoftwareIdentity")
DellSoftwareIdentityObj.setAttributePropertyObject(DellSoftwareIdentity_FQDD)
DellSoftwareIdentityObj.setAttributeDictionary("FQDD")

Dim DellSoftwareIdentity_InstanceID
Set DellSoftwareIdentity_InstanceID = New AttributeProperty

DellSoftwareIdentity_InstanceID.setProtocol("wsman")
DellSoftwareIdentity_InstanceID.setClassName("cimv2/DCIM_SoftwareIdentity")
DellSoftwareIdentityObj.setAttributePropertyObject(DellSoftwareIdentity_InstanceID)
DellSoftwareIdentityObj.setAttributeDictionary("InstanceID")

Dim DellSoftwareIdentity_MajorVersion
Set DellSoftwareIdentity_MajorVersion = New AttributeProperty

DellSoftwareIdentity_MajorVersion.setProtocol("wsman")
DellSoftwareIdentity_MajorVersion.setClassName("cimv2/DCIM_SoftwareIdentity")
DellSoftwareIdentityObj.setAttributePropertyObject(DellSoftwareIdentity_MajorVersion)
DellSoftwareIdentityObj.setAttributeDictionary("MajorVersion")

Dim DellSoftwareIdentity_MinorVersion
Set DellSoftwareIdentity_MinorVersion = New AttributeProperty

DellSoftwareIdentity_MinorVersion.setProtocol("wsman")
DellSoftwareIdentity_MinorVersion.setClassName("cimv2/DCIM_SoftwareIdentity")
DellSoftwareIdentityObj.setAttributePropertyObject(DellSoftwareIdentity_MinorVersion)
DellSoftwareIdentityObj.setAttributeDictionary("MinorVersion")

Dim DellSoftwareIdentity_VersionString
Set DellSoftwareIdentity_VersionString = New AttributeProperty

DellSoftwareIdentity_VersionString.setProtocol("wsman")
DellSoftwareIdentity_VersionString.setClassName("cimv2/DCIM_SoftwareIdentity")
DellSoftwareIdentityObj.setAttributePropertyObject(DellSoftwareIdentity_VersionString)
DellSoftwareIdentityObj.setAttributeDictionary("VersionString")

DellSoftwareIdentityObj.populateProfileClassNameList()
profileInfoDict.Add "Dell.SoftwareIdentity",DellSoftwareIdentityObj


Dim Dell_Server_iDRAC_Obj
Set Dell_Server_iDRAC_Obj = New ProfileInformation
Dell_Server_iDRAC_Obj.setProfileName("Dell.Server.iDRAC")
Dim Dell_Server_iDRAC_ID
Set Dell_Server_iDRAC_ID = New AttributeProperty

Dell_Server_iDRAC_ID.setProtocol("wsman")
Dell_Server_iDRAC_ID.setClassName("cimv2/DCIM_IDRACCardView")
Dell_Server_iDRAC_ID.setProtocolAttributeName("FQDD")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_ID)
Dell_Server_iDRAC_Obj.setAttributeDictionary("ID")

Dim Dell_Server_iDRAC_vFlashStorageSize
Set Dell_Server_iDRAC_vFlashStorageSize = New AttributeProperty

Dell_Server_iDRAC_vFlashStorageSize.setProtocol("wsman")
Dell_Server_iDRAC_vFlashStorageSize.setClassName("cimv2/DCIM_IDRACCardView")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_vFlashStorageSize)
Dell_Server_iDRAC_Obj.setAttributeDictionary("vFlashStorageSize")

Dim Dell_Server_iDRAC_FirmwareVersion
Set Dell_Server_iDRAC_FirmwareVersion = New AttributeProperty

Dell_Server_iDRAC_FirmwareVersion.setProtocol("wsman")
Dell_Server_iDRAC_FirmwareVersion.setClassName("cimv2/DCIM_IDRACCardView")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_FirmwareVersion)
Dell_Server_iDRAC_Obj.setAttributeDictionary("FirmwareVersion")

Dim Dell_Server_iDRAC_LCCVersion
Set Dell_Server_iDRAC_LCCVersion = New AttributeProperty

Dell_Server_iDRAC_LCCVersion.setProtocol("wsman")
Dell_Server_iDRAC_LCCVersion.setClassName("cimv2/DCIM_SystemView")
Dell_Server_iDRAC_LCCVersion.setProtocolAttributeName("LifecycleControllerVersion")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_LCCVersion)
Dell_Server_iDRAC_Obj.setAttributeDictionary("LCCVersion")

Dim Dell_Server_iDRAC_IPMIVersion
Set Dell_Server_iDRAC_IPMIVersion = New AttributeProperty

Dell_Server_iDRAC_IPMIVersion.setProtocol("wsman")
Dell_Server_iDRAC_IPMIVersion.setClassName("cimv2/DCIM_IDRACCardView")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_IPMIVersion)
Dell_Server_iDRAC_Obj.setAttributeDictionary("IPMIVersion")

Dim Dell_Server_iDRAC_Model
Set Dell_Server_iDRAC_Model = New AttributeProperty

Dell_Server_iDRAC_Model.setProtocol("wsman")
Dell_Server_iDRAC_Model.setClassName("cimv2/DCIM_IDRACCardView")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_Model)
Dell_Server_iDRAC_Obj.setAttributeDictionary("Model")

Dim Dell_Server_iDRAC_GroupName
Set Dell_Server_iDRAC_GroupName = New AttributeProperty

Dell_Server_iDRAC_GroupName.setProtocol("wsman")
Dell_Server_iDRAC_GroupName.setClassName("cimv2/DCIM_IDRACCardString")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_GroupName)
Dell_Server_iDRAC_Obj.setAttributeDictionary("GroupName")

Dim Dell_Server_iDRAC_GroupStatus
Set Dell_Server_iDRAC_GroupStatus = New AttributeProperty

Dell_Server_iDRAC_GroupStatus.setProtocol("wsman")
Dell_Server_iDRAC_GroupStatus.setClassName("cimv2/DCIM_IDRACCardEnumeration")
Dell_Server_iDRAC_Obj.setAttributePropertyObject(Dell_Server_iDRAC_GroupStatus)
Dell_Server_iDRAC_Obj.setAttributeDictionary("GroupStatus")

Dell_Server_iDRAC_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.iDRAC",Dell_Server_iDRAC_Obj

Dim iDRACNicEnabledtmp,discoveryPreCheckerObjtmp
Set discoveryPreCheckerObjtmp = New DiscoveryPreChecker
iDRACNicEnabledtmp = discoveryPreCheckerObjtmp.isiDRACNicEnableFlagSet()
log.MOMDebugLog 1, "isiDRACNicEnableFlag before Query value is: " &amp; iDRACNicEnabledtmp
Set discoveryPreCheckerObjtmp = Nothing

'If (InStr(modelType,"R930") = 0) Then
If iDRACNicEnabledtmp = True Then
Dim DellIdracCardStringObj
Set DellIdracCardStringObj = New ProfileInformation
DellIdracCardStringObj.setProfileName("Dell.IdracCardString")
Dim DellIdracCardString_AttributeName
Set DellIdracCardString_AttributeName = New AttributeProperty

DellIdracCardString_AttributeName.setProtocol("wsman")
DellIdracCardString_AttributeName.setClassName("cimv2/DCIM_IDRACCardString")
DellIdracCardStringObj.setAttributePropertyObject(DellIdracCardString_AttributeName)
DellIdracCardStringObj.setAttributeDictionary("AttributeDisplayName")

Dim DellIdracCardString_CurrentValue
Set DellIdracCardString_CurrentValue = New AttributeProperty

DellIdracCardString_CurrentValue.setProtocol("wsman")
DellIdracCardString_CurrentValue.setClassName("cimv2/DCIM_IDRACCardString")
DellIdracCardStringObj.setAttributePropertyObject(DellIdracCardString_CurrentValue)
DellIdracCardStringObj.setAttributeDictionary("CurrentValue")

Dim DellIdracCardString_FQDD
Set DellIdracCardString_FQDD = New AttributeProperty

DellIdracCardString_FQDD.setProtocol("wsman")
DellIdracCardString_FQDD.setClassName("cimv2/DCIM_IDRACCardString")
DellIdracCardStringObj.setAttributePropertyObject(DellIdracCardString_FQDD)
DellIdracCardStringObj.setAttributeDictionary("FQDD")

Dim DellIdracCardString_GroupID
Set DellIdracCardString_GroupID = New AttributeProperty

DellIdracCardString_GroupID.setProtocol("wsman")
DellIdracCardString_GroupID.setClassName("cimv2/DCIM_IDRACCardString")
DellIdracCardStringObj.setAttributePropertyObject(DellIdracCardString_GroupID)
DellIdracCardStringObj.setAttributeDictionary("GroupID")
DellIdracCardStringObj.populateProfileClassNameList()
profileInfoDict.Add "Dell.IdracCardString",DellIdracCardStringObj


Dim DellIdracCardEnumerationObj
Set DellIdracCardEnumerationObj = New ProfileInformation
DellIdracCardEnumerationObj.setProfileName("Dell.IdracCardEnumeration")
Dim DellIdracCardEnumeration_AttributeName
Set DellIdracCardEnumeration_AttributeName = New AttributeProperty

DellIdracCardEnumeration_AttributeName.setProtocol("wsman")
DellIdracCardEnumeration_AttributeName.setClassName("cimv2/DCIM_IDRACCardEnumeration")
DellIdracCardEnumerationObj.setAttributePropertyObject(DellIdracCardEnumeration_AttributeName)
DellIdracCardEnumerationObj.setAttributeDictionary("AttributeDisplayName")

Dim DellIdracCardEnumeration_CurrentValue
Set DellIdracCardEnumeration_CurrentValue = New AttributeProperty

DellIdracCardEnumeration_CurrentValue.setProtocol("wsman")
DellIdracCardEnumeration_CurrentValue.setClassName("cimv2/DCIM_IDRACCardEnumeration")
DellIdracCardEnumerationObj.setAttributePropertyObject(DellIdracCardEnumeration_CurrentValue)
DellIdracCardEnumerationObj.setAttributeDictionary("CurrentValue")

Dim DellIdracCardEnumeration_FQDD
Set DellIdracCardEnumeration_FQDD = New AttributeProperty

DellIdracCardEnumeration_FQDD.setProtocol("wsman")
DellIdracCardEnumeration_FQDD.setClassName("cimv2/DCIM_IDRACCardEnumeration")
DellIdracCardEnumerationObj.setAttributePropertyObject(DellIdracCardEnumeration_FQDD)
DellIdracCardEnumerationObj.setAttributeDictionary("FQDD")

Dim DellIdracCardEnumeration_InstanceID
Set DellIdracCardEnumeration_InstanceID = New AttributeProperty

DellIdracCardEnumeration_InstanceID.setProtocol("wsman")
DellIdracCardEnumeration_InstanceID.setClassName("cimv2/DCIM_IDRACCardEnumeration")
DellIdracCardEnumerationObj.setAttributePropertyObject(DellIdracCardEnumeration_InstanceID)
DellIdracCardEnumerationObj.setAttributeDictionary("InstanceID")


DellIdracCardEnumerationObj.populateProfileClassNameList()
profileInfoDict.Add "Dell.IdracCardEnumeration",DellIdracCardEnumerationObj
End If
Dim Dell_Server_NetworkInterfaceUnit_Obj
Set Dell_Server_NetworkInterfaceUnit_Obj = New ProfileInformation
Dell_Server_NetworkInterfaceUnit_Obj.setProfileName("Dell.Server.NetworkInterfaceUnit")
Dim Dell_Server_NetworkInterfaceUnit_ID
Set Dell_Server_NetworkInterfaceUnit_ID = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_ID.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_ID.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_ID.setProtocolAttributeName("FQDD")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_ID)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("ID")

Dim Dell_Server_NetworkInterfaceUnit_MediaType
Set Dell_Server_NetworkInterfaceUnit_MediaType = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_MediaType.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_MediaType.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_MediaType)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("MediaType")

Dim Dell_Server_NetworkInterfaceUnit_NICMode
Set Dell_Server_NetworkInterfaceUnit_NICMode = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_NICMode.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_NICMode.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_NICMode.setAttributeValueMappingObject()
Dell_Server_NetworkInterfaceUnit_NICMode.setProtocolAttributeName("NicMode")
Dell_Server_NetworkInterfaceUnit_NICMode.setAttributeValueMapping "0","Unknown"
Dell_Server_NetworkInterfaceUnit_NICMode.setAttributeValueMapping "3","Disabled"
Dell_Server_NetworkInterfaceUnit_NICMode.setAttributeValueMapping "2","Enabled"
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_NICMode)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("NICMode")

Dim Dell_Server_NetworkInterfaceUnit_VendorName
Set Dell_Server_NetworkInterfaceUnit_VendorName = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_VendorName.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_VendorName.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_VendorName)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("VendorName")

Dim Dell_Server_NetworkInterfaceUnit_ProductName
Set Dell_Server_NetworkInterfaceUnit_ProductName = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_ProductName.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_ProductName.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_ProductName)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("ProductName")

Dim Dell_Server_NetworkInterfaceUnit_FamilyVersion
Set Dell_Server_NetworkInterfaceUnit_FamilyVersion = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_FamilyVersion.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_FamilyVersion.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_FamilyVersion)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("FamilyVersion")

Dim Dell_Server_NetworkInterfaceUnit_PermanentMACAddress
Set Dell_Server_NetworkInterfaceUnit_PermanentMACAddress = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_PermanentMACAddress.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_PermanentMACAddress.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_PermanentMACAddress)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("PermanentMACAddress")

Dim Dell_Server_NetworkInterfaceUnit_CurrentMACAddress
Set Dell_Server_NetworkInterfaceUnit_CurrentMACAddress = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_CurrentMACAddress.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_CurrentMACAddress.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_CurrentMACAddress)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("CurrentMACAddress")

Dim Dell_Server_NetworkInterfaceUnit_VirtualMACAddress
Set Dell_Server_NetworkInterfaceUnit_VirtualMACAddress = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_VirtualMACAddress.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_VirtualMACAddress.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_VirtualMACAddress)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("VirtualMACAddress")

Dim Dell_Server_NetworkInterfaceUnit_IPv4Address
Set Dell_Server_NetworkInterfaceUnit_IPv4Address = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_IPv4Address.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_IPv4Address.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_IPv4Address)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("IPv4Address")

Dim Dell_Server_NetworkInterfaceUnit_IPv6Address
Set Dell_Server_NetworkInterfaceUnit_IPv6Address = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_IPv6Address.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_IPv6Address.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_IPv6Address)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("IPv6Address")

Dim Dell_Server_NetworkInterfaceUnit_LinkSpeed
Set Dell_Server_NetworkInterfaceUnit_LinkSpeed = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_LinkSpeed.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMappingObject()

Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "0","Unknown"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "1","10 Mbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "2","100 Mbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "3","1000 Mbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "4","2.5 Gbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "5","10 Gbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "6","20 Gbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "7","40 Gbps"
Dell_Server_NetworkInterfaceUnit_LinkSpeed.setAttributeValueMapping "8","100 Gbps"
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_LinkSpeed)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("LinkSpeed")

Dim Dell_Server_NetworkInterfaceUnit_LinkDuplexMode
Set Dell_Server_NetworkInterfaceUnit_LinkDuplexMode = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setProtocolAttributeName("LinkDuplex")
Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setAttributeValueMappingObject()

Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setAttributeValueMapping "0","Unknown"
Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setAttributeValueMapping "1","Full Duplex"
Dell_Server_NetworkInterfaceUnit_LinkDuplexMode.setAttributeValueMapping "2","Half Duplex"
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_LinkDuplexMode)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("LinkDuplexMode")

Dim Dell_Server_NetworkInterfaceUnit_PermanentFCOEMACAddress
Set Dell_Server_NetworkInterfaceUnit_PermanentFCOEMACAddress = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_PermanentFCOEMACAddress.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_PermanentFCOEMACAddress.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_PermanentFCOEMACAddress.setProtocolAttributeName("PermanentFCOEMACAddress")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_PermanentFCOEMACAddress)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("PermanentFCOEMACAddress")

Dim Dell_Server_NetworkInterfaceUnit_PermanentiSCSIMACAddress
Set Dell_Server_NetworkInterfaceUnit_PermanentiSCSIMACAddress = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_PermanentiSCSIMACAddress.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_PermanentiSCSIMACAddress.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_PermanentiSCSIMACAddress.setProtocolAttributeName("PermanentiSCSIMACAddress")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_PermanentiSCSIMACAddress)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("PermanentiSCSIMACAddress")

'Add property to existing object
Dim Dell_Server_NetworkInterfaceUnit_ChassisId
Set Dell_Server_NetworkInterfaceUnit_ChassisId = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_ChassisId.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_ChassisId.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_ChassisId)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("SwitchChassisID")

Dim Dell_Server_NetworkInterfaceUnit_SwitchPortID
Set Dell_Server_NetworkInterfaceUnit_SwitchPortID = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_SwitchPortID.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_SwitchPortID.setClassName("cimv2/DCIM_NICView")
Dell_Server_NetworkInterfaceUnit_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_SwitchPortID)
Dell_Server_NetworkInterfaceUnit_Obj.setAttributeDictionary("SwitchPortID")

Dim Dell_Server_NICDetails_Obj
Set Dell_Server_NICDetails_Obj = New ProfileInformation
Dell_Server_NICDetails_Obj.setProfileName("Dell.Server.NICDetails")

Dim Dell_Server_NICDetails_VirtualMACAddress
Set Dell_Server_NICDetails_VirtualMACAddress= New AttributeProperty

Dell_Server_NICDetails_VirtualMACAddress.setProtocol("wsman")
Dell_Server_NICDetails_VirtualMACAddress.setClassName("cimv2/DCIM_NICString")
Dell_Server_NICDetails_VirtualMACAddress.setProtocolAttributeName("AttributeName")
Dell_Server_NICDetails_Obj.setAttributePropertyObject(Dell_Server_NICDetails_VirtualMACAddress)
Dell_Server_NICDetails_Obj.setAttributeDictionary("VirtualMACAddress_property")

Dim Dell_Server_NICDetails_VirtualMACAddress_val
Set Dell_Server_NICDetails_VirtualMACAddress_val = New AttributeProperty

Dell_Server_NICDetails_VirtualMACAddress_val.setProtocol("wsman")
Dell_Server_NICDetails_VirtualMACAddress_val.setClassName("cimv2/DCIM_NICString")
Dell_Server_NICDetails_VirtualMACAddress_val.setProtocolAttributeName("CurrentValue")
Dell_Server_NICDetails_Obj.setAttributePropertyObject(Dell_Server_NICDetails_VirtualMACAddress_val)
Dell_Server_NICDetails_Obj.setAttributeDictionary("VirtualMACAddress_currentValue")

Dim Dell_Server_NICDetails_FQDD
Set Dell_Server_NICDetails_FQDD = New AttributeProperty

Dell_Server_NICDetails_FQDD.setProtocol("wsman")
Dell_Server_NICDetails_FQDD.setClassName("cimv2/DCIM_NICString")
Dell_Server_NICDetails_FQDD.setProtocolAttributeName("FQDD")
Dell_Server_NICDetails_Obj.setAttributePropertyObject(Dell_Server_NICDetails_FQDD)
Dell_Server_NICDetails_Obj.setAttributeDictionary("FQDD")

Dell_Server_NICDetails_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.NICDetails",Dell_Server_NICDetails_Obj

Dell_Server_NetworkInterfaceUnit_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.NetworkInterfaceUnit",Dell_Server_NetworkInterfaceUnit_Obj

Dim Dell_Server_NetworkInterfaceUnit_Capabilities_Obj
Set Dell_Server_NetworkInterfaceUnit_Capabilities_Obj = New ProfileInformation
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setProfileName("Dell.Server.NetworkInterfaceUnit.Capabilities")

Dim Dell_Server_NetworkInterfaceUnitCapabilities_ID
Set Dell_Server_NetworkInterfaceUnitCapabilities_ID = New AttributeProperty

Dell_Server_NetworkInterfaceUnitCapabilities_ID.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnitCapabilities_ID.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnitCapabilities_ID.setProtocolAttributeName("FQDD")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnitCapabilities_ID)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("ID")

Dim Dell_Server_NetworkInterfaceUnit_WOLSupport
Set Dell_Server_NetworkInterfaceUnit_WOLSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_WOLSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_WOLSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_WOLSupport.setProtocolAttributeName("WOLSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_WOLSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("WOLSupport")


Dim Dell_Server_NetworkInterfaceUnit_FlexAddressingSupport
Set Dell_Server_NetworkInterfaceUnit_FlexAddressingSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_FlexAddressingSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_FlexAddressingSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_FlexAddressingSupport.setProtocolAttributeName("FlexAddressingSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_FlexAddressingSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("FlexAddressingSupport")

Dim Dell_Server_NetworkInterfaceUnit_VFSRIOVSupport
Set Dell_Server_NetworkInterfaceUnit_VFSRIOVSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_VFSRIOVSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_VFSRIOVSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_VFSRIOVSupport.setProtocolAttributeName("VFSRIOVSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_VFSRIOVSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("VFSRIOVSupport")



Dim Dell_Server_NetworkInterfaceUnit_iSCSIOffloadSupport
Set Dell_Server_NetworkInterfaceUnit_iSCSIOffloadSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_iSCSIOffloadSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_iSCSIOffloadSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_iSCSIOffloadSupport.setProtocolAttributeName("iSCSIOffloadSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_iSCSIOffloadSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("iSCSIOffloadSupport")

Dim Dell_Server_NetworkInterfaceUnit_FCoEOffloadSupport
Set Dell_Server_NetworkInterfaceUnit_FCoEOffloadSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_FCoEOffloadSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_FCoEOffloadSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_FCoEOffloadSupport.setProtocolAttributeName("FCoEOffloadSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_FCoEOffloadSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("FCoEOffloadSupport")

Dim Dell_Server_NetworkInterfaceUnit_NicPartitioningSupport
Set Dell_Server_NetworkInterfaceUnit_NicPartitioningSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_NicPartitioningSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_NicPartitioningSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_NicPartitioningSupport.setProtocolAttributeName("NicPartitioningSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_NicPartitioningSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("NicPartitioningSupport")


Dim Dell_Server_NetworkInterfaceUnit_TCPChimneySupport
Set Dell_Server_NetworkInterfaceUnit_TCPChimneySupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_TCPChimneySupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_TCPChimneySupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_TCPChimneySupport.setProtocolAttributeName("TCPChimneySupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_TCPChimneySupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("TCPChimneySupport")

Dim Dell_Server_NetworkInterfaceUnit_FCoEBootSupport
Set Dell_Server_NetworkInterfaceUnit_FCoEBootSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_FCoEBootSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_FCoEBootSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_FCoEBootSupport.setProtocolAttributeName("FCoEBootSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_FCoEBootSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("FCoEBootSupport")

Dim Dell_Server_NetworkInterfaceUnit_DCBExchangeProtocol
Set Dell_Server_NetworkInterfaceUnit_DCBExchangeProtocol = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_DCBExchangeProtocol.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_DCBExchangeProtocol.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_DCBExchangeProtocol.setProtocolAttributeName("DCBExchangeProtocol")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_DCBExchangeProtocol)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("DCBExchangeProtocol")

Dim Dell_Server_NetworkInterfaceUnit_PXEBootSupport
Set Dell_Server_NetworkInterfaceUnit_PXEBootSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_PXEBootSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_PXEBootSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_PXEBootSupport.setProtocolAttributeName("PXEBootSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_PXEBootSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("PXEBootSupport")

Dim Dell_Server_NetworkInterfaceUnit_iSCSIBootSupport
Set Dell_Server_NetworkInterfaceUnit_iSCSIBootSupport = New AttributeProperty

Dell_Server_NetworkInterfaceUnit_iSCSIBootSupport.setProtocol("wsman")
Dell_Server_NetworkInterfaceUnit_iSCSIBootSupport.setClassName("cimv2/DCIM_NICCapabilities")
Dell_Server_NetworkInterfaceUnit_iSCSIBootSupport.setProtocolAttributeName("iSCSIBootSupport")
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributePropertyObject(Dell_Server_NetworkInterfaceUnit_iSCSIBootSupport)
Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.setAttributeDictionary("iSCSIBootSupport")

Dell_Server_NetworkInterfaceUnit_Capabilities_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.NetworkInterfaceUnit.Capabilities",Dell_Server_NetworkInterfaceUnit_Capabilities_Obj

'DCIM_SwitchConnectionView,DCIM_PresenceAndStatusSensor are available only for Server Generation &gt; 13
If generation &gt; 13 Then
'Add Switchconnection ID and Port
Dim Dell_NIC_SwitchConnection_Obj
Set Dell_NIC_SwitchConnection_Obj = New ProfileInformation
Dell_NIC_SwitchConnection_Obj.setProfileName("Dell.NIC.Switchconnection")

Dim Dell_NIC_SwitchConnection_FQDD
Set Dell_NIC_SwitchConnection_FQDD = New AttributeProperty

Dell_NIC_SwitchConnection_FQDD.setProtocol("wsman")
Dell_NIC_SwitchConnection_FQDD.setClassName("cimv2/DCIM_SwitchConnectionView")
Dell_NIC_SwitchConnection_FQDD.setProtocolAttributeName("FQDD")
Dell_NIC_SwitchConnection_Obj.setAttributePropertyObject(Dell_NIC_SwitchConnection_FQDD)
Dell_NIC_SwitchConnection_Obj.setAttributeDictionary("FQDD")

Dim Dell_NIC_SwitchConnection_ChassisID
Set Dell_NIC_SwitchConnection_ChassisID = New AttributeProperty

Dell_NIC_SwitchConnection_ChassisID.setProtocol("wsman")
Dell_NIC_SwitchConnection_ChassisID.setClassName("cimv2/DCIM_SwitchConnectionView")
Dell_NIC_SwitchConnection_ChassisID.setProtocolAttributeName("SwitchConnectionID")
Dell_NIC_SwitchConnection_Obj.setAttributePropertyObject(Dell_NIC_SwitchConnection_ChassisID)
Dell_NIC_SwitchConnection_Obj.setAttributeDictionary("SwitchConnectionID")

Dim Dell_NIC_SwitchConnection_SwitchPortID
Set Dell_NIC_SwitchConnection_SwitchPortID = New AttributeProperty

Dell_NIC_SwitchConnection_SwitchPortID.setProtocol("wsman")
Dell_NIC_SwitchConnection_SwitchPortID.setClassName("cimv2/DCIM_SwitchConnectionView")
Dell_NIC_SwitchConnection_SwitchPortID.setProtocolAttributeName("SwitchPortConnectionID")
Dell_NIC_SwitchConnection_Obj.setAttributePropertyObject(Dell_NIC_SwitchConnection_SwitchPortID)
Dell_NIC_SwitchConnection_Obj.setAttributeDictionary("SwitchPortConnectionID")

Dell_NIC_SwitchConnection_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.NIC.Switchconnection",Dell_NIC_SwitchConnection_Obj
End If

If generation &gt; 12 Then
Dim Dell_PresenceAndStatusSensor_Obj
Set Dell_PresenceAndStatusSensor_Obj = New ProfileInformation
Dell_PresenceAndStatusSensor_Obj.setProfileName("Dell.Server.PresenceAndStatusSensor")

Dim Dell_PNS_DeviceID
Set Dell_PNS_DeviceID = New AttributeProperty

Dell_PNS_DeviceID.setProtocol("wsman")
Dell_PNS_DeviceID.setClassName("cimv2/DCIM_PresenceAndStatusSensor")
Dell_PNS_DeviceID.setProtocolAttributeName("DeviceID")
Dell_PresenceAndStatusSensor_Obj.setAttributePropertyObject(Dell_PNS_DeviceID )
Dell_PresenceAndStatusSensor_Obj.setAttributeDictionary("DeviceID")

Dim Dell_PNS_ElementName
Set Dell_PNS_ElementName = New AttributeProperty

Dell_PNS_ElementName.setProtocol("wsman")
Dell_PNS_ElementName.setClassName("cimv2/DCIM_PresenceAndStatusSensor")
Dell_PNS_ElementName.setProtocolAttributeName("ElementName")
Dell_PresenceAndStatusSensor_Obj.setAttributePropertyObject(Dell_PNS_ElementName)
Dell_PresenceAndStatusSensor_Obj.setAttributeDictionary("ElementName")

Dell_PresenceAndStatusSensor_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.PresenceAndStatusSensor",Dell_PresenceAndStatusSensor_Obj
End If

Dim DellNumericSensorObj
Set DellNumericSensorObj = New ProfileInformation
DellNumericSensorObj.setProfileName("Dell.NumericSensor")
Dim DellNumericSensor_SensorType
Set DellNumericSensor_SensorType = New AttributeProperty

DellNumericSensor_SensorType.setProtocol("wsman")
DellNumericSensor_SensorType.setClassName("cimv2/DCIM_NumericSensor")
DellNumericSensorObj.setAttributePropertyObject(DellNumericSensor_SensorType)
DellNumericSensorObj.setAttributeDictionary("SensorType")

Dim DellNumericSensor_DeviceID
Set DellNumericSensor_DeviceID = New AttributeProperty

DellNumericSensor_DeviceID.setProtocol("wsman")
DellNumericSensor_DeviceID.setClassName("cimv2/DCIM_NumericSensor")
DellNumericSensorObj.setAttributePropertyObject(DellNumericSensor_DeviceID)
DellNumericSensorObj.setAttributeDictionary("DeviceID")

Dim DellNumericSensor_ElementName
Set DellNumericSensor_ElementName = New AttributeProperty

DellNumericSensor_ElementName.setProtocol("wsman")
DellNumericSensor_ElementName.setClassName("cimv2/DCIM_NumericSensor")
DellNumericSensorObj.setAttributePropertyObject(DellNumericSensor_ElementName)
DellNumericSensorObj.setAttributeDictionary("ElementName")

DellNumericSensorObj.populateProfileClassNameList()
profileInfoDict.Add "Dell.NumericSensor",DellNumericSensorObj

Dim DellSensorObj
Set DellSensorObj = New ProfileInformation
DellSensorObj.setProfileName("Dell.Sensor")
Dim DellSensor_SensorType
Set DellSensor_SensorType = New AttributeProperty

DellSensor_SensorType.setProtocol("wsman")
DellSensor_SensorType.setClassName("cimv2/DCIM_Sensor")
DellSensorObj.setAttributePropertyObject(DellSensor_SensorType)
DellSensorObj.setAttributeDictionary("SensorType")

Dim DellSensor_DeviceID
Set DellSensor_DeviceID = New AttributeProperty

DellSensor_DeviceID.setProtocol("wsman")
DellSensor_DeviceID.setClassName("cimv2/DCIM_Sensor")
DellSensorObj.setAttributePropertyObject(DellSensor_DeviceID)
DellSensorObj.setAttributeDictionary("DeviceID")

Dim DellSensor_ElementName
Set DellSensor_ElementName = New AttributeProperty

DellSensor_ElementName.setProtocol("wsman")
DellSensor_ElementName.setClassName("cimv2/DCIM_Sensor")
DellSensorObj.setAttributePropertyObject(DellSensor_ElementName)
DellSensorObj.setAttributeDictionary("ElementName")

Dim DellSensor_OtherSensorTypeDescription
Set DellSensor_OtherSensorTypeDescription = New AttributeProperty

DellSensor_OtherSensorTypeDescription.setProtocol("wsman")
DellSensor_OtherSensorTypeDescription.setClassName("cimv2/DCIM_Sensor")
DellSensorObj.setAttributePropertyObject(DellSensor_OtherSensorTypeDescription)
DellSensorObj.setAttributeDictionary("OtherSensorTypeDescription")

DellSensorObj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Sensor",DellSensorObj


Dim Dell_Server_Storage_Controller_Obj
Set Dell_Server_Storage_Controller_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Obj.setProfileName("Dell.Server.Storage.Controller")
Dim Dell_Server_Storage_Controller_DeviceID
Set Dell_Server_Storage_Controller_DeviceID = New AttributeProperty

Dell_Server_Storage_Controller_DeviceID.setProtocol("wsman")
Dell_Server_Storage_Controller_DeviceID.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_DeviceID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_DeviceID)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("DeviceID")

Dim Dell_Server_Storage_Controller_SlotID
Set Dell_Server_Storage_Controller_SlotID = New AttributeProperty

Dell_Server_Storage_Controller_SlotID.setProtocol("wsman")
Dell_Server_Storage_Controller_SlotID.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_SlotID.setProtocolAttributeName("PCISlot")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_SlotID)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("SlotID")

Dim Dell_Server_Storage_Controller_FirmwareVer
Set Dell_Server_Storage_Controller_FirmwareVer = New AttributeProperty

Dell_Server_Storage_Controller_FirmwareVer.setProtocol("wsman")
Dell_Server_Storage_Controller_FirmwareVer.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_FirmwareVer.setProtocolAttributeName("ControllerFirmwareVersion")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_FirmwareVer)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("FirmwareVer")

Dim Dell_Server_Storage_Controller_MinReqFirmwareVer
Set Dell_Server_Storage_Controller_MinReqFirmwareVer = New AttributeProperty

Dell_Server_Storage_Controller_MinReqFirmwareVer.setProtocol("wsman")
Dell_Server_Storage_Controller_MinReqFirmwareVer.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_MinReqFirmwareVer.setProtocolAttributeName("MinReqFirmwareVersion")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_MinReqFirmwareVer)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("MinReqFirmwareVer")

Dim Dell_Server_Storage_Controller_DriverVer
Set Dell_Server_Storage_Controller_DriverVer = New AttributeProperty

Dell_Server_Storage_Controller_DriverVer.setProtocol("wsman")
Dell_Server_Storage_Controller_DriverVer.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_DriverVer.setProtocolAttributeName("DriverVersion")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_DriverVer)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("DriverVer")

Dim Dell_Server_Storage_Controller_MinReqDriverVer
Set Dell_Server_Storage_Controller_MinReqDriverVer = New AttributeProperty

Dell_Server_Storage_Controller_MinReqDriverVer.setProtocol("wsman")
Dell_Server_Storage_Controller_MinReqDriverVer.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_MinReqDriverVer.setProtocolAttributeName("MinReqDriverVersion")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_MinReqDriverVer)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("MinReqDriverVer")

Dim Dell_Server_Storage_Controller_SCSIInitiatorID
Set Dell_Server_Storage_Controller_SCSIInitiatorID = New AttributeProperty

Dell_Server_Storage_Controller_SCSIInitiatorID.setProtocol("wsman")
Dell_Server_Storage_Controller_SCSIInitiatorID.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_SCSIInitiatorID)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("SCSIInitiatorID")

Dim Dell_Server_Storage_Controller_PCIVendorID
Set Dell_Server_Storage_Controller_PCIVendorID = New AttributeProperty

Dell_Server_Storage_Controller_PCIVendorID.setProtocol("wsman")
Dell_Server_Storage_Controller_PCIVendorID.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PCIVendorID)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("PCIVendorID")

Dim Dell_Server_Storage_Controller_DeviceCardManufacturer
Set Dell_Server_Storage_Controller_DeviceCardManufacturer = New AttributeProperty

Dell_Server_Storage_Controller_DeviceCardManufacturer.setProtocol("wsman")
Dell_Server_Storage_Controller_DeviceCardManufacturer.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_DeviceCardManufacturer)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("DeviceCardManufacturer")

Dim Dell_Server_Storage_Controller_DeviceCardSlotType
Set Dell_Server_Storage_Controller_DeviceCardSlotType = New AttributeProperty

Dell_Server_Storage_Controller_DeviceCardSlotType.setProtocol("wsman")
Dell_Server_Storage_Controller_DeviceCardSlotType.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_DeviceCardSlotType)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("DeviceCardSlotType")

Dim Dell_Server_Storage_Controller_ProductName
Set Dell_Server_Storage_Controller_ProductName = New AttributeProperty

Dell_Server_Storage_Controller_ProductName.setProtocol("wsman")
Dell_Server_Storage_Controller_ProductName.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_ProductName)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("ProductName")

Dim Dell_Server_Storage_Controller_SASAddress
Set Dell_Server_Storage_Controller_SASAddress = New AttributeProperty

Dell_Server_Storage_Controller_SASAddress.setProtocol("wsman")
Dell_Server_Storage_Controller_SASAddress.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_SASAddress)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("SASAddress")

Dim Dell_Server_Storage_Controller_Security
Set Dell_Server_Storage_Controller_Security = New AttributeProperty

Dell_Server_Storage_Controller_Security.setProtocol("wsman")
Dell_Server_Storage_Controller_Security.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Security.setProtocolAttributeName("SecurityStatus")
Dell_Server_Storage_Controller_Security.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_Security.setAttributeValueMapping "0","Encryption Not Capable"
Dell_Server_Storage_Controller_Security.setAttributeValueMapping "1","Encryption Capable"
Dell_Server_Storage_Controller_Security.setAttributeValueMapping "2","Security Key Assigned"
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Security)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("Security")

Dim Dell_Server_Storage_Controller_EncryptionMode
Set Dell_Server_Storage_Controller_EncryptionMode = New AttributeProperty

Dell_Server_Storage_Controller_EncryptionMode.setProtocol("wsman")
Dell_Server_Storage_Controller_EncryptionMode.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_EncryptionMode.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_EncryptionMode.setAttributeValueMapping "0","None"
Dell_Server_Storage_Controller_EncryptionMode.setAttributeValueMapping "1","Local Key Management"
Dell_Server_Storage_Controller_EncryptionMode.setAttributeValueMapping "2","Dell Key Management"
Dell_Server_Storage_Controller_EncryptionMode.setAttributeValueMapping "3","Pending Dell Key Management"
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_EncryptionMode)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("EncryptionMode")

Dim Dell_Server_Storage_Controller_EncryptionCapability
Set Dell_Server_Storage_Controller_EncryptionCapability = New AttributeProperty

Dell_Server_Storage_Controller_EncryptionCapability.setProtocol("wsman")
Dell_Server_Storage_Controller_EncryptionCapability.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_EncryptionCapability.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_EncryptionCapability.setAttributeValueMapping "0","none"
Dell_Server_Storage_Controller_EncryptionCapability.setAttributeValueMapping "1","Local Key Management Capable"
Dell_Server_Storage_Controller_EncryptionCapability.setAttributeValueMapping "2","Dell Key Management Capable"
Dell_Server_Storage_Controller_EncryptionCapability.setAttributeValueMapping "3","Local and Dell Key Management Capable"
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_EncryptionCapability)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("EncryptionCapability")

Dim Dell_Server_Storage_Controller_CachecadeCapability
Set Dell_Server_Storage_Controller_CachecadeCapability = New AttributeProperty

Dell_Server_Storage_Controller_CachecadeCapability.setProtocol("wsman")
Dell_Server_Storage_Controller_CachecadeCapability.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_CachecadeCapability.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_CachecadeCapability.setAttributeValueMapping "0","Cachecade Virtual Disk not supported"
Dell_Server_Storage_Controller_CachecadeCapability.setAttributeValueMapping "1","Cachecade Virtual Disk supported"
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_CachecadeCapability)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("CachecadeCapability")

Dim Dell_Server_Storage_Controller_SlicedVDCapability
Set Dell_Server_Storage_Controller_SlicedVDCapability = New AttributeProperty

Dell_Server_Storage_Controller_SlicedVDCapability.setProtocol("wsman")
Dell_Server_Storage_Controller_SlicedVDCapability.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_SlicedVDCapability.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_SlicedVDCapability.setAttributeValueMapping "0","Sliced Virtual Disk creation not supported"
Dell_Server_Storage_Controller_SlicedVDCapability.setAttributeValueMapping "1","Sliced Virtual Disk creation supported"
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_SlicedVDCapability)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("SlicedVDCapability")

Dim Dell_Server_Storage_Controller_CacheSizeInMB
Set Dell_Server_Storage_Controller_CacheSizeInMB = New AttributeProperty

Dell_Server_Storage_Controller_CacheSizeInMB.setProtocol("wsman")
Dell_Server_Storage_Controller_CacheSizeInMB.setClassName("cimv2/DCIM_ControllerView")
Dell_Server_Storage_Controller_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_CacheSizeInMB)
Dell_Server_Storage_Controller_Obj.setAttributeDictionary("CacheSizeInMB")

Dell_Server_Storage_Controller_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller",Dell_Server_Storage_Controller_Obj

Dim Dell_Server_Storage_Controller_Battery_Obj
Set Dell_Server_Storage_Controller_Battery_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Battery_Obj.setProfileName("Dell.Server.Storage.Controller.Battery")
Dim Dell_Server_Storage_Controller_Battery_ID
Set Dell_Server_Storage_Controller_Battery_ID = New AttributeProperty

Dell_Server_Storage_Controller_Battery_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Battery_ID.setClassName("cimv2/DCIM_ControllerBatteryView")
Dell_Server_Storage_Controller_Battery_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Battery_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Battery_ID)
Dell_Server_Storage_Controller_Battery_Obj.setAttributeDictionary("ID")

Dell_Server_Storage_Controller_Battery_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Battery",Dell_Server_Storage_Controller_Battery_Obj

Dim Dell_Server_Storage_Controller_VirtualDisk_Obj
Set Dell_Server_Storage_Controller_VirtualDisk_Obj = New ProfileInformation
Dell_Server_Storage_Controller_VirtualDisk_Obj.setProfileName("Dell.Server.Storage.Controller.VirtualDisk")
Dim Dell_Server_Storage_Controller_VirtualDisk_ID
Set Dell_Server_Storage_Controller_VirtualDisk_ID = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_ID.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_ID)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_VirtualDisk_Layout
Set Dell_Server_Storage_Controller_VirtualDisk_Layout = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_Layout.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_Layout.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Layout.setProtocolAttributeName("RAIDTypes")
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "1","No RAID"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "2","RAID-0"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "4","RAID-1"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "64","RAID-5"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "128","RAID-6"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "2048","RAID-10"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "8192","RAID-50"
Dell_Server_Storage_Controller_VirtualDisk_Layout.setAttributeValueMapping "16384","RAID-60"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_Layout)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("Layout")

Dim Dell_Server_Storage_Controller_VirtualDisk_Size
Set Dell_Server_Storage_Controller_VirtualDisk_Size = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_Size.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_Size.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Size.setProtocolAttributeName("SizeInBytes")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_Size)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("Size")

Dim Dell_Server_Storage_Controller_VirtualDisk_Name
Set Dell_Server_Storage_Controller_VirtualDisk_Name = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_Name.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_Name.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_Name)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("Name")

Dim Dell_Server_Storage_Controller_VirtualDisk_Type
Set Dell_Server_Storage_Controller_VirtualDisk_Type = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_Type.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_Type.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Type.setProtocolAttributeName("BusProtocol")
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "0","Unknown"
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "1","SCSI"
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "2","PATA"
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "3","FIBRE"
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "4","USB"
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "5","SATA"
Dell_Server_Storage_Controller_VirtualDisk_Type.setAttributeValueMapping "6","SAS"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_Type)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("Type")

Dim Dell_Server_Storage_Controller_VirtualDisk_MediaType
Set Dell_Server_Storage_Controller_VirtualDisk_MediaType = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_MediaType.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_MediaType.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_MediaType.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_MediaType.setAttributeValueMapping "0", "Unknown"
Dell_Server_Storage_Controller_VirtualDisk_MediaType.setAttributeValueMapping "1", "Hard Disk Drive"
Dell_Server_Storage_Controller_VirtualDisk_MediaType.setAttributeValueMapping "2", "Solid State Drive"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_MediaType)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("MediaType")

Dim Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy
Set Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setProtocolAttributeName("ReadCachePolicy")
Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setAttributeValueMapping "0","Unknown"
Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setAttributeValueMapping "32","Read Ahead"
Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setAttributeValueMapping "64","Adaptive Read Ahead"
Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy.setAttributeValueMapping "16","No Read Ahead"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_ReadPolicy)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("ReadPolicy")

Dim Dell_Server_Storage_Controller_VirtualDisk_WritePolicy
Set Dell_Server_Storage_Controller_VirtualDisk_WritePolicy = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setProtocolAttributeName("WriteCachePolicy")
Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setAttributeValueMapping "0","Unknown"
Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setAttributeValueMapping "1","Write Through"
Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setAttributeValueMapping "2","Write Back"
Dell_Server_Storage_Controller_VirtualDisk_WritePolicy.setAttributeValueMapping "4","Write Back Force"

Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_WritePolicy)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("WritePolicy")

Dim Dell_Server_Storage_Controller_VirtualDisk_CachePolicy
Set Dell_Server_Storage_Controller_VirtualDisk_CachePolicy = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setProtocolAttributeName("DiskCachePolicy")
Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setAttributeValueMapping "0","Unkonwn"
Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setAttributeValueMapping "256","Default"
Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setAttributeValueMapping "512","Enabled"
Dell_Server_Storage_Controller_VirtualDisk_CachePolicy.setAttributeValueMapping "1024","Disabled"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_CachePolicy)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("CachePolicy")

Dim Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize
Set Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setProtocolAttributeName("StripeSize")
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "0","Default"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "1","512 Bytes"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "2","1 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "4","2 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "8","4 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "16","8 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "32","16 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "64","32 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "128","64 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "256","128 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "512","256 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "1024","512 KB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "2048","1 MB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "4096","2 MB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "8192","4 MB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "16384","8 MB"
Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize.setAttributeValueMapping "32768","16 MB"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_StripeElementSize)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("StripeElementSize")

Dim Dell_Server_Storage_Controller_VirtualDisk_Cachecade
Set Dell_Server_Storage_Controller_VirtualDisk_Cachecade = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_Cachecade.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_Cachecade.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_Cachecade.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_Cachecade.setAttributeValueMapping "0","Not a Cachecade Virtual Disk"
Dell_Server_Storage_Controller_VirtualDisk_Cachecade.setAttributeValueMapping "1","Cachecade Virtual Disk"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_Cachecade)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("Cachecade")

Dim Dell_Server_Storage_Controller_VirtualDisk_SpanDepth
Set Dell_Server_Storage_Controller_VirtualDisk_SpanDepth = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_SpanDepth.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_SpanDepth.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_SpanDepth.setProtocolAttributeName("SpanDepth")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_SpanDepth)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("SpanDepth")

Dim Dell_Server_Storage_Controller_VirtualDisk_SpanLength
Set Dell_Server_Storage_Controller_VirtualDisk_SpanLength = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_SpanLength.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_SpanLength.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_SpanLength.setProtocolAttributeName("SpanLength")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_SpanLength)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("SpanLength")


Dim Dell_Server_Storage_Controller_VirtualDisk_BlockSize
Set Dell_Server_Storage_Controller_VirtualDisk_BlockSize = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_BlockSize.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_BlockSize.setClassName("cimv2/DCIM_VirtualDiskView")
Dell_Server_Storage_Controller_VirtualDisk_BlockSize.setProtocolAttributeName("BlockSizeInBytes")
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_BlockSize)
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("BlockSize")

Dim Dell_Server_Storage_Controller_VirtualDisk_LockStatus
Set Dell_Server_Storage_Controller_VirtualDisk_LockStatus = New AttributeProperty

Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setProtocol("wsman")
Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setClassName("cimv2/DCIM_VirtualDiskView")

Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setAttributeValueMapping "0","unlocked"
Dell_Server_Storage_Controller_VirtualDisk_LockStatus.setAttributeValueMapping "1","Locked"
Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_VirtualDisk_LockStatus)

Dell_Server_Storage_Controller_VirtualDisk_Obj.setAttributeDictionary("LockStatus")

Dell_Server_Storage_Controller_VirtualDisk_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.VirtualDisk",Dell_Server_Storage_Controller_VirtualDisk_Obj

Dim Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj
Set Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj = New ProfileInformation
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setProfileName("Dell.Server.Storage.Controller.PhysicalDisk")
Dim Dell_Server_Storage_Controller_PhysicalDisk_ID
Set Dell_Server_Storage_Controller_PhysicalDisk_ID = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_ID.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_ID)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_PhysicalDisk_Type
Set Dell_Server_Storage_Controller_PhysicalDisk_Type = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_Type.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_Type.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_Type.setProtocolAttributeName("BusProtocol")
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "0","Unknown"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "1","SCSI"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "2","PATA"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "3","FIBRE"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "4","USB"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "5","SATA"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "6","SAS"
Dell_Server_Storage_Controller_PhysicalDisk_Type.setAttributeValueMapping "7","PCIe"
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_Type)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("Type")

Dim Dell_Server_Storage_Controller_PhysicalDisk_Capacity
Set Dell_Server_Storage_Controller_PhysicalDisk_Capacity = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_Capacity.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_Capacity.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_Capacity.setProtocolAttributeName("SizeInBytes")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_Capacity)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("Capacity")

Dim Dell_Server_Storage_Controller_PhysicalDisk_UsedRaidDiskSpace
Set Dell_Server_Storage_Controller_PhysicalDisk_UsedRaidDiskSpace = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_UsedRaidDiskSpace.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_UsedRaidDiskSpace.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_UsedRaidDiskSpace.setProtocolAttributeName("UsedSizeInBytes")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_UsedRaidDiskSpace)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("UsedRaidDiskSpace")

Dim Dell_Server_Storage_Controller_PhysicalDisk_AvailableRaidDiskSpace
Set Dell_Server_Storage_Controller_PhysicalDisk_AvailableRaidDiskSpace = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_AvailableRaidDiskSpace.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_AvailableRaidDiskSpace.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_AvailableRaidDiskSpace.setProtocolAttributeName("FreeSizeInBytes")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_AvailableRaidDiskSpace)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("AvailableRaidDiskSpace")

Dim Dell_Server_Storage_Controller_PhysicalDisk_HotSpare
Set Dell_Server_Storage_Controller_PhysicalDisk_HotSpare = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setProtocolAttributeName("HotSpareStatus")
Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setAttributeValueMapping "0","No"
Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setAttributeValueMapping "1","Dedicated"
Dell_Server_Storage_Controller_PhysicalDisk_HotSpare.setAttributeValueMapping "2","Global"
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_HotSpare)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("HotSpare")

Dim Dell_Server_Storage_Controller_PhysicalDisk_VendorID
Set Dell_Server_Storage_Controller_PhysicalDisk_VendorID = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_VendorID.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_VendorID.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_VendorID.setProtocolAttributeName("Manufacturer")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_VendorID)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("VendorID")

Dim Dell_Server_Storage_Controller_PhysicalDisk_ProductID
Set Dell_Server_Storage_Controller_PhysicalDisk_ProductID = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_ProductID.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_ProductID.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_ProductID.setProtocolAttributeName("Model")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_ProductID)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("ProductID")

Dim Dell_Server_Storage_Controller_PhysicalDisk_Revision
Set Dell_Server_Storage_Controller_PhysicalDisk_Revision = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_Revision.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_Revision.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_Revision.setProtocolAttributeName("Revision")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_Revision)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("Revision")

Dim Dell_Server_Storage_Controller_PhysicalDisk_SerialNumber
Set Dell_Server_Storage_Controller_PhysicalDisk_SerialNumber = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_SerialNumber.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_SerialNumber.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_SerialNumber)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("SerialNumber")

Dim Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed
Set Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("NegotiatedSpeed")

Dim Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed
Set Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setProtocolAttributeName("MaxCapableSpeed")
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setAttributeValueMapping "0", "Unknown"
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setAttributeValueMapping "1", "1.5 Gbps"
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setAttributeValueMapping "2", "3 Gbps"
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setAttributeValueMapping "3", "6 Gbps"
Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed.setAttributeValueMapping "4", "12 Gbps"
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_CapableSpeed)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("CapableSpeed")

Dim Dell_Server_Storage_Controller_PhysicalDisk_ManufactureDay
Set Dell_Server_Storage_Controller_PhysicalDisk_ManufactureDay = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_ManufactureDay.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_ManufactureDay.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_ManufactureDay.setProtocolAttributeName("ManufacturingDay")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_ManufactureDay)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("ManufactureDay")

Dim Dell_Server_Storage_Controller_PhysicalDisk_ManufactureWeek
Set Dell_Server_Storage_Controller_PhysicalDisk_ManufactureWeek = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_ManufactureWeek.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_ManufactureWeek.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_ManufactureWeek.setProtocolAttributeName("ManufacturingWeek")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_ManufactureWeek)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("ManufactureWeek")

Dim Dell_Server_Storage_Controller_PhysicalDisk_ManufactureYear
Set Dell_Server_Storage_Controller_PhysicalDisk_ManufactureYear = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_ManufactureYear.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_ManufactureYear.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_ManufactureYear.setProtocolAttributeName("ManufacturingYear")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_ManufactureYear)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("ManufactureYear")

Dim Dell_Server_Storage_Controller_PhysicalDisk_SASAddress
Set Dell_Server_Storage_Controller_PhysicalDisk_SASAddress = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_SASAddress.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_SASAddress.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_SASAddress)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("SASAddress")

Dim Dell_Server_Storage_Controller_PhysicalDisk_MediaType
Set Dell_Server_Storage_Controller_PhysicalDisk_MediaType = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_MediaType.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_MediaType.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_MediaType.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_PhysicalDisk_MediaType.setAttributeValueMapping "0", "Magnetic Drive"
Dell_Server_Storage_Controller_PhysicalDisk_MediaType.setAttributeValueMapping "1", "Solid State Drive"
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_MediaType)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("MediaType")

Dim Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor
Set Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setAttributeValueMapping "0", "Unknown"
Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setAttributeValueMapping "1", "1.8 inch"
Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setAttributeValueMapping "2", "2.5 inch"
Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor.setAttributeValueMapping "3", "3.5 inch"
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_DriveFormFactor)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("DriveFormFactor")

Dim Dell_Server_Storage_Controller_PhysicalDisk_SecurityState
Set Dell_Server_Storage_Controller_PhysicalDisk_SecurityState = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setAttributeValueMappingObject()

Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setAttributeValueMapping "0", "Not Capable"
Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setAttributeValueMapping "1", "Secured"
Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setAttributeValueMapping "2", "Locked"
Dell_Server_Storage_Controller_PhysicalDisk_SecurityState.setAttributeValueMapping "3", "Foreign"
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_SecurityState)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("SecurityState")

Dim Dell_Server_Storage_Controller_PhysicalDisk_SlotNumber
Set Dell_Server_Storage_Controller_PhysicalDisk_SlotNumber = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_SlotNumber.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_SlotNumber.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_SlotNumber.setProtocolAttributeName("Slot")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_SlotNumber)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("SlotNumber")

Dim Dell_Server_Storage_Controller_PhysicalDisk_PartNumber
Set Dell_Server_Storage_Controller_PhysicalDisk_PartNumber = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_PartNumber.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_PartNumber.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_PartNumber.setProtocolAttributeName("PPID")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_PartNumber)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("PartNumber")

Dim Dell_Server_Storage_Controller_PhysicalDisk_SupportedEncryptionTypes
Set Dell_Server_Storage_Controller_PhysicalDisk_SupportedEncryptionTypes = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_SupportedEncryptionTypes.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_SupportedEncryptionTypes.setClassName("cimv2/DCIM_PhysicalDiskView")
Dell_Server_Storage_Controller_PhysicalDisk_SupportedEncryptionTypes.setProtocolAttributeName("SupportedEncryptionTypes")
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_SupportedEncryptionTypes)
Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.setAttributeDictionary("SupportedEncryptionTypes")

Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.PhysicalDisk",Dell_Server_Storage_Controller_InternalPhysicalDisk_Obj

'Adding Profile DCIM_RAIDEnumeration for getting NegotiatedSpeed Value
Dim Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj
Set Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj = New ProfileInformation
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setProfileName("Dell.Server.Storage.Controller.InternalPhysicalDisk.RAIDEnumeration")

Dim Dell_Server_Storage_Controller_PhysicalDisk_RAIDNegotiatedSpeed
Set Dell_Server_Storage_Controller_PhysicalDisk_RAIDNegotiatedSpeed = New AttributeProperty


Dell_Server_Storage_Controller_PhysicalDisk_RAIDNegotiatedSpeed.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_RAIDNegotiatedSpeed.setClassName("cimv2/DCIM_RAIDEnumeration")
Dell_Server_Storage_Controller_PhysicalDisk_RAIDNegotiatedSpeed.setProtocolAttributeName("AttributeName")
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_RAIDNegotiatedSpeed)
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setAttributeDictionary("RaidEnumeration_AttributeName")

Dim Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_val
Set Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_val = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_val.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_val.setClassName("cimv2/DCIM_RAIDEnumeration")
Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_val.setProtocolAttributeName("CurrentValue")
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_val)
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setAttributeDictionary("RaidEnumeration_CurrentValue")

Dim Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_FQDD
Set Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_FQDD = New AttributeProperty

Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_FQDD.setProtocol("wsman")
Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_FQDD.setClassName("cimv2/DCIM_RAIDEnumeration")
Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_FQDD.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_PhysicalDisk_NegotiatedSpeed_FQDD)
Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.setAttributeDictionary("RaidEnumeration_FQDD")

Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.InternalPhysicalDisk.RAIDEnumeration",Dell_Server_Storage_Controller_InternalPhysicalDisk_RAIDEnumeration_Obj
'EndRAIDEnumeration


Dim Dell_Server_Storage_Controller_Enclosure_Obj
Set Dell_Server_Storage_Controller_Enclosure_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure")
Dim Dell_Server_Storage_Controller_Enclosure_ID
Set Dell_Server_Storage_Controller_Enclosure_ID = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_ID.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_ID)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_Connector
Set Dell_Server_Storage_Controller_Enclosure_Connector = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_Connector.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_Connector.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_Connector)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("Connector")

Dim Dell_Server_Storage_Controller_Enclosure_FirmwareVersion
Set Dell_Server_Storage_Controller_Enclosure_FirmwareVersion = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_FirmwareVersion.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_FirmwareVersion.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_FirmwareVersion.setProtocolAttributeName("Version")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_FirmwareVersion)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("FirmwareVersion")

Dim Dell_Server_Storage_Controller_Enclosure_ProductName
Set Dell_Server_Storage_Controller_Enclosure_ProductName = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_ProductName.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_ProductName.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_ProductName)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("ProductName")

Dim Dell_Server_Storage_Controller_Enclosure_ServiceTag
Set Dell_Server_Storage_Controller_Enclosure_ServiceTag = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_ServiceTag.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_ServiceTag.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_ServiceTag)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("ServiceTag")

Dim Dell_Server_Storage_Controller_Enclosure_AssetTag
Set Dell_Server_Storage_Controller_Enclosure_AssetTag = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_AssetTag.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_AssetTag.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_AssetTag)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("AssetTag")

Dim Dell_Server_Storage_Controller_Enclosure_WiredOrder
Set Dell_Server_Storage_Controller_Enclosure_WiredOrder = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_WiredOrder.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_WiredOrder.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_WiredOrder)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("WiredOrder")

Dim Dell_Server_Storage_Controller_Enclosure_TargetID
Set Dell_Server_Storage_Controller_Enclosure_TargetID = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_TargetID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_TargetID.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_TargetID)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("TargetID")

Dim Dell_Server_Storage_Controller_Enclosure_Configuration
Set Dell_Server_Storage_Controller_Enclosure_Configuration = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_Configuration.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_Configuration.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_Configuration)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("Configuration")

Dim Dell_Server_Storage_Controller_Enclosure_AssetName
Set Dell_Server_Storage_Controller_Enclosure_AssetName = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_AssetName.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_AssetName.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_AssetName)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("AssetName")

Dim Dell_Server_Storage_Controller_Enclosure_SASAddress
Set Dell_Server_Storage_Controller_Enclosure_SASAddress = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_SASAddress.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_SASAddress.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_SASAddress)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("SASAddress")

Dim Dell_Server_Storage_Controller_Enclosure_BackplanePartNum
Set Dell_Server_Storage_Controller_Enclosure_BackplanePartNum = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_BackplanePartNum.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_BackplanePartNum.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_BackplanePartNum)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("BackplanePartNum")

Dim Dell_Server_Storage_Controller_Enclosure_SplitbusPartNum
Set Dell_Server_Storage_Controller_Enclosure_SplitbusPartNum = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_SplitbusPartNum.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_SplitbusPartNum.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_SplitbusPartNum)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("SplitbusPartNum")

Dim Dell_Server_Storage_Controller_Enclosure_EnclosurePartNum
Set Dell_Server_Storage_Controller_Enclosure_EnclosurePartNum = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_EnclosurePartNum.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_EnclosurePartNum.setClassName("cimv2/DCIM_EnclosureView")
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_EnclosurePartNum)
Dell_Server_Storage_Controller_Enclosure_Obj.setAttributeDictionary("EnclosurePartNum")

Dell_Server_Storage_Controller_Enclosure_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure",Dell_Server_Storage_Controller_Enclosure_Obj

Dim Dell_Server_Storage_Controller_Enclosure_EMM_Obj
Set Dell_Server_Storage_Controller_Enclosure_EMM_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.EMM")
Dim Dell_Server_Storage_Controller_Enclosure_EMM_ID
Set Dell_Server_Storage_Controller_Enclosure_EMM_ID = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_EMM_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_EMM_ID.setClassName("cimv2/DCIM_EnclosureEMMView")
Dell_Server_Storage_Controller_Enclosure_EMM_ID.setProtocolAttributeName("InstanceID")
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_EMM_ID)
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_EMM_PartNumber
Set Dell_Server_Storage_Controller_Enclosure_EMM_PartNumber = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_EMM_PartNumber.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_EMM_PartNumber.setClassName("cimv2/DCIM_EnclosureEMMView")
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_EMM_PartNumber)
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributeDictionary("PartNumber")

Dim Dell_Server_Storage_Controller_Enclosure_EMM_FirmwareVersion
Set Dell_Server_Storage_Controller_Enclosure_EMM_FirmwareVersion = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_EMM_FirmwareVersion.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_EMM_FirmwareVersion.setClassName("cimv2/DCIM_EnclosureEMMView")
Dell_Server_Storage_Controller_Enclosure_EMM_FirmwareVersion.setProtocolAttributeName("Revision")
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_EMM_FirmwareVersion)
Dell_Server_Storage_Controller_Enclosure_EMM_Obj.setAttributeDictionary("FirmwareVersion")

Dell_Server_Storage_Controller_Enclosure_EMM_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.EMM",Dell_Server_Storage_Controller_Enclosure_EMM_Obj

Dim Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj
Set Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.FanSensor")
Dim Dell_Server_Storage_Controller_Enclosure_FanSensor_ID
Set Dell_Server_Storage_Controller_Enclosure_FanSensor_ID = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_FanSensor_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_FanSensor_ID.setClassName("cimv2/DCIM_EnclosureFanSensor")
Dell_Server_Storage_Controller_Enclosure_FanSensor_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_FanSensor_ID)
Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.setAttributeDictionary("ID")

Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.FanSensor",Dell_Server_Storage_Controller_Enclosure_FanSensor_Obj

Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.PowerSupply")
Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID.setClassName("cimv2/DCIM_EnclosurePSUView")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_PowerSupply_ID)
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_Controller_Enclosure_PowerSupply_PartNumber
Set Dell_Server_Storage_Controller_Enclosure_PowerSupply_PartNumber = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_PowerSupply_PartNumber.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_PartNumber.setClassName("cimv2/DCIM_EnclosurePSUView")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_PartNumber.setProtocolAttributeName("PartNumber")
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_PowerSupply_PartNumber)
Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.setAttributeDictionary("PartNumber")

Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.PowerSupply",Dell_Server_Storage_Controller_Enclosure_PowerSupply_Obj

Dim Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj
Set Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj = New ProfileInformation
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setProfileName("Dell.Server.Storage.Controller.Enclosure.TempSensor")
Dim Dell_Server_Storage_Controller_Enclosure_TempSensor_ID
Set Dell_Server_Storage_Controller_Enclosure_TempSensor_ID = New AttributeProperty

Dell_Server_Storage_Controller_Enclosure_TempSensor_ID.setProtocol("wsman")
Dell_Server_Storage_Controller_Enclosure_TempSensor_ID.setClassName("cimv2/DCIM_EnclosureTemperatureSensor")
Dell_Server_Storage_Controller_Enclosure_TempSensor_ID.setProtocolAttributeName("FQDD")
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setAttributePropertyObject(Dell_Server_Storage_Controller_Enclosure_TempSensor_ID)
Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.setAttributeDictionary("ID")

Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Controller.Enclosure.TempSensor",Dell_Server_Storage_Controller_Enclosure_TempSensor_Obj

If ishostNIC = "True" Then
Dim Dell_Server_HostNIC_Obj
Set Dell_Server_HostNIC_Obj = New ProfileInformation
Dell_Server_HostNIC_Obj.setProfileName("Dell.Server.HostNIC")

Dim Dell_Server_HostNIC_InstanceID
Set Dell_Server_HostNIC_InstanceID = New AttributeProperty
Dell_Server_HostNIC_InstanceID.setProtocol("wsman")
Dell_Server_HostNIC_InstanceID.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_InstanceID)
Dell_Server_HostNIC_Obj.setAttributeDictionary("InstanceID")

Dim Dell_Server_HostNIC_DisplayName
Set Dell_Server_HostNIC_DisplayName = New AttributeProperty
Dell_Server_HostNIC_DisplayName.setProtocol("wsman")
Dell_Server_HostNIC_DisplayName.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_DisplayName.setProtocolAttributeName("Name")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_DisplayName)
Dell_Server_HostNIC_Obj.setAttributeDictionary("displayName")

Dim Dell_Server_HostNIC_MACAddress
Set Dell_Server_HostNIC_MACAddress = New AttributeProperty
Dell_Server_HostNIC_MACAddress.setProtocol("wsman")
Dell_Server_HostNIC_MACAddress.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_MACAddress.setProtocolAttributeName("MACAddr")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_MACAddress)
Dell_Server_HostNIC_Obj.setAttributeDictionary("MACAddr")

Dim Dell_Server_HostNIC_DeviceDescription
Set Dell_Server_HostNIC_DeviceDescription = New AttributeProperty
Dell_Server_HostNIC_DeviceDescription.setProtocol("wsman")
Dell_Server_HostNIC_DeviceDescription.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_DeviceDescription.setProtocolAttributeName("DeviceDescription")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_DeviceDescription)
Dell_Server_HostNIC_Obj.setAttributeDictionary("DeviceDescription")

Dim Dell_Server_HostNIC_IPv4Address
Set Dell_Server_HostNIC_IPv4Address = New AttributeProperty
Dell_Server_HostNIC_IPv4Address.setProtocol("wsman")
Dell_Server_HostNIC_IPv4Address.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_IPv4Address.setProtocolAttributeName("IPv4Address")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_IPv4Address)
Dell_Server_HostNIC_Obj.setAttributeDictionary("IPv4Address")

Dim Dell_Server_HostNIC_IPv4SubnetMask
Set Dell_Server_HostNIC_IPv4SubnetMask = New AttributeProperty
Dell_Server_HostNIC_IPv4SubnetMask.setProtocol("wsman")
Dell_Server_HostNIC_IPv4SubnetMask.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_IPv4SubnetMask.setProtocolAttributeName("IPv4SubnetMask")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_IPv4SubnetMask)
Dell_Server_HostNIC_Obj.setAttributeDictionary("IPv4SubnetMask")


Dim Dell_Server_HostNIC_IPv6Address
Set Dell_Server_HostNIC_IPv6Address = New AttributeProperty
Dell_Server_HostNIC_IPv6Address.setProtocol("wsman")
Dell_Server_HostNIC_IPv6Address.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_IPv6Address.setProtocolAttributeName("IPv6Address")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_IPv6Address)
Dell_Server_HostNIC_Obj.setAttributeDictionary("IPv6Address")

Dim Dell_Server_HostNIC_IPv6Prefix
Set Dell_Server_HostNIC_IPv6Prefix = New AttributeProperty
Dell_Server_HostNIC_IPv6Prefix.setProtocol("wsman")
Dell_Server_HostNIC_IPv6Prefix.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_IPv6Prefix.setProtocolAttributeName("IPv6PrefixLength")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_IPv6Prefix)
Dell_Server_HostNIC_Obj.setAttributeDictionary("IPv6PrefixLength")

Dim Dell_Server_HostNIC_IPv6Gateway
Set Dell_Server_HostNIC_IPv6Gateway = New AttributeProperty
Dell_Server_HostNIC_IPv6Gateway.setProtocol("wsman")
Dell_Server_HostNIC_IPv6Gateway.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_IPv6Gateway.setProtocolAttributeName("IPv6Gateway")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_IPv6Gateway)
Dell_Server_HostNIC_Obj.setAttributeDictionary("IPv6Gateway")

Dim Dell_Server_HostNIC_IPv4Gateway
Set Dell_Server_HostNIC_IPv4Gateway = New AttributeProperty
Dell_Server_HostNIC_IPv4Gateway.setProtocol("wsman")
Dell_Server_HostNIC_IPv4Gateway.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_IPv4Gateway.setProtocolAttributeName("IPv4Gateway")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_IPv4Gateway)
Dell_Server_HostNIC_Obj.setAttributeDictionary("IPv4Gateway")

Dim Dell_Server_HostNIC_InterfaceType
Set Dell_Server_HostNIC_InterfaceType = New AttributeProperty
Dell_Server_HostNIC_InterfaceType.setProtocol("wsman")
Dell_Server_HostNIC_InterfaceType.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_InterfaceType.setProtocolAttributeName("Type")
Dell_Server_HostNIC_InterfaceType.setAttributeValueMappingObject()
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "0", "Other"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "1", "Ethernet"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "2", "Tokenring"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "3", "Point-To-Point"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "4", "Loopback"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "5", "ATM"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "6", "IEEE80211 Wireless"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "7", "Tunnel"
Dell_Server_HostNIC_InterfaceType.setAttributeValueMapping "8", "IEEE1394 Fireware"
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_InterfaceType)
Dell_Server_HostNIC_Obj.setAttributeDictionary("Type")

Dim Dell_Server_HostNIC_DeviceFQDD
Set Dell_Server_HostNIC_DeviceFQDD = New AttributeProperty
Dell_Server_HostNIC_DeviceFQDD.setProtocol("wsman")
Dell_Server_HostNIC_DeviceFQDD.setClassName("cimv2/DCIM_HostNetworkInterfaceView")
Dell_Server_HostNIC_DeviceFQDD.setProtocolAttributeName("DeviceFQDD")
Dell_Server_HostNIC_Obj.setAttributePropertyObject(Dell_Server_HostNIC_DeviceFQDD)
Dell_Server_HostNIC_Obj.setAttributeDictionary("DeviceFQDD")

Dell_Server_HostNIC_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.HostNIC",Dell_Server_HostNIC_Obj
End If
log.MOMDebugLog 1, "populateprofiledictionary isPCIeSSDExtender check " &amp; isPCIeSSDExtender
if isPCIeSSDExtender = "True" Then
Dim Dell_Server_Extender_Obj
Set Dell_Server_Extender_Obj = New ProfileInformation
Dell_Server_Extender_Obj.setProfileName("Dell.Server.Storage.Extender")

Dim Dell_Server_Storage_Extender_InstanceID
Set Dell_Server_Storage_Extender_InstanceID = New AttributeProperty
Dell_Server_Storage_Extender_InstanceID.setProtocol("wsman")
Dell_Server_Storage_Extender_InstanceID.setClassName("cimv2/DCIM_PCIeSSDExtenderView")
Dell_Server_Storage_Extender_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_Extender_Obj.setAttributePropertyObject(Dell_Server_Storage_Extender_InstanceID)
Dell_Server_Extender_Obj.setAttributeDictionary("ID")


Dell_Server_Extender_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender",Dell_Server_Extender_Obj

End If
If isPCIeSSDBackPlane = "True" Then
Dim Dell_Server_Extender_BackPlane_Obj
Set Dell_Server_Extender_BackPlane_Obj = New ProfileInformation
Dell_Server_Extender_BackPlane_Obj.setProfileName("Dell.Server.Storage.Extender.BackPlane")

Dim Dell_Server_Storage_BackPlane_InstanceID
Set Dell_Server_Storage_BackPlane_InstanceID = New AttributeProperty
Dell_Server_Storage_BackPlane_InstanceID.setProtocol("wsman")
Dell_Server_Storage_BackPlane_InstanceID.setClassName("cimv2/DCIM_PCIeSSDBackPlaneView")
Dell_Server_Storage_BackPlane_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_Extender_BackPlane_Obj.setAttributePropertyObject(Dell_Server_Storage_BackPlane_InstanceID)
Dell_Server_Extender_BackPlane_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_BackPlane_DisplayName
Set Dell_Server_Storage_BackPlane_DisplayName = New AttributeProperty
Dell_Server_Storage_BackPlane_DisplayName.setProtocol("wsman")
Dell_Server_Storage_BackPlane_DisplayName.setClassName("cimv2/DCIM_PCIeSSDBackPlaneView")
Dell_Server_Storage_BackPlane_DisplayName.setProtocolAttributeName("ProductName")
Dell_Server_Extender_BackPlane_Obj.setAttributePropertyObject(Dell_Server_Storage_BackPlane_DisplayName)
Dell_Server_Extender_BackPlane_Obj.setAttributeDictionary("DisplayName")

Dim Dell_Server_Storage_BackPlane_SlotCount
Set Dell_Server_Storage_BackPlane_SlotCount = New AttributeProperty
Dell_Server_Storage_BackPlane_SlotCount.setProtocol("wsman")
Dell_Server_Storage_BackPlane_SlotCount.setClassName("cimv2/DCIM_PCIeSSDBackPlaneView")
Dell_Server_Storage_BackPlane_SlotCount.setProtocolAttributeName("SlotCount")
Dell_Server_Extender_BackPlane_Obj.setAttributePropertyObject(Dell_Server_Storage_BackPlane_SlotCount)
Dell_Server_Extender_BackPlane_Obj.setAttributeDictionary("SlotCount")

Dim Dell_Server_Storage_BackPlane_FirmwareVersion
Set Dell_Server_Storage_BackPlane_FirmwareVersion = New AttributeProperty
Dell_Server_Storage_BackPlane_FirmwareVersion.setProtocol("wsman")
Dell_Server_Storage_BackPlane_FirmwareVersion.setClassName("cimv2/DCIM_PCIeSSDBackPlaneView")
Dell_Server_Storage_BackPlane_FirmwareVersion.setProtocolAttributeName("FirmwareVersion")
Dell_Server_Extender_BackPlane_Obj.setAttributePropertyObject(Dell_Server_Storage_BackPlane_FirmwareVersion)
Dell_Server_Extender_BackPlane_Obj.setAttributeDictionary("FirmwareVersion")

Dell_Server_Extender_BackPlane_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender.BackPlane",Dell_Server_Extender_BackPlane_Obj
End If
If isPCIeSSDPhysicalDisk = "True" Then
Dim Dell_Server_Extender_PD_Obj
Set Dell_Server_Extender_PD_Obj = New ProfileInformation
Dell_Server_Extender_PD_Obj.setProfileName("Dell.Server.Storage.Extender.PhysicalDisk")

Dim Dell_Server_Storage_PD_InstanceID
Set Dell_Server_Storage_PD_InstanceID = New AttributeProperty
Dell_Server_Storage_PD_InstanceID.setProtocol("wsman")
Dell_Server_Storage_PD_InstanceID.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_InstanceID.setProtocolAttributeName("InstanceID")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_InstanceID)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("ID")

Dim Dell_Server_Storage_PD_Size
Set Dell_Server_Storage_PD_Size = New AttributeProperty
Dell_Server_Storage_PD_Size.setProtocol("wsman")
Dell_Server_Storage_PD_Size.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_Size.setProtocolAttributeName("SizeInBytes")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_Size)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("Size")

Dim Dell_Server_Storage_PD_Model
Set Dell_Server_Storage_PD_Model = New AttributeProperty
Dell_Server_Storage_PD_Model.setProtocol("wsman")
Dell_Server_Storage_PD_Model.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_Model.setProtocolAttributeName("Model")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_Model)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("Model")

Dim Dell_Server_Storage_PD_BusProtocol
Set Dell_Server_Storage_PD_BusProtocol = New AttributeProperty

Dell_Server_Storage_PD_BusProtocol.setProtocol("wsman")
Dell_Server_Storage_PD_BusProtocol.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMappingObject()
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "0", "Unknown"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "1", "SCSI"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "2", "PATA"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "3", "FIBRE"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "4", "USB"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "5", "SATA"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "6", "SAS"
Dell_Server_Storage_PD_BusProtocol.setAttributeValueMapping "7", "PCIe"
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_BusProtocol)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("BusProtocol")

Dim Dell_Server_Storage_PD_DeviceProtocol
Set Dell_Server_Storage_PD_DeviceProtocol = New AttributeProperty
Dell_Server_Storage_PD_DeviceProtocol.setProtocol("wsman")
Dell_Server_Storage_PD_DeviceProtocol.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_DeviceProtocol.setProtocolAttributeName("DeviceProtocol")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_DeviceProtocol)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("DeviceProtocol")

Dim Dell_Server_Storage_PD_DriverVersion
Set Dell_Server_Storage_PD_DriverVersion = New AttributeProperty
Dell_Server_Storage_PD_DriverVersion.setProtocol("wsman")
Dell_Server_Storage_PD_DriverVersion.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_DriverVersion.setProtocolAttributeName("DriverVersion")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_DriverVersion)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("DriverVersion")

Dim Dell_Server_Storage_PD_MediaType
Set Dell_Server_Storage_PD_MediaType = New AttributeProperty
Dell_Server_Storage_PD_MediaType.setProtocol("wsman")
Dell_Server_Storage_PD_MediaType.setClassName("cimv2/DCIM_PCIeSSDView")
'Dell_Server_Storage_PD_MediaType.setProtocolAttributeName("MediaType")
Dell_Server_Storage_PD_MediaType.setAttributeValueMappingObject()
Dell_Server_Storage_PD_MediaType.setAttributeValueMapping "0", "Magnetic Drive"
Dell_Server_Storage_PD_MediaType.setAttributeValueMapping "1", "Solid State Drive"
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_MediaType)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("MediaType")

Dim Dell_Server_Storage_PD_Manufacturer
Set Dell_Server_Storage_PD_Manufacturer = New AttributeProperty
Dell_Server_Storage_PD_Manufacturer.setProtocol("wsman")
Dell_Server_Storage_PD_Manufacturer.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_Manufacturer.setProtocolAttributeName("Manufacturer")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_Manufacturer)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("Manufacturer")

Dim Dell_Server_Storage_PD_ProductID
Set Dell_Server_Storage_PD_ProductID = New AttributeProperty
Dell_Server_Storage_PD_ProductID.setProtocol("wsman")
Dell_Server_Storage_PD_ProductID.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_ProductID.setProtocolAttributeName("ProductID")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_ProductID)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("ProductID")

Dim Dell_Server_Storage_PD_SerialNumber
Set Dell_Server_Storage_PD_SerialNumber = New AttributeProperty
Dell_Server_Storage_PD_SerialNumber.setProtocol("wsman")
Dell_Server_Storage_PD_SerialNumber.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_SerialNumber.setProtocolAttributeName("SerialNumber")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_SerialNumber)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("SerialNumber")

Dim Dell_Server_Storage_PD_DriveFormFactor
Set Dell_Server_Storage_PD_DriveFormFactor = New AttributeProperty
Dell_Server_Storage_PD_DriveFormFactor.setProtocol("wsman")
Dell_Server_Storage_PD_DriveFormFactor.setClassName("cimv2/DCIM_PCIeSSDView")
'Dell_Server_Storage_PD_DriveFormFactor.setProtocolAttributeName("DriveFormFactor")
Dell_Server_Storage_PD_DriveFormFactor.setAttributeValueMappingObject()
Dell_Server_Storage_PD_DriveFormFactor.setAttributeValueMapping "0", "Unknown"
Dell_Server_Storage_PD_DriveFormFactor.setAttributeValueMapping "1", "1.8 inch"
Dell_Server_Storage_PD_DriveFormFactor.setAttributeValueMapping "2", "2.5 inch"
Dell_Server_Storage_PD_DriveFormFactor.setAttributeValueMapping "3", "3.5 inch"
Dell_Server_Storage_PD_DriveFormFactor.setAttributeValueMapping "4", "2.5 inch Add-in card"
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_DriveFormFactor)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("DriveFormFactor")

Dim Dell_Server_Storage_PD_CapableSpeed
Set Dell_Server_Storage_PD_CapableSpeed = New AttributeProperty
Dell_Server_Storage_PD_CapableSpeed.setProtocol("wsman")
Dell_Server_Storage_PD_CapableSpeed.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_CapableSpeed.setProtocolAttributeName("MaxCapableSpeed")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_CapableSpeed)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("CapableSpeed")

Dim Dell_Server_Storage_PD_FirmwareVersion
Set Dell_Server_Storage_PD_FirmwareVersion = New AttributeProperty
Dell_Server_Storage_PD_FirmwareVersion.setProtocol("wsman")
Dell_Server_Storage_PD_FirmwareVersion.setClassName("cimv2/DCIM_PCIeSSDView")
Dell_Server_Storage_PD_FirmwareVersion.setProtocolAttributeName("Revision")
Dell_Server_Extender_PD_Obj.setAttributePropertyObject(Dell_Server_Storage_PD_FirmwareVersion)
Dell_Server_Extender_PD_Obj.setAttributeDictionary("FirmwareVersion")

Dell_Server_Extender_PD_Obj.populateProfileClassNameList()
profileInfoDict.Add "Dell.Server.Storage.Extender.PhysicalDisk",Dell_Server_Extender_PD_Obj
End If
End Function

Public Function destroyCOMObjects()
profileInfoDict.RemoveAll
set profileInfoDict = Nothing
End Function

End Class
'#################################################################################################################################
</ProfileDictionaryScript>
<ComponentInstanceFactoryScript>
'#################################################################################################################################
'**************************************************************************************************
'Component Instance Classes
'**************************************************************************************************
Class DellMonolithicServerInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim OMSAUrl
if compObject.getAttributevalue("HostName") = compObject.getAttributevalue("RemoteAccessIP") Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.MonolithicServer']$")
OMSAUrl = "Not Applicable"
Else
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.MonolithicServer.WithOS']$")
OMSAUrl = "https://" &amp; compObject.getAttributevalue("HostName") &amp; ":1311/"
End if
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("TotalMemory") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("TotalMemory"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("TotalMemory") &amp; " MB"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1048576 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
End If
Else
memSizeStr = "Not Available"
End If

Dim sysmemSizeStr
Dim sysmemSizeInt
If compObject.getAttributevalue("SysMemMaxCapacitySize") &lt;&gt; "Not Available" Then
sysmemSizeInt = CDbl(compObject.getAttributevalue("SysMemMaxCapacitySize"))
If sysmemSizeInt &lt; 1024 Then
sysmemSizeStr = compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; " MB"
ElseIf sysmemSizeInt &gt;= 1024 And sysmemSizeInt &lt; 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1024
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " GB"
ElseIf sysmemSizeInt &gt;= 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1048576
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " TB"
End If
Else
sysmemSizeStr = "Not Available"
End If

log.MOMDebugLog 1, "SysMemMaxCapacitySize" &amp;compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; sysmemSizeStr

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostName$",compObject.getAttributevalue("HostName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerIPAddress$",compObject.getAttributevalue("ServerIPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAURL$",OMSAUrl)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RACURL$",compObject.getAttributevalue("RACURL"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteAccessIP$",compObject.getAttributevalue("RemoteAccessIP"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AssetTag$",compObject.getAttributevalue("AssetTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServiceTag$",compObject.getAttributevalue("ServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/NodeID$",compObject.getAttributevalue("NodeID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ExpressServiceCode$",compObject.getAttributevalue("ExpressServiceCode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerGeneration$",compObject.getAttributevalue("ServerGeneration"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ChassisServiceTag$",compObject.getAttributevalue("ChassisServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BIOSVersion$",compObject.getAttributevalue("BIOSVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/TotalMemory$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BoardPartNumber$",compObject.getAttributevalue("BoardPartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystem$",compObject.getAttributevalue("OperatingSystem"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystemVersion$",compObject.getAttributevalue("OperatingSystemVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAVersion$",compObject.getAttributevalue("OMSAVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL1$",compObject.getAttributevalue("AddOMSAURL1"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL2$",compObject.getAttributevalue("AddOMSAURL2"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL3$",compObject.getAttributevalue("AddOMSAURL3"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL4$",compObject.getAttributevalue("AddOMSAURL4"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostedMgmtServer$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteSettings$", compObject.getAttributevalue("RemoteSettings"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/SystemLockdown$", compObject.getAttributevalue("SystemLockdown"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/MaxMemoryCapacity$", sysmemSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.MonolithicServer", new DellMonolithicServerInstance

Class DellRackWorkStationInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim OMSAUrl
if Instr(Lcase(compObject.getAttributevalue("Model")), "precision rack") Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.RackWorkstation']$")
OMSAUrl = "Not Applicable"
Else
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.RackWorkstation.WithOs']$")
OMSAUrl = "https://" &amp; compObject.getAttributevalue("HostName") &amp; ":1311/"
End If

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("TotalMemory") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("TotalMemory"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("TotalMemory") &amp; " MB"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1048576 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
End If
Else
memSizeStr = "Not Available"
End If

Dim sysmemSizeStr
Dim sysmemSizeInt
If compObject.getAttributevalue("SysMemMaxCapacitySize") &lt;&gt; "Not Available" Then
sysmemSizeInt = CDbl(compObject.getAttributevalue("SysMemMaxCapacitySize"))
If sysmemSizeInt &lt; 1024 Then
sysmemSizeStr = compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; " MB"
ElseIf sysmemSizeInt &gt;= 1024 And sysmemSizeInt &lt; 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1024
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " GB"
ElseIf sysmemSizeInt &gt;= 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1048576
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " TB"
End If
Else
sysmemSizeStr = "Not Available"
End If

log.MOMDebugLog 1, "SysMemMaxCapacitySize" &amp;compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; sysmemSizeStr

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostName$",compObject.getAttributevalue("HostName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerIPAddress$",compObject.getAttributevalue("ServerIPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAURL$",OMSAUrl)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RACURL$",compObject.getAttributevalue("RACURL"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteAccessIP$",compObject.getAttributevalue("RemoteAccessIP"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AssetTag$",compObject.getAttributevalue("AssetTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServiceTag$",compObject.getAttributevalue("ServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/NodeID$",compObject.getAttributevalue("NodeID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ExpressServiceCode$",compObject.getAttributevalue("ExpressServiceCode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerGeneration$",compObject.getAttributevalue("ServerGeneration"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ChassisServiceTag$",compObject.getAttributevalue("ChassisServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BIOSVersion$",compObject.getAttributevalue("BIOSVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/TotalMemory$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BoardPartNumber$",compObject.getAttributevalue("BoardPartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystem$",compObject.getAttributevalue("OperatingSystem"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystemVersion$",compObject.getAttributevalue("OperatingSystemVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAVersion$",compObject.getAttributevalue("OMSAVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL1$",compObject.getAttributevalue("AddOMSAURL1"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL2$",compObject.getAttributevalue("AddOMSAURL2"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL3$",compObject.getAttributevalue("AddOMSAURL3"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL4$",compObject.getAttributevalue("AddOMSAURL4"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostedMgmtServer$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteSettings$", compObject.getAttributevalue("RemoteSettings"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/SystemLockdown$", compObject.getAttributevalue("SystemLockdown"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/MaxMemoryCapacity$", sysmemSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.RackWorkstation", new DellRackWorkStationInstance

Class DellModularBladeInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim OMSAUrl
if compObject.getAttributevalue("HostName") = compObject.getAttributevalue("RemoteAccessIP") Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.ModularBlade']$")
OMSAUrl = "Not Applicable"
Else
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.ModularBlade.WithOS']$")
OMSAUrl = "https://" &amp; compObject.getAttributevalue("HostName") &amp; ":1311/"
End if
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("TotalMemory") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("TotalMemory"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("TotalMemory") &amp; " MB"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1048576 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
End If
Else
memSizeStr = "Not Available"
End If

Dim sysmemSizeStr
Dim sysmemSizeInt
If compObject.getAttributevalue("SysMemMaxCapacitySize") &lt;&gt; "Not Available" Then
sysmemSizeInt = CDbl(compObject.getAttributevalue("SysMemMaxCapacitySize"))
If sysmemSizeInt &lt; 1024 Then
sysmemSizeStr = compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; " MB"
ElseIf sysmemSizeInt &gt;= 1024 And sysmemSizeInt &lt; 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1024
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " GB"
ElseIf sysmemSizeInt &gt;= 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1048576
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " TB"
End If
Else
sysmemSizeStr = "Not Available"
End If

log.MOMDebugLog 1, "SysMemMaxCapacitySize" &amp;compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; sysmemSizeStr

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostName$",compObject.getAttributevalue("HostName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerIPAddress$",compObject.getAttributevalue("ServerIPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAURL$",OMSAUrl)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RACURL$",compObject.getAttributevalue("RACURL"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteAccessIP$",compObject.getAttributevalue("RemoteAccessIP"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AssetTag$",compObject.getAttributevalue("AssetTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServiceTag$",compObject.getAttributevalue("ServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/NodeID$",compObject.getAttributevalue("NodeID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ExpressServiceCode$",compObject.getAttributevalue("ExpressServiceCode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerGeneration$",compObject.getAttributevalue("ServerGeneration"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ChassisServiceTag$",compObject.getAttributevalue("ChassisServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BIOSVersion$",compObject.getAttributevalue("BIOSVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/TotalMemory$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BoardPartNumber$",compObject.getAttributevalue("BoardPartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystem$",compObject.getAttributevalue("OperatingSystem"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystemVersion$",compObject.getAttributevalue("OperatingSystemVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAVersion$",compObject.getAttributevalue("OMSAVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL1$",compObject.getAttributevalue("AddOMSAURL1"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL2$",compObject.getAttributevalue("AddOMSAURL2"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL3$",compObject.getAttributevalue("AddOMSAURL3"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL4$",compObject.getAttributevalue("AddOMSAURL4"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostedMgmtServer$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteSettings$", compObject.getAttributevalue("RemoteSettings"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/SystemLockdown$", compObject.getAttributevalue("SystemLockdown"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/MaxMemoryCapacity$", sysmemSizeStr)

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.ModularBlade", new DellModularBladeInstance

Class DellSledInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim OMSAUrl
if compObject.getAttributevalue("HostName") = compObject.getAttributevalue("RemoteAccessIP") Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Sled.WithoutOS']$")
OMSAUrl = "Not Applicable"
Else
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Sled.WithOS']$")
OMSAUrl = "https://" &amp; compObject.getAttributevalue("HostName") &amp; ":1311/"
End if
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("TotalMemory") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("TotalMemory"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("TotalMemory") &amp; " MB"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1048576 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
End If
Else
memSizeStr = "Not Available"
End If

Dim sysmemSizeStr
Dim sysmemSizeInt
If compObject.getAttributevalue("SysMemMaxCapacitySize") &lt;&gt; "Not Available" Then
sysmemSizeInt = CDbl(compObject.getAttributevalue("SysMemMaxCapacitySize"))
If sysmemSizeInt &lt; 1024 Then
sysmemSizeStr = compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; " MB"
ElseIf sysmemSizeInt &gt;= 1024 And sysmemSizeInt &lt; 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1024
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " GB"
ElseIf sysmemSizeInt &gt;= 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1048576
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " TB"
End If
Else
sysmemSizeStr = "Not Available"
End If

log.MOMDebugLog 1, "SysMemMaxCapacitySize" &amp;compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; sysmemSizeStr

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostName$",compObject.getAttributevalue("HostName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerIPAddress$",compObject.getAttributevalue("ServerIPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAURL$",OMSAUrl)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RACURL$",compObject.getAttributevalue("RACURL"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteAccessIP$",compObject.getAttributevalue("RemoteAccessIP"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AssetTag$",compObject.getAttributevalue("AssetTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServiceTag$",compObject.getAttributevalue("ServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/NodeID$",compObject.getAttributevalue("NodeID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ExpressServiceCode$",compObject.getAttributevalue("ExpressServiceCode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerGeneration$",compObject.getAttributevalue("ServerGeneration"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ChassisServiceTag$",compObject.getAttributevalue("ChassisServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BIOSVersion$",compObject.getAttributevalue("BIOSVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/TotalMemory$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BoardPartNumber$",compObject.getAttributevalue("BoardPartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystem$",compObject.getAttributevalue("OperatingSystem"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystemVersion$",compObject.getAttributevalue("OperatingSystemVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAVersion$",compObject.getAttributevalue("OMSAVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL1$",compObject.getAttributevalue("AddOMSAURL1"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL2$",compObject.getAttributevalue("AddOMSAURL2"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL3$",compObject.getAttributevalue("AddOMSAURL3"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL4$",compObject.getAttributevalue("AddOMSAURL4"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostedMgmtServer$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteSettings$", compObject.getAttributevalue("RemoteSettings"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/SystemLockdown$", compObject.getAttributevalue("SystemLockdown"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/MaxMemoryCapacity$", sysmemSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Sled.WithoutOS", new DellSledInstance


Class DellSledNodeInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim OMSAUrl
if compObject.getAttributevalue("HostName") = compObject.getAttributevalue("RemoteAccessIP") Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.SledNode.WithoutOS']$")
OMSAUrl = "Not Applicable"
Else
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.SledNode.WithOS']$")
OMSAUrl = "https://" &amp; compObject.getAttributevalue("HostName") &amp; ":1311/"
End if
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("TotalMemory") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("TotalMemory"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("TotalMemory") &amp; " MB"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1048576 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
End If
Else
memSizeStr = "Not Available"
End If

Dim sysmemSizeStr
Dim sysmemSizeInt
If compObject.getAttributevalue("SysMemMaxCapacitySize") &lt;&gt; "Not Available" Then
sysmemSizeInt = CDbl(compObject.getAttributevalue("SysMemMaxCapacitySize"))
If sysmemSizeInt &lt; 1024 Then
sysmemSizeStr = compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; " MB"
ElseIf sysmemSizeInt &gt;= 1024 And sysmemSizeInt &lt; 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1024
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " GB"
ElseIf sysmemSizeInt &gt;= 1048576 Then
sysmemSizeInt = sysmemSizeInt / 1048576
sysmemSizeInt = round(sysmemSizeInt, 2)
sysmemSizeStr = Cstr(sysmemSizeInt) &amp; " TB"
End If
Else
sysmemSizeStr = "Not Available"
End If

log.MOMDebugLog 1, "SysMemMaxCapacitySize" &amp;compObject.getAttributevalue("SysMemMaxCapacitySize") &amp; sysmemSizeStr

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostName$",compObject.getAttributevalue("HostName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerIPAddress$",compObject.getAttributevalue("ServerIPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAURL$",OMSAUrl)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RACURL$",compObject.getAttributevalue("RACURL"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteAccessIP$",compObject.getAttributevalue("RemoteAccessIP"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AssetTag$",compObject.getAttributevalue("AssetTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServiceTag$",compObject.getAttributevalue("ServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/NodeID$",compObject.getAttributevalue("NodeID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ExpressServiceCode$",compObject.getAttributevalue("ExpressServiceCode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ServerGeneration$",compObject.getAttributevalue("ServerGeneration"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/ChassisServiceTag$",compObject.getAttributevalue("ChassisServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BIOSVersion$",compObject.getAttributevalue("BIOSVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/TotalMemory$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/BoardPartNumber$",compObject.getAttributevalue("BoardPartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystem$",compObject.getAttributevalue("OperatingSystem"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OperatingSystemVersion$",compObject.getAttributevalue("OperatingSystemVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/OMSAVersion$",compObject.getAttributevalue("OMSAVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL1$",compObject.getAttributevalue("AddOMSAURL1"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL2$",compObject.getAttributevalue("AddOMSAURL2"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL3$",compObject.getAttributevalue("AddOMSAURL3"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/AddOMSAURL4$",compObject.getAttributevalue("AddOMSAURL4"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/HostedMgmtServer$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/RemoteSettings$", compObject.getAttributevalue("RemoteSettings"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/SystemLockdown$", compObject.getAttributevalue("SystemLockdown"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/MaxMemoryCapacity$", sysmemSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.SledNode.WithoutOS", new DellSledNodeInstance


Class DellSMASHDeviceInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='Dell.Server.SMASHDevice']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", keyPropertyDictionary.Item("Microsoft.SystemCenter.OOB.WSManDevice/IP"))
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.SMASHDevice", new DellSMASHDeviceInstance



Class DellUnManagedServerInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.UnManagedServer']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.UnManagedServer']/IPAddress$", keyPropertyDictionary.Item("Dell.Server.UnManagedServer/IPAddress"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.UnManagedServer']/Description$","Unsupported Server Generation")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.UnManagedServer", new DellUnManagedServerInstance

Class ServerAvgCUPSUtilPerDayInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.AvgCUPSUtilizationPerDay']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.AvgCUPSUtilizationPerDay']/ID$", keyPropertyDictionary.Item("Dell.Server.AvgCUPSUtilizationPerDay/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.AvgCUPSUtilizationPerDay", new ServerAvgCUPSUtilPerDayInstance


Class ServerProcessorsInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Processors']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Processors']/ID$", keyPropertyDictionary.Item("Dell.Server.Processors/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Processors", new ServerProcessorsInstance



Class ProcUnitInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim procClockSpeedStr
Dim procClockSpeedInt
If compObject.getAttributevalue("MaxClockSpeed") &lt;&gt; "Not Available" Then
procClockSpeedInt = CDbl(compObject.getAttributevalue("MaxClockSpeed"))
If procClockSpeedInt &lt; 1000 Then
procClockSpeedStr = compObject.getAttributevalue("MaxClockSpeed") &amp; " MHz"
ElseIf procClockSpeedInt &gt;= 1000 And procClockSpeedInt &lt; 1000000 Then
procClockSpeedInt = procClockSpeedInt / 1000
procClockSpeedInt = round(procClockSpeedInt, 2)
procClockSpeedStr = Cstr(procClockSpeedInt) &amp; " GHz"
ElseIf procClockSpeedInt &gt;= 1000000 Then
procClockSpeedInt = procClockSpeedInt / 1000000
procClockSpeedInt = round(procClockSpeedInt, 2)
procClockSpeedStr = Cstr(procClockSpeedInt) &amp; " THz"
End If
Else
procClockSpeedStr = "Not Available"
End If

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Processors']/ID$", keyPropertyDictionary.Item("Dell.Server.Processors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.ProcUnit/DeviceID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/Family$",compObject.getAttributevalue("Family"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/MaxClockSpeed$",procClockSpeedStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/NumberOfProcessorCores$",compObject.getAttributevalue("NumberOfProcessorCores"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/Characteristics$",compObject.getAttributevalue("Characteristics"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/HyperThreadingEnabled$",compObject.getAttributevalue("HyperThreadingEnabled"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/HyperThreadingCapable$",compObject.getAttributevalue("HyperThreadingCapable"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/VirtualizationTechnologyEnabled$",compObject.getAttributevalue("VirtualizationTechnologyEnabled"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/VirtualizationTechnologyCapable$",compObject.getAttributevalue("VirtualizationTechnologyCapable"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/XDEnabled$",compObject.getAttributevalue("ExecuteDisabledEnabled"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/XDCapable$",compObject.getAttributevalue("ExecuteDisabledCapable"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/TurboModeEnabled$",compObject.getAttributevalue("TurboModeEnabled"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ProcUnit']/TurboModeCapable$",compObject.getAttributevalue("TurboModeCapable"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.ProcUnit", new ProcUnitInstance



Class MemoryInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Memory']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Memory']/ID$", keyPropertyDictionary.Item("Dell.Server.Memory/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Memory", new MemoryInstance





Class MemoryUnitInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("Capacity") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("Capacity"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("Capacity") &amp; " MB"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1048576 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
End If
Else
memSizeStr = "Not Available"
End If

Dim memSpeedStr
Dim memSpeedInt
If compObject.getAttributevalue("Speed") &lt;&gt; "Not Available" Then
memSpeedInt = CDbl(compObject.getAttributevalue("Speed"))
If memSpeedInt &lt; 1000 Then
memSpeedStr = compObject.getAttributevalue("Speed") &amp; " MHz"
ElseIf memSpeedInt &gt;= 1000 And memSpeedInt &lt; 1000000 Then
memSpeedInt = memSpeedInt / 1000
memSpeedInt = round(memSpeedInt, 2)
memSpeedStr = Cstr(memSpeedInt) &amp; " GHz"
ElseIf memSpeedInt &gt;= 1000000 Then
memSpeedInt = memSpeedInt / 1000000
memSpeedInt = round(memSpeedInt, 2)
memSpeedStr = Cstr(memSpeedInt) &amp; " THz"
End If
Else
memSpeedStr = "Not Available"
End If

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Memory']/ID$", keyPropertyDictionary.Item("Dell.Server.Memory/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/ID$", keyPropertyDictionary.Item("Dell.Server.MemoryUnit/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/MemoryType$",compObject.getAttributevalue("MemoryType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/Capacity$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/Speed$",memSpeedStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/SerialNumber$",compObject.getAttributevalue("SerialNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/BankLabel$",compObject.getAttributevalue("BankLabel"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/ManufactureDate$",compObject.getAttributevalue("ManufactureDate"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.MemoryUnit']/Rank$",compObject.getAttributevalue("Rank"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.MemoryUnit", new MemoryUnitInstance

Class LicenseGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.LicenseGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.LicenseGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.LicenseGroup/ID"))
log.MOMDebugLog 1, "KeyProperty of LicenseGroup : " &amp; keyPropertyDictionary.Item("Dell.Server.LicenseGroup/ID")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst
Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.LicenseGroup", new LicenseGroupInstance

Class LicenseInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject)
If Not compObject is Nothing Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.License']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.License']/ID$", keyPropertyDictionary.Item("Dell.Server.License/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.LicenseGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.LicenseGroup/ID"))
log.MOMDebugLog 1, "License Group KeyProperty: " &amp; keyPropertyDictionary.Item("Dell.Server.LicenseGroup/ID")
log.MOMDebugLog 1, "License KeyProperty: " &amp; keyPropertyDictionary.Item("Dell.Server.License/ID")
log.MOMDebugLog 1, "DisplayName : " &amp; compObject.getAttributevalue("DisplayName")
log.MOMDebugLog 1, "LicenseType : " &amp; compObject.getAttributevalue("LicenseType")
log.MOMDebugLog 1, "LicenseInstallDate : " &amp; compObject.getAttributevalue("LicenseInstallDate")
log.MOMDebugLog 1, "LicenseSoldDate : " &amp; compObject.getAttributevalue("LicenseSoldDate")
'call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.License']/DisplayName$",compObject.getAttributevalue("DisplayName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.License']/LicenseType$",compObject.getAttributevalue("LicenseType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.License']/LicenseInstallDate$",compObject.getAttributevalue("LicenseInstallDate"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.License']/LicenseSoldDate$",compObject.getAttributevalue("LicenseSoldDate"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", compObject.getAttributevalue("DisplayName"))
omAPIHelper.AddInstanceToDiscoveryData oInst
Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.License", new LicenseInstance

Class SDCardGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then
log.MOMDebugLog 1, "SDCardGroup KeyProperty: " &amp; keyPropertyDictionary.Item("Dell.Server.SDCardGroup/ID")
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.SDCardGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.SDCardGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.SDCardGroup/ID"))
log.MOMDebugLog 1, "SDCardGroup KeyProperty: " &amp; keyPropertyDictionary.Item("Dell.Server.SDCardGroup/ID")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst
Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.SDCardGroup", new SDCardGroupInstance

Class SDCardInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject)
If Not compObject is Nothing Then
Dim sdCardSizeStr
Dim sdCardSizeInt
log.MOMDebugLog 1, "Printing The SDCard Size: " &amp; compObject.getAttributevalue("Size")
If compObject.getAttributevalue("Size") &lt;&gt; "Not Applicable" Then
sdCardSizeInt = CDbl(compObject.getAttributevalue("Size"))
If sdCardSizeInt &lt; 1024 Then
sdCardSizeStr = compObject.getAttributevalue("Size") &amp; " MB"
ElseIf sdCardSizeInt &gt;= 1024 And sdCardSizeInt &lt; 1048576 Then
sdCardSizeInt = sdCardSizeInt / 1024
sdCardSizeInt = round(sdCardSizeInt, 2)
sdCardSizeStr = Cstr(sdCardSizeInt) &amp; " GB"
ElseIf sdCardSizeInt &gt;= 1048576 Then
sdCardSizeInt = sdCardSizeInt / 1048576
sdCardSizeInt = round(sdCardSizeInt, 2)
sdCardSizeStr = Cstr(sdCardSizeInt) &amp; " TB"
End If
Else
sdCardSizeStr = "Not Available"
End If
Dim sdCardWriteProtectedStr
log.MOMDebugLog 1, "Printing The SDCard WriteProtected: " &amp; compObject.getAttributevalue("WriteProtected")
If Not compObject.getAttributevalue("WriteProtected") &lt;&gt; "Not Applicable" Then
sdCardWriteProtectedStr = "Not Available"
Else
sdCardWriteProtectedStr = compObject.getAttributevalue("WriteProtected")
End If
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.SDCard']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.SDCardGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.SDCardGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.SDCard']/ID$", keyPropertyDictionary.Item("Dell.Server.SDCard/ID"))
'call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.SDCard']/DisplayName$",compObject.getAttributevalue("DisplayName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.SDCard']/Size$", sdCardSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.SDCard']/WriteProtected$", sdCardWriteProtectedStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", compObject.getAttributevalue("DisplayName"))
log.MOMDebugLog 1, "SDCard KeyProperty: " &amp; keyPropertyDictionary.Item("Dell.Server.SDCard/ID")
log.MOMDebugLog 1, "SdCard DisplayName: " &amp; compObject.getAttributevalue("DisplayName")
log.MOMDebugLog 1, "SdCard Size: " &amp; sdCardSizeStr
log.MOMDebugLog 1, "SdCard WriteProtected: " &amp; sdCardWriteProtectedStr
omAPIHelper.AddInstanceToDiscoveryData oInst
Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.SDCard", new SDCardInstance

Class HostNICGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.HostNICGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNICGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.HostNICGroup/ID"))

log.MOMDebugLog 1, "KeyProperty of HostNICGroup : " &amp; keyPropertyDictionary.Item("Dell.Server.HostNICGroup/ID")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.HostNICGroup", new HostNICGroupInstance



Class HostNICInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.HostNIC']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/InstanceID$", keyPropertyDictionary.Item("Dell.Server.HostNIC/InstanceID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNICGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.HostNICGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/MACAddress$",compObject.getAttributevalue("MACAddr"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/DeviceDescription$",compObject.getAttributevalue("DeviceDescription"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/IPv4Address$",compObject.getAttributevalue("IPv4Address"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/IPv4SubnetMask$",compObject.getAttributevalue("IPv4SubnetMask"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/IPv4Gateway$",compObject.getAttributevalue("IPv4Gateway"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/IPv6Address$",compObject.getAttributevalue("IPv6Address"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/IPv6Prefix$",compObject.getAttributevalue("IPv6PrefixLength"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/IPv6Gateway$",compObject.getAttributevalue("IPv6Gateway"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/InterfaceType$",compObject.getAttributevalue("Type"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.HostNIC']/DeviceFQDD$",compObject.getAttributevalue("DeviceFQDD"))

log.MOMDebugLog 1, "HOST_NIC IPv6Address : " &amp; compObject.getAttributevalue("IPv6Address")
log.MOMDebugLog 1, "HOST_NIC DeviceFQDD : " &amp; compObject.getAttributevalue("DeviceFQDD")
log.MOMDebugLog 1, "HOST_NIC DeviceFQDD : " &amp;compObject.getAttributevalue("IPv4Gateway")
log.MOMDebugLog 1, "HOST_NIC DeviceFQDD : " &amp;compObject.getAttributevalue("IPv6Gateway")

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", compObject.getAttributevalue("displayName") )
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.HostNIC", new HostNICInstance


Class PowerSuppliesInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.PowerSupplies']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PowerSupplies']/ID$", keyPropertyDictionary.Item("Dell.Server.PowerSupplies/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.PowerSupplies", new PowerSuppliesInstance



Class PSUnitInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.PSUnit']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PowerSupplies']/ID$", keyPropertyDictionary.Item("Dell.Server.PowerSupplies/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/ID$", keyPropertyDictionary.Item("Dell.Server.PSUnit/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/DetailedState$",compObject.getAttributevalue("DetailedState"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/TotalOutputPower$",compObject.getAttributevalue("TotalOutputPower") &amp; " Watts")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/IsSwitchingSupply$",compObject.getAttributevalue("IsSwitchingSupply"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/Type$",compObject.getAttributevalue("Type"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/SerialNumber$",compObject.getAttributevalue("SerialNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.PSUnit']/FirmwareVersion$",compObject.getAttributevalue("FirmwareVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.PSUnit", new PSUnitInstance



Class BIOSInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.BIOS']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/SerialNumber$", keyPropertyDictionary.Item("Dell.Server.BIOS/SerialNumber"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/Name$",compObject.getAttributevalue("Name"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/Manufacturer$",compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/SMBIOSBIOSVersion$",compObject.getAttributevalue("SMBIOSBIOSVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/SMBIOSMajorVersion$",compObject.getAttributevalue("SMBIOSMajorVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/SMBIOSMinorVersion$",compObject.getAttributevalue("SMBIOSMinorVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/SMBIOSPresent$",compObject.getAttributevalue("SMBIOSPresent"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/PrimaryBIOS$","Not Available") ' iDRAC does not support these values
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/CurrentLanguage$","Not Available") ' iDRAC does not support these values
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BIOS']/BIOSReleaseDate$",compObject.getAttributevalue("BIOSReleaseDate"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.BIOS", new BIOSInstance



Class iDRACInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.iDRAC']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/ID$", keyPropertyDictionary.Item("Dell.Server.iDRAC/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/vFlashStorageSize$",compObject.getAttributevalue("vFlashStorageSize"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/FirmwareVersion$",compObject.getAttributevalue("FirmwareVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/LCCVersion$",compObject.getAttributevalue("LCCVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/Model$",compObject.getAttributevalue("Model"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/IPMIVersion$",compObject.getAttributevalue("IPMIVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/GroupStatus$",compObject.getAttributevalue("GroupStatus"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/GroupName$",compObject.getAttributevalue("GroupName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.iDRAC", new iDRACInstance

Class iDRACNicInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDRAC']/ID$", keyPropertyDictionary.Item("Dell.Server.iDRAC/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/ID$",keyPropertyDictionary.Item("Dell.Server.iDrac.NetworkInterfaceUnit/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/ProductName$",compObject.getAttributevalue("ProductName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/MACAddress$",compObject.getAttributevalue("MACAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/IPv4Address$",protParameterObj.getProtocolParameterValue("IPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/IPv6Address$",compObject.getAttributevalue("IPv6Address"))
Dim speedStr
'speedStr = "Not Applicable"
If compObject.getAttributevalue("Speed") &lt;&gt; "Not Available" AND compObject.getAttributevalue("Speed") &lt;&gt; "Not Applicable" Then
speedStr = compObject.getAttributevalue("Speed") &amp; " Mbps"
Else
speedStr = compObject.getAttributevalue("Speed")
End If

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/Speed$",speedStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/LinkDuplexMode$",compObject.getAttributevalue("LinkDuplexMode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/SwitchChassisID$",compObject.getAttributevalue("SwitchChassisID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.iDrac.NetworkInterfaceUnit']/SwitchPortID$",compObject.getAttributevalue("SwitchPortID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.iDrac.NetworkInterfaceUnit", new iDRACNicInstance


Class NICGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.NICGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NICGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.NICGroup/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.NICGroup", new NICGroupInstance



Class NetworkInterfaceUnitInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef nicCapabilitiesObject, ByRef displayName)
Dim supportedBootProtocol, nICCapabilities
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NICGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.NICGroup/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/ID$", keyPropertyDictionary.Item("Dell.Server.NetworkInterfaceUnit/ID"))

Dim mediaTypeattr, mediaTypevalarr, mediaTypeval, mediaType, vMacAdd, pMacAdd, cMacAdd
Dim tempval
mediaTypeattr = compObject.getAttributevalue("MediaType")
log.MOMDebugLog 1, "media type map : " &amp; mediaTypeattr
mediaTypevalarr = Split(mediaTypeattr,",")
For Each mediaTypeval In mediaTypevalarr
Select Case mediaTypeval
Case "0"
tempval = "Unknown"
Case "1"
tempval = "Base-T"
Case "2"
tempval = "KR"
Case "3"
tempval = "KX"
Case "4"
tempval = "KX4"
Case "5"
tempval = "SR"
Case "6"
tempval = "SFP"
Case "7"
tempval = "SFP+"
Case "8"
tempval = "DCA"
Case else
tempval = mediaTypeval
log.MOMDebugLog 1, "media type map is not found, hence going with value resulted:" &amp; tempval
End Select
mediaType = mediaType &amp; "," &amp; tempval
next
mediaType = Replace(mediaType,",","",1,1)
log.MOMDebugLog 1, "media type value is" &amp; mediaType

If not nicCapabilitiesObject is Nothing Then
If nicCapabilitiesObject.getAttributevalue("FCoEBootSupport") = "2" Then
supportedBootProtocol = "FCoE"
End If
If nicCapabilitiesObject.getAttributevalue("PXEBootSupport") = "2" Then
If supportedBootProtocol = "" Then
supportedBootProtocol = "PXE"
Else
supportedBootProtocol = supportedBootProtocol &amp; "," &amp; "PXE"
End If
End If
If nicCapabilitiesObject.getAttributevalue("iSCSIBootSupport") = "2" Then
If supportedBootProtocol = "" Then
supportedBootProtocol = "iSCSI"
Else
supportedBootProtocol = supportedBootProtocol &amp; "," &amp; "iSCSI"
End If
End If
If supportedBootProtocol = "" Then
supportedBootProtocol = "Not Available"
End If
log.MOMDebugLog 1, "supportBootprotocol value is" &amp; supportedBootProtocol

If nicCapabilitiesObject.getAttributevalue("WOLSupport") = "2" Then
nICCapabilities = "WOL"
End If

If nicCapabilitiesObject.getAttributevalue("FlexAddressingSupport") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "FlexAddressing"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; "FlexAddressing"
End If
End If

If nicCapabilitiesObject.getAttributevalue("VFSRIOVSupport") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "SR-IOV"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; "SR-IOV"
End If
End If

If nicCapabilitiesObject.getAttributevalue("iSCSIOffloadSupport") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "iSCSI Offload"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; " iSCSI Offload"
End If
End If

If nicCapabilitiesObject.getAttributevalue("FCoEOffloadSupport") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "FCoE Offload"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; "FCoE Offload"
End If
End If

If nicCapabilitiesObject.getAttributevalue("NicPartitioningSupport") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "Partitioning"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; "Partitioning"
End If
End If

If nicCapabilitiesObject.getAttributevalue("TCPChimneySupport") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "TOE"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; "TOE"
End If
End If

If nicCapabilitiesObject.getAttributevalue("DCBExchangeProtocol") = "2" Then
If nICCapabilities = "" Then
nICCapabilities = "DCB"
Else
nICCapabilities = nICCapabilities &amp; "," &amp; "DCB"
End If
End If

If nICCapabilities = "" Then
nICCapabilities = "Not Available"
End If
log.MOMDebugLog 1, "nICCapabilities value is" &amp; nICCapabilities
Else
nICCapabilities = "Not Available"
supportedBootProtocol = "Not Available"
End If

vMacAdd = compObject.getAttributevalue("VirtualMACAddress")
pMacAdd = compObject.getAttributevalue("PermanentMACAddress")
cMacAdd = compObject.getAttributevalue("CurrentMACAddress")
If vMacAdd = "00:00:00:00:00:00" OR vMacAdd = "FF:FF:FF:FF:FF:FF" OR pMacAdd = cMacAdd Then
vMacAdd = "Not Configured"
Else
If vMacAdd = "" Then
vMacAdd = "Not Available"
End If
End If

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/MediaType$",mediaType)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/NICMode$",compObject.getAttributevalue("NICMode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/VendorName$",compObject.getAttributevalue("VendorName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/ProductName$",compObject.getAttributevalue("ProductName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/FamilyVersion$",compObject.getAttributevalue("FamilyVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/PermanentMACAddress$",pMacAdd)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/VirtualMACAddress$",vMacAdd)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/IPv4Address$",compObject.getAttributevalue("IPv4Address"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/IPv6Address$",compObject.getAttributevalue("IPv6Address"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/LinkSpeed$",compObject.getAttributevalue("LinkSpeed"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/LinkDuplexMode$",compObject.getAttributevalue("LinkDuplexMode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/PermanentFCOEMACAddress$",compObject.getAttributevalue("PermanentFCOEMACAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/PermanentiSCSIMACAddress$",compObject.getAttributevalue("PermanentiSCSIMACAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/SupportedBootProtocol$",supportedBootProtocol)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/NICCapabilities$",nICCapabilities)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/SwitchChassisID$",compObject.getAttributevalue("SwitchChassisID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.NetworkInterfaceUnit']/SwitchPortID$",compObject.getAttributevalue("SwitchPortID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.NetworkInterfaceUnit", new NetworkInterfaceUnitInstance



Class StorageInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/RemoteAccessIP$", protParameterObj.getProtocolParameterValue("IPAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/RemoteSettings$", getRemoteSetting())

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage", new StorageInstance



Class ControllerInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/SlotID$",compObject.getAttributevalue("SlotID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/FirmwareVer$",compObject.getAttributevalue("FirmwareVer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DriverVer$",compObject.getAttributevalue("DriverVer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/MinReqDriverVer$",compObject.getAttributevalue("MinReqDriverVer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/SCSIInitiatorID$",compObject.getAttributevalue("SCSIInitiatorID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/PCIVendorID$",compObject.getAttributevalue("PCIVendorID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceCardManufacturer$",compObject.getAttributevalue("DeviceCardManufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceCardSlotType$",compObject.getAttributevalue("DeviceCardSlotType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/ProductName$",compObject.getAttributevalue("ProductName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/SASAddress$",compObject.getAttributevalue("SASAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/Security$",compObject.getAttributevalue("Security"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/EncryptionMode$",compObject.getAttributevalue("EncryptionMode"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/EncryptionCapability$",compObject.getAttributevalue("EncryptionCapability"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/CachecadeCapability$",compObject.getAttributevalue("CachecadeCapability"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/SlicedVDCapability$",compObject.getAttributevalue("SlicedVDCapability"))
'Unit conversion for Cache Size In MB
Dim CacheSizeStr
Dim CacheSizeInt
If compObject.getAttributevalue("CacheSizeInMB") &lt;&gt; "Not Available" Then
CacheSizeInt = CDbl(compObject.getAttributevalue("CacheSizeInMB"))
If CacheSizeInt &lt; 1024 Then
CacheSizeStr = compObject.getAttributevalue("CacheSizeInMB") &amp; " MB"
ElseIf CacheSizeInt &gt;= 1024 And CacheSizeInt &lt; 1048576 Then
CacheSizeInt = CacheSizeInt / 1024
CacheSizeInt = round(CacheSizeInt, 2)
CacheSizeStr = Cstr(CacheSizeInt) &amp; " GB"
ElseIf CacheSizeInt &gt;= 1048576 Then
CacheSizeInt = CacheSizeInt / 1048576
CacheSizeInt = round(CacheSizeInt, 2)
CacheSizeStr = Cstr(CacheSizeInt) &amp; " TB"
End If
Else
CacheSizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/CacheMemorySize$",CacheSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/MinReqFirmwareVer$",compObject.getAttributevalue("MinReqFirmwareVer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller", new ControllerInstance



Class ControllerSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Sensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Sensor/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Sensor", new ControllerSensorInstance



Class ControllerBatteryGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.BatteryGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Sensor/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.BatteryGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.BatteryGroup/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.BatteryGroup", new ControllerBatteryGroupInstance



Class ControllerBatteryUnitInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Battery']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Sensor/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.BatteryGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.BatteryGroup/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Battery']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Battery/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Battery", new ControllerBatteryUnitInstance



Class ConnectorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/Termination$","Not Applicable")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/SCSIRate$","Not Applicable")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Connector", new ConnectorInstance



Class VirtualDiskGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDiskGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDiskGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.VirtualDiskGroup/Number"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.VirtualDiskGroup", new VirtualDiskGroupInstance



Class VirtualDiskInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim memSizeStr
Dim memSizeInt
If compObject.getAttributevalue("Size") &lt;&gt; "Not Available" Then
memSizeInt = CDbl(compObject.getAttributevalue("Size"))
If memSizeInt &lt; 1024 Then
memSizeStr = compObject.getAttributevalue("Size") &amp; " Bytes"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " KB"
ElseIf memSizeInt &gt;= 1048576 And memSizeInt &lt; 1073741824 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " MB"
ElseIf memSizeInt &gt;= 1073741824 And memSizeInt &lt; 1099511627776 Then
memSizeInt = memSizeInt / 1073741824
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1099511627776 And memSizeInt &lt; 1125899906842624 Then
memSizeInt = memSizeInt / 1099511627776
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
ElseIf memSizeInt &gt;= 1125899906842624 Then
memSizeInt = memSizeInt / 1125899906842624
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " PB"
End If
Else
memSizeStr = "Not Available"
End If


Dim memBlockSizeStr
Dim memBlockSizeInt
If compObject.getAttributevalue("BlockSize") &lt;&gt; "Not Available" Then
memBlockSizeInt = CDbl(compObject.getAttributevalue("BlockSize"))
If memBlockSizeInt &lt; 1024 Then
memBlockSizeStr = compObject.getAttributevalue("BlockSize") &amp; " Bytes"
ElseIf memBlockSizeInt &gt;= 1024 And memBlockSizeInt &lt; 1048576 Then
memBlockSizeInt = memBlockSizeInt / 1024
memBlockSizeInt = round(memBlockSizeInt, 2)
memBlockSizeStr = Cstr(memBlockSizeInt) &amp; " KB"
ElseIf memBlockSizeInt &gt;= 1048576 And memBlockSizeInt &lt; 1073741824 Then
memBlockSizeInt = memBlockSizeInt / 1048576
memBlockSizeInt = round(memBlockSizeInt, 2)
memBlockSizeStr = Cstr(memBlockSizeInt) &amp; " MB"
ElseIf memBlockSizeInt &gt;= 1073741824 And memBlockSizeInt &lt; 1099511627776 Then
memBlockSizeInt = memBlockSizeInt / 1073741824
memBlockSizeInt = round(memBlockSizeInt, 2)
memBlockSizeStr = Cstr(memBlockSizeInt) &amp; " GB"
ElseIf memBlockSizeInt &gt;= 1099511627776 And memBlockSizeInt &lt; 1125899906842624 Then
memBlockSizeInt = memBlockSizeInt / 1099511627776
memBlockSizeInt = round(memBlockSizeInt, 2)
memBlockSizeStr = Cstr(memBlockSizeInt) &amp; " TB"
ElseIf memBlockSizeInt &gt;= 1125899906842624 Then
memBlockSizeInt = memBlockSizeInt / 1125899906842624
memBlockSizeInt = round(memBlockSizeInt, 2)
memBlockSizeStr = Cstr(memBlockSizeInt) &amp; " PB"
End If
Else
memBlockSizeStr = "Not Available"
End If


Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDiskGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.VirtualDiskGroup/Number"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.VirtualDisk/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/Layout$",compObject.getAttributevalue("Layout"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/Size$",memSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/Type$",compObject.getAttributevalue("Type"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/MediaType$",compObject.getAttributevalue("MediaType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/ReadPolicy$",compObject.getAttributevalue("ReadPolicy"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/WritePolicy$",compObject.getAttributevalue("WritePolicy"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/CachePolicy$",compObject.getAttributevalue("CachePolicy"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/StripeElementSize$",compObject.getAttributevalue("StripeElementSize"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/Cachecade$",compObject.getAttributevalue("Cachecade"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/Name$",compObject.getAttributevalue("Name"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/SpanDepth$",compObject.getAttributevalue("SpanDepth"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/SpanLength$",compObject.getAttributevalue("SpanLength"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/BlockSize$",memBlockSizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.VirtualDisk']/LockStatus$",compObject.getAttributevalue("LockStatus"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.VirtualDisk", new VirtualDiskInstance



Class InternalPhysicalDiskInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function

Public Function convertSize(ByRef memSizeInt)
Dim memSizeStr

If memSizeInt &lt; 1024 Then
memSizeStr = Cstr(memSizeInt) &amp; " Bytes"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " KB"
ElseIf memSizeInt &gt;= 1048576 And memSizeInt &lt; 1073741824 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " MB"
ElseIf memSizeInt &gt;= 1073741824 And memSizeInt &lt; 1099511627776 Then
memSizeInt = memSizeInt / 1073741824
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1099511627776 And memSizeInt &lt; 1125899906842624 Then
memSizeInt = memSizeInt / 1099511627776
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
ElseIf memSizeInt &gt;= 1125899906842624 Then
memSizeInt = memSizeInt / 1125899906842624
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " PB"
End If
convertSize = memSizeStr
End Function

Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim sizeStr
Dim sizeInt,negotiatedSpeedValue

'Possible values for Negotiated speed are 1_5_GBS, 3_GBS, 6_GBS.
'Following lines are to map 1_5_GBS to 1.5 Gbps , 3_GBS to 3 Gbps and 6_GBS to 6 gbps
negotiatedSpeedValue = compObject.getAttributevalue("NegotiatedSpeed")
If negotiatedSpeedValue &lt;&gt; "Not Available" Then
negotiatedSpeedValue = Trim(negotiatedSpeedValue)
'Following replace will convert 1_3_GBS to 1_3 Gbps OR 3_GBS to 3 Gbps
negotiatedSpeedValue = Replace(UCase(negotiatedSpeedValue), "_GBS"," Gbps")
'Following replace will convert 1_3 Gbps to 1.3 Gbps
negotiatedSpeedValue = Replace(negotiatedSpeedValue,"_",".")
Else
negotiatedSpeedValue = "Not Available"
End If

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup/Number"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.InternalPhysicalDisk/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/Type$",compObject.getAttributevalue("Type"))
If compObject.getAttributevalue("Capacity") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("Capacity"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/Capacity$",sizeStr)
If compObject.getAttributevalue("AvailableRaidDiskSpace") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("AvailableRaidDiskSpace"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/AvailableRaidDiskSpace$",sizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/HotSpare$",compObject.getAttributevalue("HotSpare"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/VendorID$",compObject.getAttributevalue("VendorID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/ProductID$",compObject.getAttributevalue("ProductID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/Revision$",compObject.getAttributevalue("Revision"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/SerialNumber$",compObject.getAttributevalue("SerialNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/NegotiatedSpeed$",negotiatedSpeedValue )
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/CapableSpeed$",compObject.getAttributevalue("CapableSpeed"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/ManufactureDay$",compObject.getAttributevalue("ManufactureDay"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/ManufactureWeek$",compObject.getAttributevalue("ManufactureWeek"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/ManufactureYear$",compObject.getAttributevalue("ManufactureYear"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/SASAddress$",compObject.getAttributevalue("SASAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/MediaType$",compObject.getAttributevalue("MediaType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/DriveFormFactor$",compObject.getAttributevalue("DriveFormFactor"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/SecurityState$",compObject.getAttributevalue("SecurityState"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/SlotNumber$",compObject.getAttributevalue("SlotNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/SupportedEncryptionTypes$",compObject.getAttributevalue("SupportedEncryptionTypes"))
If compObject.getAttributevalue("UsedRaidDiskSpace") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("UsedRaidDiskSpace"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.InternalPhysicalDisk']/UsedRaidDiskSpace$",sizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.InternalPhysicalDisk", new InternalPhysicalDiskInstance



Class InternalPhysicalDiskGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup/Number"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup", new InternalPhysicalDiskGroupInstance



Class ExternalPhysicalDiskInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function

Public Function convertSize(ByRef memSizeInt)
Dim memSizeStr

If memSizeInt &lt; 1024 Then
memSizeStr = Cstr(memSizeInt) &amp; " Bytes"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " KB"
ElseIf memSizeInt &gt;= 1048576 And memSizeInt &lt; 1073741824 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " MB"
ElseIf memSizeInt &gt;= 1073741824 And memSizeInt &lt; 1099511627776 Then
memSizeInt = memSizeInt / 1073741824
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1099511627776 And memSizeInt &lt; 1125899906842624 Then
memSizeInt = memSizeInt / 1099511627776
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
ElseIf memSizeInt &gt;= 1125899906842624 Then
memSizeInt = memSizeInt / 1125899906842624
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " PB"
End If
convertSize = memSizeStr
End Function

Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim sizeStr
Dim sizeInt,negotiatedSpeedValue

'Possible values for Negotiated speed are 1_5_GBS, 3_GBS, 6_GBS.
'Following lines are to map 1_5_GBS to 1.5 Gbps , 3_GBS to 3 Gbps and 6_GBS to 6 gbps
negotiatedSpeedValue = compObject.getAttributevalue("NegotiatedSpeed")
If negotiatedSpeedValue &lt;&gt; "Not Available" Then
negotiatedSpeedValue = Trim(negotiatedSpeedValue)
'Following replace will convert 1_3_GBS to 1_3 Gbps OR 3_GBS to 3 Gbps
negotiatedSpeedValue = Replace(UCase(negotiatedSpeedValue), "_GBS"," Gbps")
'Following replace will convert 1_3 Gbps to 1.3 Gbps
negotiatedSpeedValue = Replace(negotiatedSpeedValue,"_",".")
Else
negotiatedSpeedValue = "Not Available"
End If

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup/Number"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.ExternalPhysicalDisk/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/Type$",compObject.getAttributevalue("Type"))
If compObject.getAttributevalue("Capacity") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("Capacity"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/Capacity$",sizeStr)
If compObject.getAttributevalue("AvailableRaidDiskSpace") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("AvailableRaidDiskSpace"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/AvailableRaidDiskSpace$",sizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/HotSpare$",compObject.getAttributevalue("HotSpare"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/VendorID$",compObject.getAttributevalue("VendorID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/ProductID$",compObject.getAttributevalue("ProductID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/Revision$",compObject.getAttributevalue("Revision"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/SerialNumber$",compObject.getAttributevalue("SerialNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/NegotiatedSpeed$",negotiatedSpeedValue)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/CapableSpeed$",compObject.getAttributevalue("CapableSpeed"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/ManufactureDay$",compObject.getAttributevalue("ManufactureDay"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/ManufactureWeek$",compObject.getAttributevalue("ManufactureWeek"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/ManufactureYear$",compObject.getAttributevalue("ManufactureYear"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/SASAddress$",compObject.getAttributevalue("SASAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/MediaType$",compObject.getAttributevalue("MediaType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/DriveFormFactor$",compObject.getAttributevalue("DriveFormFactor"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/SecurityState$",compObject.getAttributevalue("SecurityState"))
If compObject.getAttributevalue("UsedRaidDiskSpace") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("UsedRaidDiskSpace"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/UsedRaidDiskSpace$",sizeStr)

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/SlotNumber$",compObject.getAttributevalue("SlotNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.ExternalPhysicalDisk']/SupportedEncryptionTypes$",compObject.getAttributevalue("SupportedEncryptionTypes"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.ExternalPhysicalDisk", new ExternalPhysicalDiskInstance



Class ExternalPhysicalDiskGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup/Number"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup", new ExternalPhysicalDiskGroupInstance



Class DirectAttachedPhysicalDiskInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function

Public Function convertSize(ByRef memSizeInt)
Dim memSizeStr

If memSizeInt &lt; 1024 Then
memSizeStr = Cstr(memSizeInt) &amp; " Bytes"
ElseIf memSizeInt &gt;= 1024 And memSizeInt &lt; 1048576 Then
memSizeInt = memSizeInt / 1024
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " KB"
ElseIf memSizeInt &gt;= 1048576 And memSizeInt &lt; 1073741824 Then
memSizeInt = memSizeInt / 1048576
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " MB"
ElseIf memSizeInt &gt;= 1073741824 And memSizeInt &lt; 1099511627776 Then
memSizeInt = memSizeInt / 1073741824
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " GB"
ElseIf memSizeInt &gt;= 1099511627776 And memSizeInt &lt; 1125899906842624 Then
memSizeInt = memSizeInt / 1099511627776
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " TB"
ElseIf memSizeInt &gt;= 1125899906842624 Then
memSizeInt = memSizeInt / 1125899906842624
memSizeInt = round(memSizeInt, 2)
memSizeStr = Cstr(memSizeInt) &amp; " PB"
End If
convertSize = memSizeStr
End Function

Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Dim sizeInt
Dim sizeStr, negotiatedSpeedValue

'Possible values for Negotiated speed are 1_5_GBS, 3_GBS, 6_GBS.
'Following lines are to map 1_5_GBS to 1.5 Gbps , 3_GBS to 3 Gbps and 6_GBS to 6 gbps
negotiatedSpeedValue = compObject.getAttributevalue("NegotiatedSpeed")
If negotiatedSpeedValue &lt;&gt; "Not Available" Then
negotiatedSpeedValue = Trim(negotiatedSpeedValue)
'Following replace will convert 1_3_GBS to 1_3 Gbps OR 3_GBS to 3 Gbps
negotiatedSpeedValue = Replace(UCase(negotiatedSpeedValue), "_GBS"," Gbps")
'Following replace will convert 1_3 Gbps to 1.3 Gbps
negotiatedSpeedValue = Replace(negotiatedSpeedValue,"_",".")
Else
negotiatedSpeedValue = "Not Available"
End If

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/Type$",compObject.getAttributevalue("Type"))
If compObject.getAttributevalue("Capacity") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("Capacity"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/Capacity$",sizeStr)
If compObject.getAttributevalue("AvailableRaidDiskSpace") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("AvailableRaidDiskSpace"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/AvailableRaidDiskSpace$",sizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/HotSpare$",compObject.getAttributevalue("HotSpare"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/VendorID$",compObject.getAttributevalue("VendorID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/ProductID$",compObject.getAttributevalue("ProductID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/Revision$",compObject.getAttributevalue("Revision"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/SerialNumber$",compObject.getAttributevalue("SerialNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/NegotiatedSpeed$",negotiatedSpeedValue)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/CapableSpeed$",compObject.getAttributevalue("CapableSpeed"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/ManufactureDay$",compObject.getAttributevalue("ManufactureDay"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/ManufactureWeek$",compObject.getAttributevalue("ManufactureWeek"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/ManufactureYear$",compObject.getAttributevalue("ManufactureYear"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/SASAddress$",compObject.getAttributevalue("SASAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/MediaType$",compObject.getAttributevalue("MediaType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/DriveFormFactor$",compObject.getAttributevalue("DriveFormFactor"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/SecurityState$",compObject.getAttributevalue("SecurityState"))
If compObject.getAttributevalue("UsedRaidDiskSpace") &lt;&gt; "Not Available" Then
sizeInt = CDbl(compObject.getAttributevalue("UsedRaidDiskSpace"))
sizeStr = convertSize(sizeInt)
Else
sizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/UsedRaidDiskSpace$",sizeStr)

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/SlotNumber$",compObject.getAttributevalue("SlotNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk']/SupportedEncryptionTypes$",compObject.getAttributevalue("SupportedEncryptionTypes"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk", new DirectAttachedPhysicalDiskInstance



Class EnclosureInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/Connector$",compObject.getAttributevalue("Connector"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/FirmwareVersion$",compObject.getAttributevalue("FirmwareVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ProductName$",compObject.getAttributevalue("ProductName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ServiceTag$",compObject.getAttributevalue("ServiceTag"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/AssetTag$",compObject.getAttributevalue("AssetTag"))
Dim wiredOrder
wiredOrder = compObject.getAttributevalue("WiredOrder")

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/WiredOrder$", wiredOrder)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/TargetID$",compObject.getAttributevalue("TargetID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/Configuration$",compObject.getAttributevalue("Configuration"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/AssetName$",compObject.getAttributevalue("AssetName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/SASAddress$",compObject.getAttributevalue("SASAddress"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/BackplanePartNum$",compObject.getAttributevalue("BackplanePartNum"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/SplitbusPartNum$",compObject.getAttributevalue("SplitbusPartNum"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/EnclosurePartNum$",compObject.getAttributevalue("EnclosurePartNum"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure", new EnclosureInstance



Class EMMInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.EMM/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.EMM']/FirmwareVersion$",compObject.getAttributevalue("FirmwareVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.EMM", new EMMInstance



Class EnclosureFanSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.Sensor/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.FanSensorGroup/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.FanSensor/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.FanSensor", new EnclosureFanSensorInstance



Class EnclosureFanSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.Sensor/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.FanSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.FanSensorGroup/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.FanSensorGroup", new EnclosureFanSensorGroupInstance



Class EnclosurePowerSupplyInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupply']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup/Number"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupply']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.PowerSupply/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupply']/PartNumber$",compObject.getAttributevalue("PartNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.PowerSupply", new EnclosurePowerSupplyInstance



Class EnclosurePowerSupplyGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup']/Number$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup/Number"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup", new EnclosurePowerSupplyGroupInstance



Class EnclosureTempSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.Sensor/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.TempSensorGroup/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.TempSensor/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.TempSensor", new EnclosureTempSensorInstance



Class EnclosureTempSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.Sensor/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.TempSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.TempSensorGroup/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.TempSensorGroup", new EnclosureTempSensorGroupInstance



Class EnclosureSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller']/DeviceID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Connector']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Connector/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Controller.Enclosure.Sensor']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Controller.Enclosure.Sensor/ID"))


call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Controller.Enclosure.Sensor", new EnclosureSensorInstance


Class Sensors
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Sensors']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Sensors", new Sensors



Class TemperatureSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.TemperatureSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.TemperatureSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.TemperatureSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.TemperatureSensorGroup", new TemperatureSensorGroupInstance



Class TemperatureSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.TemperatureSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.TemperatureSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.TemperatureSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.TemperatureSensor']/DeviceID$",keyPropertyDictionary.Item("Dell.Server.TemperatureSensor/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.TemperatureSensor']/ElementName$",compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.TemperatureSensor", new TemperatureSensorInstance


Class FanSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.FanSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.FanSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.FanSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.FanSensorGroup", new FanSensorGroupInstance



Class FanSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.FanSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.FanSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.FanSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.FanSensor']/DeviceID$",keyPropertyDictionary.Item("Dell.Server.FanSensor/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.FanSensor']/ElementName$",compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.FanSensor", new FanSensorInstance


Class VoltageSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.VoltageSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.VoltageSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.VoltageSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.VoltageSensorGroup", new VoltageSensorGroupInstance



Class VoltageSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.VoltageSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.VoltageSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.VoltageSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.VoltageSensor']/DeviceID$",keyPropertyDictionary.Item("Dell.Server.VoltageSensor/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.VoltageSensor']/ElementName$",compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.VoltageSensor", new VoltageSensorInstance


Class IntrusionSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.IntrusionSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.IntrusionSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.IntrusionSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.IntrusionSensorGroup", new IntrusionSensorGroupInstance



Class IntrusionSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.IntrusionSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.IntrusionSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.IntrusionSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.IntrusionSensor']/DeviceID$",keyPropertyDictionary.Item("Dell.Server.IntrusionSensor/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.IntrusionSensor']/ElementName$",compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.IntrusionSensor", new IntrusionSensorInstance



Class BatterySensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.BatterySensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BatterySensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.BatterySensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.BatterySensorGroup", new BatterySensorGroupInstance



Class BatterySensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.BatterySensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BatterySensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.BatterySensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BatterySensor']/DeviceID$",keyPropertyDictionary.Item("Dell.Server.BatterySensor/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.BatterySensor']/ElementName$",compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.BatterySensor", new BatterySensorInstance


Class CurrentSensorGroupInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.CurrentSensorGroup']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.CurrentSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.CurrentSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.CurrentSensorGroup", new CurrentSensorGroupInstance



Class CurrentSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.CurrentSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.CurrentSensorGroup']/ID$", keyPropertyDictionary.Item("Dell.Server.CurrentSensorGroup/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.CurrentSensor']/DeviceID$",keyPropertyDictionary.Item("Dell.Server.CurrentSensor/DeviceID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.CurrentSensor']/ElementName$",compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.CurrentSensor", new CurrentSensorInstance

Class PresenceAndStatusSensorInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.ChassisControllerSensor']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server']/UID$", keyPropertyDictionary.Item("Dell.Server/UID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Sensors']/ID$", keyPropertyDictionary.Item("Dell.Server.Sensors/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ChassisControllerSensor']/DeviceID$", compObject.getAttributevalue("DeviceID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.ChassisControllerSensor']/ElementName$", compObject.getAttributevalue("ElementName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.PresenceAndStatusSensor", new PresenceAndStatusSensorInstance
'T Update PCIeSSD instances

Class ExtenderInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

log.MOMDebugLog 1, "KeyProperty of Dell.Server.Storage.Extender : " &amp; keyPropertyDictionary.Item("Dell.Server.Storage.Extender/ID")

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Extender/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender", new ExtenderInstance


Class BackPlaneInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then

Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.BackPlane']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Extender/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.BackPlane']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Extender.BackPlane/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.BackPlane']/DisplayName$", compObject.getAttributevalue("DisplayName"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.BackPlane']/SlotCount$", compObject.getAttributevalue("SlotCount"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.BackPlane']/FirmwareVersion$", compObject.getAttributevalue("FirmwareVersion"))

log.MOMDebugLog 1, "KeyProperty of Dell.Server.Storage.Extender : " &amp; keyPropertyDictionary.Item("Dell.Server.Storage.Extender/ID")

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender.BackPlane", new BackPlaneInstance

Class PCIeSSDPhysicalDiskInstance
Private keyPropertyDictionary
Private oInst
Private Sub Class_Initialize
Set keyPropertyDictionary = CreateObject("Scripting.Dictionary")
keyPropertyDictionary.CompareMode = vbTextCompare
End Sub
Public Function ClearKeyProperties()
keyPropertyDictionary.RemoveAll 'Clear the dictionary
End Function
Public Function SetKeyProperty(ByRef key, ByRef val)
keyPropertyDictionary.Add key, val
End Function
Public Function CreateAndPopulateInstance(ByRef omAPIHelper, ByRef compObject, ByRef displayName)
If Not compObject is Nothing Then
Set oInst=omAPIHelper.CreateClassInstance("$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']$")
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", principalName)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Extender/ID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.BackPlane']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Extender.BackPlane/ID"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/ID$", keyPropertyDictionary.Item("Dell.Server.Storage.Extender.PhysicalDisk/ID"))

'Unit conversion for PCIeSSD physical Disk Size In MB
Dim SizeStr
Dim SizeInt
If compObject.getAttributevalue("Size") &lt;&gt; "Not Available" Then
SizeInt = CDbl(compObject.getAttributevalue("Size"))
If SizeInt &lt; 1024 Then
SizeStr = compObject.getAttributevalue("Size") &amp; " Bytes"
ElseIf SizeInt &gt;= 1024 And SizeInt &lt; 1048576 Then
SizeInt = SizeInt / 1024
SizeInt = round(SizeInt, 2)
SizeStr = Cstr(SizeInt) &amp; " KB"
ElseIf SizeInt &gt;= 1048576 And SizeInt &lt; 1073741824 Then
SizeInt = SizeInt / 1048576
SizeInt = round(SizeInt, 2)
SizeStr = Cstr(SizeInt) &amp; " MB"
ElseIf SizeInt &gt;= 1073741824 And SizeInt &lt; 1099511627776 Then
SizeInt = SizeInt / 1073741824
SizeInt = round(SizeInt, 2)
SizeStr = Cstr(SizeInt) &amp; " GB"
ElseIf SizeInt &gt;= 1099511627776 And SizeInt &lt; 1125899906842624 Then
SizeInt = SizeInt / 1099511627776
SizeInt = round(SizeInt, 2)
SizeStr = Cstr(SizeInt) &amp; " TB"
ElseIf SizeInt &gt;= 1125899906842624 Then
SizeInt = SizeInt / 1125899906842624
SizeInt = round(SizeInt, 2)
SizeStr = Cstr(SizeInt) &amp; " PB"
End If
Else
SizeStr = "Not Available"
End If
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/Size$", SizeStr)
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/Model$", compObject.getAttributevalue("Model"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/BusProtocol$", compObject.getAttributevalue("BusProtocol"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/DeviceProtocol$", compObject.getAttributevalue("DeviceProtocol"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/DriverVersion$", compObject.getAttributevalue("DriverVersion"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/MediaType$", compObject.getAttributevalue("MediaType"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/Manufacturer$", compObject.getAttributevalue("Manufacturer"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/ProductID$", compObject.getAttributevalue("ProductID"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/SerialNumber$", compObject.getAttributevalue("SerialNumber"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/DriveFormFactor$", compObject.getAttributevalue("DriveFormFactor"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/CapableSpeed$", compObject.getAttributevalue("CapableSpeed"))
call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='DellModelServer!Dell.Server.Storage.Extender.PhysicalDisk']/FirmwareVersion$", compObject.getAttributevalue("FirmwareVersion"))

call omAPIHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", displayName)
omAPIHelper.AddInstanceToDiscoveryData oInst

Set CreateAndPopulateInstance = oInst
End If
End Function
End Class
creatorFactory.Add "Dell.Server.Storage.Extender.PhysicalDisk", new PCIeSSDPhysicalDiskInstance

'#################################################################################################################################
</ComponentInstanceFactoryScript>
<PrePopulationScript>
'#################################################################################################################################
'**************************************************************************************************
'Discovery PrePopulator code
'**************************************************************************************************
Class PrePopulatorMapper
Function PrePopulateFields(ByRef compObject, ByRef protParameterObj)
Dim className
className = compObject.getMgmtConsoleClassName()
If className = "Dell.Server" Then
Dim serverHostName
serverHostName = compObject.getAttributevalue("HostName")
If serverHostName = "Not Available" Then
Call compObject.modifyExistingAttributeValue("HostName", protParameterObj.getProtocolParameterValue("IPAddress"))
End If
Dim chaSrvTag
chaSrvTag = compObject.getAttributevalue("ChassisServiceTag")
If ( IsNull(chaSrvTag) OR chaSrvTag = "") Then
chaSrvTag = "Not Available"
Call compObject.modifyExistingAttributeValue("ChassisServiceTag", chaSrvTag)
End If
Call compObject.modifyExistingAttributeValue("RemoteAccessIP", protParameterObj.getProtocolParameterValue("IPAddress"))
Call compObject.modifyExistingAttributeValue("RemoteSettings", getRemoteSetting())
End If
End Function
End Class
'#################################################################################################################################
</PrePopulationScript>
<ServerDiscoveryScript>
'#################################################################################################################################
'**************************************************************************************************
'Discovery PreChecker code
'**************************************************************************************************

Dim discoveryHelperObject, serverGeneration, isServerManaged, serverType, generationValue, isHostNICManaged, modelType
Dim isPCIeSSDExtenderManaged, isPCIeSSDBackPlaneManaged, isPCIeSSDPhysicalDiskManaged
Dim doDiscovery, iDRACNicEnabled, discoveryPreCheckerObj, discoveryPreCheckerObj1, discoveryPreCheckerObj2, discoveryPreCheckerObj3, discoveryPreCheckerObj4
Set discoveryPreCheckerObj = New DiscoveryPreChecker
call discoveryPreCheckerObj.setProtocol("wsman")
call discoveryPreCheckerObj.setProtocolParameterObject(protParameterObj)
call discoveryPreCheckerObj.setProfileClasses("cimv2/DCIM_SystemView")
call discoveryPreCheckerObj.setComponentInventoryProfileHandle(discoveryPreCheckerObj.fetchSystemInfoFromDevice())

call discoveryPreCheckerObj.doServerClassification()
serverGeneration = discoveryPreCheckerObj.getServerGeneration()
isServerManaged = discoveryPreCheckerObj.isServerManaged()
serverType = discoveryPreCheckerObj.getServerType()
generationValue = discoveryPreCheckerObj.getGeneration()
'modelType = discoveryPreCheckerObj.getModel()
log.MOMDebugLog 1, "ServerManaged value is: " &amp; isServerManaged
log.MOMDebugLog 1, "Server Type value is: " &amp; serverType

Set discoveryPreCheckerObj1 = New DiscoveryPreChecker
call discoveryPreCheckerObj1.setProtocol("wsman")
call discoveryPreCheckerObj1.setProtocolParameterObject(protParameterObj)
call discoveryPreCheckerObj1.setProfileClasses("cimv2/DCIM_HOSTNetworkInterfaceView")
call discoveryPreCheckerObj1.setComponentInventoryProfileHandle(discoveryPreCheckerObj1.fetchSystemInfoFromDevice())

isHostNICManaged = discoveryPreCheckerObj1.IsHostNicPresent()
log.MOMDebugLog 1, "isHostNICManaged value is: " &amp; isHostNICManaged

Set discoveryPreCheckerObj2 = New DiscoveryPreChecker
call discoveryPreCheckerObj2.setProtocol("wsman")
call discoveryPreCheckerObj2.setProtocolParameterObject(protParameterObj)
call discoveryPreCheckerObj2.setProfileClasses("cimv2/DCIM_PCIeSSDExtenderView")
call discoveryPreCheckerObj2.setComponentInventoryProfileHandle(discoveryPreCheckerObj2.fetchSystemInfoFromDevice())

isPCIeSSDExtenderManaged = discoveryPreCheckerObj2.isPCIeSSDExtenderPresent()
log.MOMDebugLog 1, "PCIeSSD Extender Presence: " &amp; isPCIeSSDExtenderManaged

Set discoveryPreCheckerObj3 = New DiscoveryPreChecker
call discoveryPreCheckerObj3.setProtocol("wsman")
call discoveryPreCheckerObj3.setProtocolParameterObject(protParameterObj)
call discoveryPreCheckerObj3.setProfileClasses("cimv2/DCIM_PCIeSSDBackPlaneView")
call discoveryPreCheckerObj3.setComponentInventoryProfileHandle(discoveryPreCheckerObj3.fetchSystemInfoFromDevice())

isPCIeSSDBackPlaneManaged = discoveryPreCheckerObj3.isPCIeSSDBackPlanePresent()
log.MOMDebugLog 1, "PCIeSSD BackPlane presence: " &amp; isPCIeSSDBackPlaneManaged

Set discoveryPreCheckerObj4 = New DiscoveryPreChecker
call discoveryPreCheckerObj4.setProtocol("wsman")
call discoveryPreCheckerObj4.setProtocolParameterObject(protParameterObj)
call discoveryPreCheckerObj4.setProfileClasses("cimv2/DCIM_PCIeSSDView")
call discoveryPreCheckerObj4.setComponentInventoryProfileHandle(discoveryPreCheckerObj4.fetchSystemInfoFromDevice())

isPCIeSSDPhysicalDiskManaged = discoveryPreCheckerObj4.isPCIeSSDPhysicalDiskPresent()
log.MOMDebugLog 1, "PCIeSSDPhysicalDisk presence: " &amp; isPCIeSSDPhysicalDiskManaged

If isServerManaged = "" And serverGeneration = "" Then
Set discoveryHelperObject = New DiscoveryHelper
Call discoveryHelperObject.CreateAndSubmitEmptyDiscoveryData()
discoveryHelperObject.destroyCOMObjects()
Set discoveryHelperObject = Nothing
End If

log.MOMDebugLog 1, "generation value is: " &amp; generationValue

' TODO: change the serverGeneration checking code to check for 12G onwards

If isServerManaged = "True" And generationValue &gt; 11 Then
' Check if the Set Preferred Monitoring method is set for 12G devices onwards.
' Based on that the doDiscovery flag is set
' doDiscovery flag is also set after checking if the device has license allotted

doDiscovery = discoveryPreCheckerObj.isDoDiscoveryFlagSet()
'doDiscovery = True ***Hardcoding doDiscovery if Service tag is unknown or unavailable
log.MOMDebugLog 1, "doDiscovery value is: " &amp; doDiscovery

iDRACNicEnabled = discoveryPreCheckerObj.isiDRACNicEnableFlagSet()
log.MOMDebugLog 1, "isiDRACNicEnableFlag value is: " &amp; iDRACNicEnabled
discoveryPreCheckerObj.destroyCOMObjects()
Set discoveryPreCheckerObj = Nothing


If doDiscovery = True Then
' Proceeding with the discovery of 12G+ devices...
Dim profileDictCreatorObj
Set profileDictCreatorObj = New ProfileDictionaryCreator
'update isHostNIC member value.
profileDictCreatorObj.ishostNIC = isHostNICManaged
profileDictCreatorObj.isPCIeSSDExtender = isPCIeSSDExtenderManaged
profileDictCreatorObj.isPCIeSSDBackPlane = isPCIeSSDBackPlaneManaged
profileDictCreatorObj.isPCIeSSDPhysicalDisk = isPCIeSSDPhysicalDiskManaged
profileDictCreatorObj.generation = generationValue

Call profileDictCreatorObj.PopulateProfileDictionary()

Dim profileInfoDict
Set profileInfoDict = profileDictCreatorObj.GetProfileDictionary()
log.MOMDebugLog 1, "GetProfileDictionary Done: "

Dim profDictReader
Set profDictReader = New ProfileDictionaryReader
profDictReader.setListofProtocolAndClassNames(profileInfoDict)

Dim protoList
protoList = profDictReader.getProtocolList()

Dim protFactoryObj
Set protFactoryObj = New ProtocolFactory

Dim classList
classList = profDictReader.getClassNameList()

Dim protocolHelperOject

Dim i, componentInventoryProfileHandle
set componentInventoryProfileHandle=CreateObject("Scripting.Dictionary")
componentInventoryProfileHandle.CompareMode = vbTextCompare
For i=0 to profDictReader.getProtocolListCount() -1
Set protocolHelperOject = protFactoryObj.getProtocolHelperObject(protoList(i), protParameterObj)
protocolHelperOject.ProfileNameArrayObj=classList
Set componentInventoryProfileHandle = protocolHelperOject.GetProfileDictionary()
Next

'Now use the Protocol Helper object to pass the list of DCIM classes

Dim invDataParser, compObjectList
Set invDataParser = New InventoryDataParser
invDataParser.setComponentInventoryProfileHandle(componentInventoryProfileHandle)
invDataParser.populateComponentObjects(profileInfoDict)
compObjectList = invDataParser.getComponentObjects()

'**************************************************************************************************
'Discoverydata invocation for Managed Server
'**************************************************************************************************
Set discoveryHelperObject = New DiscoveryHelper
'Create class instance and properties and submit the scom discovery data
Call discoveryHelperObject.CreateClassInstanceAndProperties(compObjectList, serverType)

Dim stoContList, stoEnclList, stoEnclEMMList, stoEnclPSList, stoVirtDiskList, stoPhyDiskList, stoEnclFanSensorList, stoEnclTempSensorList, stoContBatteryList, compObjListFilter, stoCompModellerObj, stoExtenderList, stoBackPlaneList, stoPDList
Set compObjListFilter = New ComponentObjectListFilter
stoContList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoEnclList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoEnclEMMList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.EMM")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoEnclPSList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.PowerSupply")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoVirtDiskList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.VirtualDisk")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoPhyDiskList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.PhysicalDisk")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoEnclFanSensorList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.FanSensor")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoEnclTempSensorList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Enclosure.TempSensor")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing
Set compObjListFilter = New ComponentObjectListFilter
stoContBatteryList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.Battery")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing

'T Storage.Extender
log.MOMDebugLog 1, "Dell.Server.Storage.Extender "
Set compObjListFilter = New ComponentObjectListFilter
stoExtenderList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing

log.MOMDebugLog 1, "Dell.Server.Storage.Extender.Backplane "
Set compObjListFilter = New ComponentObjectListFilter
stoBackPlaneList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender.BackPlane")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing

Set compObjListFilter = New ComponentObjectListFilter
stoPDList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Extender.PhysicalDisk")
compObjListFilter.destroyCOMObjects()
set compObjListFilter = Nothing

log.MOMDebugLog 1, "Dell.Server.Storage.Extender Server ID: " &amp; discoveryHelperObject.GetServerUID()

Dim omAPIHelper: Set omAPIHelper = discoveryHelperObject.GetMomAPIHelper()
Dim oStoInst, oServInst, oServStoRelationship, hostMgmtServer, ServiceTag, SledName, oHealthServiceInstance, instance, healthServiceRelationship, serverUID
Set stoCompModellerObj = New StorageComponentModeller
call stoCompModellerObj.setMomApiHelper(omAPIHelper)
call stoCompModellerObj.setServerUID(discoveryHelperObject.GetServerUID())
call stoCompModellerObj.performStorageComponentModelling(stoContList, stoEnclList, stoEnclEMMList, stoEnclPSList, stoPhyDiskList, stoVirtDiskList, stoEnclFanSensorList, stoEnclTempSensorList, stoContBatteryList, stoExtenderList, stoBackPlaneList, stoPDList)
Set oServInst = discoveryHelperObject.getServerInstance()
Set oStoInst = stoCompModellerObj.getStorageInstance()
Set oServStoRelationship = omAPIHelper.CreateRelationshipInstance("$MPElement[Name='DellModelServer!DellServer.Contains.Storage']$", oServInst, oStoInst)
omAPIHelper.AddInstanceToDiscoveryData oServStoRelationship
log.MOMDebugLog 1, "Submitting server and storage Discovery data...."
Call omAPIHelper.SubmitDiscoveryData()
profileDictCreatorObj.destroyCOMObjects()
Set profileDictCreatorObj = Nothing
profDictReader.destroyCOMObjects()
set profDictReader = Nothing
protFactoryObj.destroyCOMObjects()
Set protFactoryObj = Nothing
componentInventoryProfileHandle.RemoveAll
Set componentInventoryProfileHandle = Nothing
invDataParser.destroyCOMObjects()
Set invDataParser = Nothing
protocolHelperOject.ClearProfileDictionary()
set protocolHelperOject = Nothing
stoCompModellerObj.destroyCOMObjects()
set stoCompModellerObj = Nothing
discoveryHelperObject.destroyCOMObjects()
set discoveryHelperObject = Nothing
omAPIHelper.destroyCOMObjects()
set omAPIHelper = Nothing
Dim compObj
For Each compObj In compObjectList
compObj.destroyCOMObjects()
set compObj = Nothing
Next

'Calling Code to Configuration Class
Dim ConfigureObject
log.MOMDebugLog 1, "Trap Config code start"
Set ConfigureObject=New TrapConfigurationClass
ConfigureObject.ConfigureTrapDest()
log.MOMDebugLog 1, "Trap Config code done"
ConfigureObject.DeleteComObject()
Set ConfigureObject = Nothing

Else
' Not proceeding with the discovery...
' Submit empty discovery data (discovery sink)
Set discoveryHelperObject = New DiscoveryHelper
Call discoveryHelperObject.CreateAndSubmitEmptyDiscoveryData()
discoveryHelperObject.destroyCOMObjects()
set discoveryHelperObject = Nothing
End If
Else
'**************************************************************************************************
'Discoverydata invocation for Un-Managed Server
'**************************************************************************************************
Set discoveryHelperObject = New DiscoveryHelper
If isServerManaged = "False" And serverGeneration = "NA" Then
'Create class instance and properties and submit the scom discovery data
Call discoveryHelperObject.CreateUnmanagedServerObjectAndSubmitDiscovery()
discoveryHelperObject.destroyCOMObjects()
set discoveryHelperObject = Nothing
End If
End If

'#################################################################################################################################
'Trap Configuration Class will set the trap Destination with the MS IP address/FQDN
'#################################################################################################################################

class TrapConfigurationClass
Dim TrapObj
Public Function ConfigureTrapDest()

Dim TrapResult
Set TrapObj= CreateObject("OOBHelper.Wsman")
if(IsNull(TrapObj)) Then
log.MOMDebugLog 1, "The COM object is NULL"
else
TrapObj.UserName = protParameterObj.getProtocolParameterValue("UserName")

TrapObj.Password = protParameterObj.getProtocolParameterValue("Password")

TrapObj.IpAddress = protParameterObj.getProtocolParameterValue("IPAddress")

TrapObj.Port = protParameterObj.getProtocolParameterValue("Port")

TrapObj.SkipCNCheck = cbool(protParameterObj.getProtocolParameterValue("SkipCNCheck"))

TrapObj.SkipCACheck = cbool(protParameterObj.getProtocolParameterValue("SkipCACheck"))

TrapObj.Encoding = protParameterObj.getProtocolParameterValue("Encoding")

TrapObj.TimeOut = protParameterObj.getProtocolParameterValue("Timeout")

log.MOMDebugLog 1, "The MS IP Address String is " &amp; msIPAddress
log.MOMDebugLog 1, "The Principal Name is " &amp; principalName
log.MOMDebugLog 1, "The SendFQDN flag is " &amp; SendMSFQN
log.MOMDebugLog 1, "Call Trap Configuration Method"

if(SendMSFQN = "true" ) Then
TrapResult = TrapObj.ConfigureTrapDestination(msIPAddress, principalName)
else
TrapResult = TrapObj.ConfigureTrapDestination(msIPAddress, "")
End if

log.MOMDebugLog 1, "Result obtained ::" &amp; TrapResult

if(TrapResult = "AlreadyConfigured") Then
log.MOMDebugLog 1, "The Trap Destination is Already Configured"
End if

if(TrapResult = "NoFreeSlotAvailable") Then
log.MOMDebugLog 1, "There is no free slot available"
End if

if(TrapResult = "FieldIsReadOnly") Then
log.MOMDebugLog 1, "The Trap Destination Field is Read Only"
End if

if(TrapResult = "UpdatedSuccess") Then
log.MOMDebugLog 1, "It was not configured earlier. The update of Ms ipaddress is successful"
End if

if(TrapResult = "UpdateFailure") Then
log.MOMDebugLog 1, "It was not configured earlier. The update of Ms ipaddress is Not successful"

End if
End if
End Function

Public Function DeleteComObject
set TrapObj = Nothing
End Function
End Class



'**************************************************************************************************
'Storage Component Modeller code
'**************************************************************************************************
Class StorageComponentModeller

Private m_connectorEnclosureMappingDict
Private m_enclosurePhysicalDiskMappingDict
Private m_enclosurePowerSupplyMappingDict
Private m_enclosureEMMMappingDict
Private m_enclosureFanSensorMappingDict
Private m_enclosureTempSensorMappingDict
Private m_controllerBatteryMappingDict
Private m_controllerPhysicalDiskMappingDict
Private m_controllerVirtualDiskMappingDict
Private m_momApiHelper
Private m_serverUIDVal
Private m_oStoInst
Private m_pciessdBackPlaneMappingDIct
Private m_pciessdphysicalDiskMappingDIct

Private Sub Class_Initialize
Set m_connectorEnclosureMappingDict = CreateObject("Scripting.Dictionary")
m_connectorEnclosureMappingDict.CompareMode = vbTextCompare
Set m_enclosurePhysicalDiskMappingDict = CreateObject("Scripting.Dictionary")
m_enclosurePhysicalDiskMappingDict.CompareMode = vbTextCompare
Set m_enclosurePowerSupplyMappingDict = CreateObject("Scripting.Dictionary")
m_enclosurePowerSupplyMappingDict.CompareMode = vbTextCompare
Set m_enclosureEMMMappingDict = CreateObject("Scripting.Dictionary")
m_enclosureEMMMappingDict.CompareMode = vbTextCompare
Set m_enclosureFanSensorMappingDict = CreateObject("Scripting.Dictionary")
m_enclosureFanSensorMappingDict.CompareMode = vbTextCompare
Set m_enclosureTempSensorMappingDict = CreateObject("Scripting.Dictionary")
m_enclosureTempSensorMappingDict.CompareMode = vbTextCompare
Set m_controllerBatteryMappingDict = CreateObject("Scripting.Dictionary")
m_controllerBatteryMappingDict.CompareMode = vbTextCompare
Set m_controllerPhysicalDiskMappingDict = CreateObject("Scripting.Dictionary")
m_controllerPhysicalDiskMappingDict.CompareMode = vbTextCompare
Set m_controllerVirtualDiskMappingDict = CreateObject("Scripting.Dictionary")
m_controllerVirtualDiskMappingDict.CompareMode = vbTextCompare
Set m_pciessdBackPlaneMappingDIct = CreateObject("Scripting.Dictionary")
m_pciessdBackPlaneMappingDIct.CompareMode = vbTextCompare
Set m_pciessdphysicalDiskMappingDIct = CreateObject("Scripting.Dictionary")
m_pciessdphysicalDiskMappingDIct.CompareMode = vbTextCompare
End Sub

Public Function destroyCOMObjects()
m_connectorEnclosureMappingDict.RemoveAll
m_enclosurePhysicalDiskMappingDict.RemoveAll
m_enclosurePowerSupplyMappingDict.RemoveAll
m_enclosureEMMMappingDict.RemoveAll
m_enclosureFanSensorMappingDict.RemoveAll
m_enclosureTempSensorMappingDict.RemoveAll
m_controllerBatteryMappingDict.RemoveAll
m_controllerPhysicalDiskMappingDict.RemoveAll
m_controllerVirtualDiskMappingDict.RemoveAll
m_pciessdBackPlaneMappingDIct.RemoveAll
m_pciessdphysicalDiskMappingDIct.RemoveALL
set m_connectorEnclosureMappingDict = Nothing
set m_enclosurePhysicalDiskMappingDict = Nothing
set m_enclosurePowerSupplyMappingDict = Nothing
set m_enclosureEMMMappingDict = Nothing
set m_enclosureFanSensorMappingDict = Nothing
set m_enclosureTempSensorMappingDict = Nothing
set m_controllerBatteryMappingDict = Nothing
set m_controllerPhysicalDiskMappingDict = Nothing
set m_controllerVirtualDiskMappingDict = Nothing
set m_pciessdBackPlaneMappingDIct = Nothing
set m_pciessdphysicalDiskMappingDIct = Nothing
End Function

Public Function setMomApiHelper(ByRef mApiHelpObj)
Set m_momApiHelper = mApiHelpObj
End Function

Public Function setServerUID(serverUIDVal)
m_serverUIDVal = serverUIDVal
End Function

Public Function getStorageInstance()
Set getStorageInstance = m_oStoInst
End Function

Public Function performStorageComponentModelling(ByRef contList, enclList, enclEMMList, enclPSList, enclPhyDiskList, enclVirtDiskList, enclFanSensorList, enclTempSensorList, contBatteryList, ByRef ExtenderList, BackPlaneList, PDList)
Dim controllerObj, connectorid, enclObject, intEnclPhysDiskObjList, extEnclPhysDiskObjList, extEnclPSObjList, extEnclEMMObjList, extEnclFanSensorObjList, extEnclTempSensorObjList, contBatteryObjList, contVirtDiskObjList, dasList, connectorList
Dim ExtenderObj, BackPlaneObj, PhysicalDiskObj
Dim className, componentInstance

'Create Storage Component Object
className = "Dell.Server.Storage"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", m_serverUIDVal)
Set m_oStoInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Storage")
'CreateClassInstanceForStorage()

For Each controllerObj In contList
'Create Controller Object
className = controllerObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, controllerObj, controllerObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForStorageController(controllerObj)

call performControllerBatteryMapping(controllerObj.getAttributevalue("DeviceID"), contBatteryList)
contBatteryObjList = m_controllerBatteryMappingDict.Items
If m_controllerBatteryMappingDict.Count &gt; 0 Then
'Create Controller Sensor Object
className = "Dell.Server.Storage.Controller.Sensor"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", "Controller Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Controller Sensor")
call componentInstance.ClearKeyProperties()

'Create Battery Group Object
className = "Dell.Server.Storage.Controller.BatteryGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Sensor/ID", "Controller Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", "Battery Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Battery")
call componentInstance.ClearKeyProperties()

Dim contBatteryObj
For each contBatteryObj In contBatteryObjList
'Create Controller Battery Object
className = contBatteryObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Sensor/ID", "Controller Sensor Group")
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.BatteryGroup/ID", "Battery Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", contBatteryObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, contBatteryObj, contBatteryObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()

'CreateClassInstanceForControllerSensor(controllerObj.getAttributevalue("DeviceID"), contBatteryObjList)
Next
m_controllerBatteryMappingDict.RemoveAll
End If

call performControllerPhysicalDiskMapping(controllerObj.getAttributevalue("DeviceID"), enclPhyDiskList)
dasList = m_controllerPhysicalDiskMappingDict.Items
If m_controllerPhysicalDiskMappingDict.Count &gt; 0 Then
Dim dasPhyDiskObj
For Each dasPhyDiskObj In dasList
'Create DAS Physical Disk Object
className = "Dell.Server.Storage.Controller.DirectAttachedPhysicalDisk"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", dasPhyDiskObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, dasPhyDiskObj, dasPhyDiskObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForDAS(controllerObj.getAttributevalue("DeviceID"), dasList)
Next
m_controllerPhysicalDiskMappingDict.RemoveAll
End If

call performControllerVirtualDiskMapping(controllerObj.getAttributevalue("DeviceID"), enclVirtDiskList)
contVirtDiskObjList = m_controllerVirtualDiskMappingDict.Items
If m_controllerVirtualDiskMappingDict.Count &gt; 0 Then
'Create Virtual Disk Group Object
className = "Dell.Server.Storage.Controller.VirtualDiskGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "Number", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Virtual Disk Group")
call componentInstance.ClearKeyProperties()

Dim contVirtDiskObj
For Each contVirtDiskObj In contVirtDiskObjList
'Create Virtual Disk Object
className = contVirtDiskObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.VirtualDiskGroup/Number", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", contVirtDiskObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, contVirtDiskObj, contVirtDiskObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForVirtualDisk(controllerObj.getAttributevalue("DeviceID"), contVirtDiskObjList)
Next
m_controllerVirtualDiskMappingDict.RemoveAll
End If

call performConnectorEnclosureMappingForController(controllerObj.getAttributevalue("DeviceID"), enclList)
connectorList = m_connectorEnclosureMappingDict.Keys
For Each connectorid In connectorList
'Create Connector Object
className = "Dell.Server.Storage.Controller.Connector"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", connectorid)
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Connector " &amp; connectorid)
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForStorageControllerConnector(controllerObj.getAttributevalue("DeviceID"), connectorid)

Set enclObject = m_connectorEnclosureMappingDict.Item(connectorid)
m_connectorEnclosureMappingDict.Remove(connectorid)
If Not IsNull(enclObject) Then
'Create Enclosure Object
className = enclObject.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, enclObject, enclObject.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForStorageControllerConnectorEnclosure(controllerObj.getAttributevalue("DeviceID"), connectorid, enclObject)
End If

If (InStr(enclObject.getAttributevalue("ID"), "Internal") &lt;&gt; 0) Then
call performEnclosurePhysicalDiskMapping(enclObject.getAttributevalue("ID"), enclPhyDiskList)
intEnclPhysDiskObjList = m_enclosurePhysicalDiskMappingDict.Items
If m_enclosurePhysicalDiskMappingDict.Count &gt; 0 Then
'Create Internal Physical Disk Group Object
className = "Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "Number", enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Enclosure Physical Disk Group")
call componentInstance.ClearKeyProperties()

Dim intEnclPhysDiskObj
For Each intEnclPhysDiskObj In intEnclPhysDiskObjList
'Create Internal Physical Disk Object
className = "Dell.Server.Storage.Controller.InternalPhysicalDisk"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.InternalPhysicalDiskGroup/Number", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", intEnclPhysDiskObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, intEnclPhysDiskObj, intEnclPhysDiskObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForPhysicalDisks(controllerObj.getAttributevalue("DeviceID"), connectorid, enclObject.getAttributevalue("ID"), intEnclPhysDiskObjList)
Next
m_enclosurePhysicalDiskMappingDict.RemoveAll
End If
ElseIf (InStr(enclObject.getAttributevalue("ID"), "External") &lt;&gt; 0) Then
call performEnclosurePhysicalDiskMapping(enclObject.getAttributevalue("ID"), enclPhyDiskList)
extEnclPhysDiskObjList = m_enclosurePhysicalDiskMappingDict.Items
If m_enclosurePhysicalDiskMappingDict.Count &gt; 0 Then
'Create External Physical Disk Group Object
className = "Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "Number", enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Enclosure Physical Disk Group")
call componentInstance.ClearKeyProperties()

Dim extEnclPhysDiskObj
For Each extEnclPhysDiskObj In extEnclPhysDiskObjList
'Create External Physical Disk Object
className = "Dell.Server.Storage.Controller.ExternalPhysicalDisk"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.ExternalPhysicalDiskGroup/Number", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", extEnclPhysDiskObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, extEnclPhysDiskObj, extEnclPhysDiskObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForPhysicalDisks(controllerObj.getAttributevalue("DeviceID"), connectorid, enclObject.getAttributevalue("ID"), extEnclPhysDiskObjList)
Next
m_enclosurePhysicalDiskMappingDict.RemoveAll
End If

call performEnclosurePowerSupplyMapping(enclObject.getAttributevalue("ID"), enclPSList)
extEnclPSObjList = m_enclosurePowerSupplyMappingDict.Items
If m_enclosurePowerSupplyMappingDict.Count &gt; 0 Then
'Create Power Supply Group Object
className = "Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "Number", enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Enclosure Power Supply Group")
call componentInstance.ClearKeyProperties()

Dim enclPSObj
For Each enclPSObj In extEnclPSObjList
'Create External Power Supply Object
className = enclPSObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.PowerSupplyGroup/Number", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", enclPSObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, enclPSObj, enclPSObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()

'CreateClassInstanceForEnclosurePowerSupply(controllerObj.getAttributevalue("DeviceID"), connectorid, enclObject.getAttributevalue("ID"), extEnclPSObjList)
Next
m_enclosurePowerSupplyMappingDict.RemoveAll
End If

call performEnclosureEMMMapping(enclObject.getAttributevalue("ID"), enclEMMList)
extEnclEMMObjList = m_enclosureEMMMappingDict.Items
If m_enclosureEMMMappingDict.Count &gt; 0 Then
Dim enclEMMObj
For Each enclEMMObj In extEnclEMMObjList
'Create EMM Object
className = enclEMMObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", enclEMMObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, enclEMMObj, enclEMMObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForEnclosureEMM(controllerObj.getAttributevalue("DeviceID"), connectorid, enclObject.getAttributevalue("ID"), extEnclEMMObjList)
Next
m_enclosureEMMMappingDict.RemoveAll
End If

call performEnclosureFanSensorMapping(enclObject.getAttributevalue("ID"), enclFanSensorList)
extEnclFanSensorObjList = m_enclosureFanSensorMappingDict.Items
call performEnclosureTempSensorMapping(enclObject.getAttributevalue("ID"), enclTempSensorList)
extEnclTempSensorObjList = m_enclosureTempSensorMappingDict.Items
If m_enclosureFanSensorMappingDict.Count &gt; 0 Or m_enclosureTempSensorMappingDict.Count &gt; 0 Then
'Create Enclosure Sensor Object
className = "Dell.Server.Storage.Controller.Enclosure.Sensor"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", "Enclosure Sensor" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Sensors")
call componentInstance.ClearKeyProperties()

'Create Fan Sensor Group Object
className = "Dell.Server.Storage.Controller.Enclosure.FanSensorGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.Sensor/ID", "Enclosure Sensor" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", "Fan Sensor Group" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Fan Sensors")
call componentInstance.ClearKeyProperties()

'Create Temp Sensor Group Object
className = "Dell.Server.Storage.Controller.Enclosure.TempSensorGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.Sensor/ID", "Enclosure Sensor" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", "Temperature Sensor Group" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Temperature Sensors")
call componentInstance.ClearKeyProperties()

Dim enclFanSensorObj
For Each enclFanSensorObj In extEnclFanSensorObjList
'Create Fan Sensor Object
className = enclFanSensorObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.Sensor/ID", "Enclosure Sensor" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.FanSensorGroup/ID", "Fan Sensor Group" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", enclFanSensorObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, enclFanSensorObj, enclFanSensorObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
Next

Dim enclTempSensorObj
For Each enclTempSensorObj In extEnclTempSensorObjList
'Create Temperature Sensor Object
className = enclTempSensorObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller/DeviceID", controllerObj.getAttributevalue("DeviceID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Connector/ID", connectorid)
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure/ID", enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.Sensor/ID", "Enclosure Sensor" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Controller.Enclosure.TempSensorGroup/ID", "Temperature Sensor Group" &amp; enclObject.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", enclTempSensorObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, enclTempSensorObj, enclTempSensorObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
Next
m_enclosureFanSensorMappingDict.RemoveAll
m_enclosureTempSensorMappingDict.RemoveAll
End If
End If
Next
Next
Dim extBackPlaneObjList, extPhysicalDIskObjList,extenderID
'T Extender object
For Each ExtenderObj In ExtenderList
'Create Extender Object
extenderID = ExtenderObj.getAttributevalue("ID")
className = "Dell.Server.Storage.Extender"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", ExtenderObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, ExtenderObj, ExtenderObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
'CreateClassInstanceForStorageExtender(ExtenderObj)
log.MOMDebugLog 1, "2.KeyProperty of Dell.Server.Storage.Extender : " &amp; m_serverUIDVal

'Create BackPlane list
call performExtenderBackPlaneMapping(extenderID, BackPlaneList)
extBackPlaneObjList = m_pciessdBackPlaneMappingDIct.Items

For Each BackPlaneObj In extBackPlaneObjList
'Create BackPlane Unit Object
log.MOMDebugLog 1, "1.KeyProperty of Dell.Server.Storage.BackPlane :"
log.MOMDebugLog 1, "1.KeyProperty of Dell.Server.Storage.BackPlane : " &amp; BackPlaneObj.getAttributevalue("ID")
className = "Dell.Server.Storage.Extender.BackPlane"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Storage.Extender/ID", ExtenderObj.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", BackPlaneObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, BackPlaneObj, BackPlaneObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()


call performExtenderphysicalDiskMapping(extenderID, PDList)
extPhysicalDIskObjList = m_pciessdphysicalDiskMappingDIct.Items
'Create PhysicalDisk Unit Object
For Each PhysicalDiskObj In extPhysicalDIskObjList
log.MOMDebugLog 1, "1.KeyProperty of Dell.Server.Storage.PD : " &amp; PhysicalDiskObj.getAttributevalue("ID")
className = "Dell.Server.Storage.Extender.PhysicalDisk"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.Storage/ID", m_serverUIDVal)
call componentInstance.setKeyProperty( "Dell.Server.Storage.Extender/ID", ExtenderObj.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server.Storage.Extender.BackPlane/ID", BackPlaneObj.getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", PhysicalDiskObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, PhysicalDiskObj, PhysicalDiskObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
Next
m_pciessdphysicalDiskMappingDIct.RemoveAll
Next
m_pciessdBackPlaneMappingDIct.RemoveAll
Next

End Function

Public Function performConnectorEnclosureMappingForController(ByRef controllerFQDD, ByRef enclosureObjectList)
Dim connectorId, enclosureObject, message
For Each enclosureObject in enclosureObjectList
If (InStr(enclosureObject.getAttributevalue("ID"), controllerFQDD) &lt;&gt; 0) Then
connectorId = enclosureObject.getAttributevalue("Connector")
If (m_connectorEnclosureMappingDict.Exists(connectorId)) Then
message = "Enclosure with same connector Id exist"
Else
m_connectorEnclosureMappingDict.Add connectorId, enclosureObject
message = "Enclosure with connector Id does not exist"
End If
End If
Next
End Function

Public Function performEnclosurePhysicalDiskMapping(ByRef enclFQDD, ByRef enclPhyDiskList)
Dim message, phyDiskFQDD, phyDiskObject
For Each phyDiskObject in enclPhyDiskList
phyDiskFQDD = phyDiskObject.getAttributevalue("ID")
If (InStr(phyDiskFQDD, enclFQDD) &lt;&gt; 0) Then
If (m_enclosurePhysicalDiskMappingDict.Exists(phyDiskFQDD)) Then
message = "Physical Disk with same FQDD exist"
Else
m_enclosurePhysicalDiskMappingDict.Add phyDiskFQDD, phyDiskObject
End If
End If
Next
End Function

Public Function performEnclosurePowerSupplyMapping(ByRef enclFQDD, ByRef enclPSObjectList)
Dim message, enclPSFQDD, enclPSObject
For Each enclPSObject in enclPSObjectList
enclPSFQDD = enclPSObject.getAttributevalue("ID")
If (InStr(enclPSFQDD, enclFQDD) &lt;&gt; 0) Then
If (m_enclosurePowerSupplyMappingDict.Exists(enclPSFQDD)) Then
message = "Power Supply with same FQDD exist"
Else
m_enclosurePowerSupplyMappingDict.Add enclPSFQDD, enclPSObject
End If
End If
Next
End Function

Public Function performEnclosureEMMMapping(ByRef enclFQDD, ByRef enclEMMObjectList)
Dim message, enclEMMFQDD, enclEMMObject
For Each enclEMMObject in enclEMMObjectList
enclEMMFQDD = enclEMMObject.getAttributevalue("ID")
If (InStr(enclEMMFQDD, enclFQDD) &lt;&gt; 0) Then
If (m_enclosureEMMMappingDict.Exists(enclEMMFQDD)) Then
message = "EMM with same FQDD exist"
Else
m_enclosureEMMMappingDict.Add enclEMMFQDD, enclEMMObject
End If
End If
Next
End Function

Public Function performEnclosureFanSensorMapping(ByRef enclFQDD, ByRef enclFanSensorObjectList)
Dim message, enclFanSensorFQDD, enclFanSensorObject
For Each enclFanSensorObject in enclFanSensorObjectList
enclFanSensorFQDD = enclFanSensorObject.getAttributevalue("ID")
If (InStr(enclFanSensorFQDD, enclFQDD) &lt;&gt; 0) Then
If (m_enclosureFanSensorMappingDict.Exists(enclFanSensorFQDD)) Then
message = "Fan Sensor with same FQDD exist"
Else
m_enclosureFanSensorMappingDict.Add enclFanSensorFQDD, enclFanSensorObject
End If
End If
Next
End Function

Public Function performEnclosureTempSensorMapping(ByRef enclFQDD, ByRef enclTempSensorObjectList)
Dim message, enclTempSensorFQDD, enclTempSensorObject
For Each enclTempSensorObject in enclTempSensorObjectList
enclTempSensorFQDD = enclTempSensorObject.getAttributevalue("ID")
If (InStr(enclTempSensorFQDD, enclFQDD) &lt;&gt; 0) Then
If (m_enclosureTempSensorMappingDict.Exists(enclTempSensorFQDD)) Then
message = "Fan Sensor with same FQDD exist"
Else
m_enclosureTempSensorMappingDict.Add enclTempSensorFQDD, enclTempSensorObject
End If
End If
Next
End Function

Public Function performControllerBatteryMapping(ByRef contFQDD, ByRef contBatteryObjectList)
Dim message, contBatteryFQDD, contBatteryObject
For Each contBatteryObject in contBatteryObjectList
contBatteryFQDD = contBatteryObject.getAttributevalue("ID")
If (InStr(contBatteryFQDD, contFQDD) &lt;&gt; 0) Then
If (m_controllerBatteryMappingDict.Exists(contBatteryFQDD)) Then
message = "Controller Sensor with same FQDD exist"
Else
m_controllerBatteryMappingDict.Add contBatteryFQDD, contBatteryObject
End If
End If
Next
End Function

Public Function performControllerPhysicalDiskMapping(ByRef contFQDD, ByRef phyDiskObjectList)
Dim message, phyDiskFQDD, phyDiskObject, dasDict, dasList
Set dasDict = CreateObject("Scripting.Dictionary")
dasDict.CompareMode = vbTextCompare
For Each phyDiskObject in phyDiskObjectList
If (InStr(phyDiskObject.getAttributevalue("ID"), "Direct") &lt;&gt; 0) Then
dasDict.Add phyDiskObject, "NA"
End If
Next
dasList = dasDict.Keys
If dasDict.Count &gt; 0 Then
For Each phyDiskObject in dasList
phyDiskFQDD = phyDiskObject.getAttributevalue("ID")
If (InStr(phyDiskFQDD, contFQDD) &lt;&gt; 0) Then
If (m_controllerPhysicalDiskMappingDict.Exists(phyDiskFQDD)) Then
message = "Direct Attached Disk with same FQDD exist"
Else
m_controllerPhysicalDiskMappingDict.Add phyDiskFQDD, phyDiskObject
End If
End If
Next
End If
End Function

Public Function performControllerVirtualDiskMapping(ByRef contFQDD, ByRef virtDiskObjectList)
Dim message, virtDiskFQDD, virtDiskObject
For Each virtDiskObject in virtDiskObjectList
virtDiskFQDD = virtDiskObject.getAttributevalue("ID")
If (InStr(virtDiskFQDD, contFQDD) &lt;&gt; 0) Then
If (m_controllerVirtualDiskMappingDict.Exists(virtDiskFQDD)) Then
message = "Virtual Disk with same FQDD exist"
Else
m_controllerVirtualDiskMappingDict.Add virtDiskFQDD, virtDiskObject
End If
End If
Next
End Function

Public Function performExtenderBackPlaneMapping(ByRef bpFQDD, ByRef backPlaneObjectList)
Dim message, backPlaneFQDD, backPlaneObject
For Each backPlaneObject in backPlaneObjectList
backPlaneFQDD = backPlaneObject.getAttributevalue("ID")
If (InStr(backPlaneFQDD, bpFQDD) &lt;&gt; 0) Then
If (m_pciessdBackPlaneMappingDIct.Exists(backPlaneFQDD)) Then
message = "Extender BackPlane with same FQDD exist"
Else
m_pciessdBackPlaneMappingDIct.Add backPlaneFQDD, backPlaneObject
End If
End If
Next
End Function
Public Function performExtenderphysicalDiskMapping(ByRef pdFQDD, ByRef extphysicalDiskObjectList)
Dim message, physicalDiskFQDD, physicaldiskObject
For Each physicaldiskObject in extphysicalDiskObjectList
physicalDiskFQDD = physicaldiskObject.getAttributevalue("ID")
If (InStr(physicalDiskFQDD, pdFQDD) &lt;&gt; 0) Then
If (m_pciessdphysicalDiskMappingDIct.Exists(physicalDiskFQDD)) Then
message = "Extender PhysicalDisk with same FQDD exist"
Else
m_pciessdphysicalDiskMappingDIct.Add physicalDiskFQDD, physicaldiskObject
End If
End If
Next
End Function

End Class

Class DiscoveryHelper
Private m_momApiHelper
Private m_serverUIDVal
Private m_oServerInst
Private m_serviceTag
Private m_serverNodeID

Private Sub Class_Initialize
Set m_momApiHelper = New MOMAPIHelper
End Sub

Public Function GetMomAPIHelper()
Set GetMomAPIHelper = m_momApiHelper
End Function

Public Function destroyCOMObjects()
m_momApiHelper.destroyCOMObjects()
Set m_momApiHelper = Nothing
End Function

Public Function GetServerUID()
GetServerUID = m_serverUIDVal
End Function

Public Function GetServiceTag()
GetServiceTag = m_serviceTag
End Function

Public Function GetNodeID()
GetNodeID = m_serverNodeID
End Function

Public Function getServerInstance()
Set getServerInstance = m_oServerInst
End Function

Function CreateClassInstanceAndProperties(compObjectList, serverObjType)
Call m_momApiHelper.CreateDiscoveryData(SourceId, ManagedEntityId)

Dim className, componentInstance, oInst, oSMASHInst, oRelationship
Dim sdCardList, compObjListFilter, serverList, procUnitList, memUnitList, psUnitList, biosList, idracList, nicList, licenseList, licenseGroupList,nicCapabilitiesList, aggregationMetricList
Dim HostNICList, HostNICGroupList, objectIdracEnumeration, idracEnumerationList
Dim raidEnumerationList , objectRaidEnumeration, physicalDiskList, objectPhysicalDisc, raidEnumerationFQDD, physicalDiscID

'Following lines are added to map "DCIM_RaidEnumeration"."RaidNegotiatedSpeed" with each "Dell.Server.Storage.Controller.PhysicalDisk"."NegotiatedSpeed"
Set compObjListFilter = New ComponentObjectListFilter
physicalDiskList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.PhysicalDisk")

Set compObjListFilter = New ComponentObjectListFilter
raidEnumerationList= compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.Storage.Controller.InternalPhysicalDisk.RAIDEnumeration")

If (ArrayCount(raidEnumerationList) &gt; 0) Then
For Each objectPhysicalDisc In physicalDiskList
physicalDiscID = Trim(objectPhysicalDisc.getAttributevalue("ID"))
For Each objectRaidEnumeration In raidEnumerationList
If (objectRaidEnumeration.getAttributevalue("RaidEnumeration_AttributeName") = "RAIDNegotiatedSpeed") Then
raidEnumerationFQDD = Trim(objectRaidEnumeration.getAttributevalue("RaidEnumeration_FQDD"))
If raidEnumerationFQDD = physicalDiscID Then
Call objectPhysicalDisc.modifyExistingAttributeValue("NegotiatedSpeed", objectRaidEnumeration.getAttributevalue("RaidEnumeration_CurrentValue"))
log.MOMDebugLog 1, "Negotiated Speed is " &amp; objectPhysicalDisc.getAttributevalue("NegotiatedSpeed")
End If
End If
Next
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
serverList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server")

'Following lines are added to get DCIM_IDRACCardEnumeration values and populate these values to idracEnumerationList
'Later this idracEnumerationList will be used to map DCIM_IDRACCardEnumeration-&gt;SystemLockdown to Dell.Server-&gt;SystemLockdown and
' DCIM_IDRACCardEnumeration-&gt;Status(InstanceID="iDRAC.Embedded.1#GroupManager.1#Status") to Dell.Server.IDRAC -&gt; GroupStatus
Set compObjListFilter = New ComponentObjectListFilter
idracEnumerationList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.IdracEnumeration")

If (ArrayCount(idracEnumerationList) &gt; 0) Then
For Each objectIdracEnumeration In idracEnumerationList
If (objectIdracEnumeration.getAttributevalue("IdracEnumeration_AttributeName") = "SystemLockdown") Then
Call serverList(0).modifyExistingAttributeValue("SystemLockdown", objectIdracEnumeration.getAttributevalue("IdracEnumeration_CurrentValue"))
log.MOMDebugLog 1, "SystemLockdown Value is " &amp; serverList(0).getAttributevalue("SystemLockdown")
End If
Next
End If

Dim strList, strObj
Set compObjListFilter = New ComponentObjectListFilter
strList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.OSDetails")
If (ArrayCount(strList) &gt; 0) Then
For Each strObj In strList
If (strObj.getAttributevalue("OperatingSystem_property") = "OSName") Then
Call serverList(0).modifyExistingAttributeValue("OperatingSystem", strObj.getAttributevalue("OperatingSystem_currentValue"))
log.MOMDebugLog 1, "Operating System is " &amp; serverList(0).getAttributevalue("OperatingSystem")
End If
If (strObj.getAttributevalue("OperatingSystemVersion_property") = "OSVersion") Then
Call serverList(0).modifyExistingAttributeValue("OperatingSystemVersion", strObj.getAttributevalue("OperatingSystemVersion_currentValue"))
log.MOMDebugLog 1, "Operating System Version is " &amp; serverList(0).getAttributevalue("OperatingSystemVersion")
End If
Next
End If

Dim prePopulatorMapperObj: Set prePopulatorMapperObj = new PrePopulatorMapper
call prePopulatorMapperObj.PrePopulateFields(serverList(0), protParameterObj)

If serverObjType = "Monolithic Server" Then
'Create Monolithic Server Object
className = "Dell.Server.MonolithicServer"
m_serverUIDVal = serverList(0).getAttributevalue("ServiceTag")
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
Set oInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, serverList(0), serverList(0).getAttributevalue("HostName"))
call componentInstance.ClearKeyProperties()
ElseIf serverObjType = "Modular Server" Then
'Create Modular Server object
className = "Dell.Server.ModularBlade"
m_serverUIDVal = serverList(0).getAttributevalue("ServiceTag")
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
Set oInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, serverList(0), serverList(0).getAttributevalue("HostName"))
call componentInstance.ClearKeyProperties()
ElseIf serverObjType = "Sled Server" Then
'Create Modular Server object
className = "Dell.Server.Sled.WithoutOS"
m_serverUIDVal = serverList(0).getAttributevalue("ServiceTag")

Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
Set oInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, serverList(0), serverList(0).getAttributevalue("HostName"))
call componentInstance.ClearKeyProperties()
ElseIf serverObjType = "Dell Rack WorkStation" Then
'Create Dell Rack WorkStation Server object
className = "Dell.Server.RackWorkstation"
m_serverUIDVal = serverList(0).getAttributevalue("ServiceTag")

Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
Set oInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, serverList(0), serverList(0).getAttributevalue("HostName"))
call componentInstance.ClearKeyProperties()
ElseIf serverObjType = "Sled FM Server" Then
'Create Modular Server object
className = "Dell.Server.SledNode.WithoutOS"
m_serverUIDVal = serverList(0).getAttributevalue("NodeID")

Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
Set oInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, serverList(0), serverList(0).getAttributevalue("HostName"))
call componentInstance.ClearKeyProperties()
End If
Set m_oServerInst = oInst

'Create Dell SMASH Object
className = "Dell.Server.SMASHDevice"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.SystemCenter.OOB.WSManDevice/IP", protParameterObj.getProtocolParameterValue("IPAddress"))
Set oSMASHInst = componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "")
call componentInstance.ClearKeyProperties()
If serverObjType = "Monolithic Server" Then
Set oRelationship = m_momApiHelper.CreateRelationshipInstance("$MPElement[Name='DellMonolithicServer.Contains.DellSMASHDevice']$", oInst, oSMASHInst)
ElseIf serverObjType = "Modular Server" Then
Set oRelationship = m_momApiHelper.CreateRelationshipInstance("$MPElement[Name='DellModularBlade.Contains.DellSMASHDevice']$", oInst, oSMASHInst)
ElseIf serverObjType = "Sled Server" Then
Set oRelationship = m_momApiHelper.CreateRelationshipInstance("$MPElement[Name='DellSled.Contains.DellSMASHDevice']$", oInst, oSMASHInst)
ElseIf serverObjType = "Sled FM Server" Then
Set oRelationship = m_momApiHelper.CreateRelationshipInstance("$MPElement[Name='DellSledNode.Contains.DellSMASHDevice']$", oInst, oSMASHInst)
ElseIf serverObjType = "Dell Rack WorkStation" Then
Set oRelationship = m_momApiHelper.CreateRelationshipInstance("$MPElement[Name='DellRackWorkStation.Contains.DellSMASHDevice']$", oInst, oSMASHInst)
End If
m_momApiHelper.AddInstanceToDiscoveryData oSMASHInst
m_momApiHelper.AddInstanceToDiscoveryData oRelationship

Set compObjListFilter = New ComponentObjectListFilter
aggregationMetricList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.AvgCUPSUtilizationPerDay")
If ArrayCount(aggregationMetricList) &gt; 0 Then
Dim aggregationMetricUnitObj, instIndex
For Each aggregationMetricUnitObj In aggregationMetricList
instIndex = aggregationMetricUnitObj.getAttributevalue("ID")
If (Instr(Lcase(instIndex),"systemboard") and Instr(Lcase(instIndex),"avg") and Instr(Lcase(instIndex),"sysusage") and Instr(Lcase(instIndex),"1d")) Then
'Create AvgCUPSUtilizationPerDay Object
log.MOMDebugLog 1, "Avg CUPS Utilization Per Day Instance " &amp; instIndex
className = "Dell.Server.AvgCUPSUtilizationPerDay"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.AvgCUPSUtilizationPerDay/ID", "Dell Server Capacity Threshold Check")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Dell Server Capacity Threshold Check")
call componentInstance.ClearKeyProperties()
End If
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
procUnitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.ProcUnit")
If ArrayCount(procUnitList) &gt; 0 Then
'Create processor Group Object
className = "Dell.Server.Processors"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Processors/ID", "Processor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Processors")
call componentInstance.ClearKeyProperties()
Dim procUnitObj
For Each procUnitObj In procUnitList
'Create Processor Unit Objects
className = procUnitObj.getMgmtConsoleClassName()
WScript.Echo "className : " &amp; className
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Processors/ID", "Processor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", procUnitObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, procUnitObj, procUnitObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
memUnitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.MemoryUnit")
If ArrayCount(memUnitList) &gt; 0 Then
'Create Memory Group Object
className = "Dell.Server.Memory"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Memory/ID", "Memory Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Memory")
call componentInstance.ClearKeyProperties()
Dim memUnitObj
For Each memUnitObj In memUnitList
'Create Memory Unit Objects
className = memUnitObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Memory/ID", "Memory Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", memUnitObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, memUnitObj, memUnitObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
licenseList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.License")
If ArrayCount(licenseList) &gt; 0 Then
'Create License Group Object
className = "Dell.Server.LicenseGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.LicenseGroup/ID", "License Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "License Group")
call componentInstance.ClearKeyProperties()
'create license object
className = "Dell.Server.License"
Dim licenseUnitObj
For Each licenseUnitObj In licenseList
'Create License Unit Objects
className = licenseUnitObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", licenseUnitObj.getAttributevalue("ID"))
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.LicenseGroup/ID", "License Group") 'All parent keys to be mentioned
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, licenseUnitObj)
call componentInstance.ClearKeyProperties()
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
sdCardList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.SDCard")
If ArrayCount(sdCardList) &gt; 0 Then
'Create SDCard Group Object
className = "Dell.Server.SDCardGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.SDCardGroup/ID", "SD Card Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "SD Card Group")
call componentInstance.ClearKeyProperties()
'create SDCard object
className = "Dell.Server.SDCard"
Dim sdCardUnitObj
For Each sdCardUnitObj In sdCardList
'Create sdCard Unit Objects
className = sdCardUnitObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.SDCardGroup/ID", "SD Card Group") 'All parent keys to be mentioned
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", sdCardUnitObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, sdCardUnitObj)
call componentInstance.ClearKeyProperties()
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
HostNICList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.HostNIC")

If isHostNICManaged = "True" Then
'If ArrayCount(HostNICList) &gt; 0 Then
log.MOMDebugLog 1, "HOST_NIC list is greater than 0"
'Create HostNIC Group Object
className = "Dell.Server.HostNICGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.HostNICGroup/ID", "HostNIC Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "HostNIC Group")
call componentInstance.ClearKeyProperties()
'create HostNIC object
className = "Dell.Server.HostNIC"
Dim HostNICUnitObj
For Each HostNICUnitObj In HostNICList
If (Instr(Lcase(HostNICUnitObj.getAttributevalue("DeviceFQDD")),"not available")) Then
log.MOMDebugLog 1, "HOST_NIC DeviceFQDD is " &amp;(HostNICUnitObj.getAttributevalue("DeviceFQDD"))
Else
'If not HostNICUnitObj.getAttributevalue("DeviceFQDD") is null Then
'Create HostNIC Unit Object
className = HostNICUnitObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "InstanceID", HostNICUnitObj.getAttributevalue("InstanceID"))
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.HostNICGroup/ID", "HostNIC Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, HostNICUnitObj)
call componentInstance.ClearKeyProperties()
End If
Next
'End If
End If

Set compObjListFilter = New ComponentObjectListFilter
psUnitList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.PSUnit")
If ArrayCount(psUnitList) &gt; 0 Then
'Create PowerSupply Group Object
className = "Dell.Server.PowerSupplies"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.PowerSupplies/ID", "Power Supply Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Power Supply")
call componentInstance.ClearKeyProperties()
Dim psUnitObj
For Each psUnitObj In psUnitList
'Create PS Unit Objects
className = psUnitObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.PowerSupplies/ID", "Power Supply Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", psUnitObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, psUnitObj, psUnitObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
Next
End If

Set compObjListFilter = New ComponentObjectListFilter
biosList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.BIOS")
If ArrayCount(biosList) &gt; 0 Then
'Create BIOS Object
className = biosList(0).getMgmtConsoleClassName()

Dim softwareIdentityObjList, softwareIdentityObj
Set compObjListFilter = New ComponentObjectListFilter
softwareIdentityObjList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.SoftwareIdentity")
If (ArrayCount(softwareIdentityObjList) &gt; 0) Then
For Each softwareIdentityObj In softwareIdentityObjList
If ((softwareIdentityObj.getAttributevalue("ComponentType") = "BIOS") And (InStr(softwareIdentityObj.getAttributevalue("InstanceID"), "INSTALLED#") &gt; 0)) Then
Call biosList(0).modifyExistingAttributeValue("Name", softwareIdentityObj.getAttributevalue("FQDD"))
Call biosList(0).modifyExistingAttributeValue("SMBIOSBIOSVersion", softwareIdentityObj.getAttributevalue("VersionString"))
Call biosList(0).modifyExistingAttributeValue("SMBIOSMajorVersion", softwareIdentityObj.getAttributevalue("MajorVersion"))
Call biosList(0).modifyExistingAttributeValue("SMBIOSMinorVersion", softwareIdentityObj.getAttributevalue("MinorVersion"))
Call biosList(0).modifyExistingAttributeValue("SMBIOSPresent", "True")
Exit For
End If
Next
End If

Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "SerialNumber", biosList(0).getAttributevalue("SerialNumber"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, biosList(0), biosList(0).getAttributevalue("SerialNumber"))
call componentInstance.ClearKeyProperties()
End If

Dim idracCardsStringList, objectIdracCardString, generation, attributeVal, serverGeneration, nicSwitchConnection
serverGeneration = serverList(0).getAttributevalue("ServerGeneration")
serverGeneration = Split(serverGeneration, "G")
generation = serverGeneration(0)
Dim groupName,groupStatus
groupName = "Not Applicable"
groupStatus = "Not Applicable"

If ( generation &gt; 13 ) Then
groupName = "Not Available"
groupStatus = "Not Available"
End If
Set compObjListFilter = New ComponentObjectListFilter
idracList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.iDRAC")

log.MOMDebugLog 1, "isiDRACNicEnableFlag before idracnic inventory value is: " &amp; iDRACNicEnabled
If generation &gt; 13 Then
Set compObjListFilter = New ComponentObjectListFilter
nicSwitchConnection = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.NIC.Switchconnection")
End If
If iDRACNicEnabled = False Then
If ArrayCount(idracList) &gt; 0 Then
'Create iDrac Object
Call idracList(0).modifyExistingAttributeValue("GroupName", groupName)
Call idracList(0).modifyExistingAttributeValue("GroupStatus", groupStatus)

log.MOMDebugLog 1, "Idrac Group Name = " &amp; idracList(0).getAttributevalue("GroupName")
log.MOMDebugLog 1, "Idrac Group Status = " &amp; idracList(0).getAttributevalue("GroupStatus")
className = idracList(0).getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", idracList(0).getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, idracList(0), idracList(0).getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()


Dim compObj1, fqdd1, attrValue1
className = "Dell.Server.iDrac.NetworkInterfaceUnit"
Set compObj1 = New Component
compObj1.setMgmtConsoleClassName(className)
fqdd1 = idracList(0).getAttributevalue("ID")
attrValue1 = "Integrated Dell Remote Access Controller"

Call compObj1.setAttributeValue("ID", fqdd1)
Call compObj1.setAttributeValue("ProductName", attrValue1)
log.MOMDebugLog 1, "ID: " &amp; compObj1.getAttributevalue("ID")
log.MOMDebugLog 1, "ProductName: " &amp; compObj1.getAttributevalue("ProductName")

attrValue1 = "Not Applicable"
Call compObj1.setAttributeValue("MACAddress", attrValue1)
Call compObj1.setAttributeValue("IPv6Address", attrValue1)
Call compObj1.setAttributeValue("Speed", attrValue1)
Call compObj1.setAttributeValue("LinkDuplexMode", attrValue1)
Call compObj1.setAttributeValue("SwitchChassisID", attrValue1)
Call compObj1.setAttributeValue("SwitchPortID", attrValue1)

If generation &gt; 13 Then
If (ArrayCount(nicSwitchConnection) &gt; 0) Then
For Each strObj In nicSwitchConnection
If (Instr(fqdd1,strObj.getAttributevalue("FQDD"))) Then
Call compObj1.modifyExistingAttributeValue("SwitchChassisID", strObj.getAttributevalue("SwitchConnectionID"))
Call compObj1.modifyExistingAttributeValue("SwitchPortID", strObj.getAttributevalue("SwitchPortConnectionID"))
End If
Next
Else
Call compObj1.modifyExistingAttributeValue("SwitchChassisID", "Not Available")
Call compObj1.modifyExistingAttributeValue("SwitchPortID", "Not Available")
End If
End If

log.MOMDebugLog 1, "Idrac SwitchChassisID: " &amp; compObj1.getAttributevalue("SwitchChassisID")
log.MOMDebugLog 1, "Idrac SwitchPortID: " &amp; compObj1.getAttributevalue("SwitchPortID")
log.MOMDebugLog 1, "MACAddress: " &amp; compObj1.getAttributevalue("MACAddress")
log.MOMDebugLog 1, "IPv6Address: " &amp; compObj1.getAttributevalue("IPv6Address")
log.MOMDebugLog 1, "Speed: " &amp; compObj1.getAttributevalue("Speed")
log.MOMDebugLog 1, "LinkDuplexMode: " &amp; compObj1.getAttributevalue("LinkDuplexMode")

'Create iDrac NIC Object
className = compObj1.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.iDRAC/ID", idracList(0).getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", compObj1.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compObj1, compObj1.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
End If
else
If ArrayCount(idracList) &gt; 0 Then
Dim idracCardStringList, idracCardEnumerationList, fqdd
Set compObjListFilter = New ComponentObjectListFilter
idracCardStringList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.IdracCardString")
idracCardEnumerationList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.IdracCardEnumeration")

'Create iDrac Object
If (ArrayCount(idracCardStringList) &gt; 0) And (ArrayCount(idracCardEnumerationList) &gt; 0) Then
If ( generation &gt; 13 ) Then
'Adding value for Group Name
fqdd = idracCardStringList(0).getAttributevalue("FQDD")
groupName = findValueInComponentObjectWithAttributeName(idracCardStringList, "AttributeDisplayName", "Group Name", "FQDD", fqdd, "CurrentValue")
For Each objectIdracEnumeration In idracCardEnumerationList
If (objectIdracEnumeration.getAttributevalue("AttributeDisplayName") = "Feature Status") Then
If (objectIdracEnumeration.getAttributevalue("InstanceID") = "iDRAC.Embedded.1#GroupManager.1#Status") Then
groupStatus = objectIdracEnumeration.getAttributevalue("CurrentValue")
Exit For
End If
End If
Next
End If
Call idracList(0).modifyExistingAttributeValue("GroupName", groupName)
log.MOMDebugLog 1, "Group Name = " &amp; idracList(0).getAttributevalue("GroupName")

Call idracList(0).modifyExistingAttributeValue("GroupStatus", groupStatus)
log.MOMDebugLog 1, "Group Status = " &amp; idracList(0).getAttributevalue("GroupStatus")
End If
className = idracList(0).getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", idracList(0).getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, idracList(0), idracList(0).getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()

If (ArrayCount(idracCardStringList) &gt; 0) And (ArrayCount(idracCardEnumerationList) &gt; 0) Then
Dim compObj, attrValue
className = "Dell.Server.iDrac.NetworkInterfaceUnit"
Set compObj = New Component
compObj.setMgmtConsoleClassName(className)
fqdd = idracCardStringList(0).getAttributevalue("FQDD")

Call compObj.setAttributeValue("SwitchChassisID", "Not Applicable")
Call compObj.setAttributeValue("SwitchPortID", "Not Applicable")

attrValue = findValueInComponentObjectWithAttributeName(idracCardStringList, "AttributeDisplayName", "iDRAC Product Information", "FQDD", fqdd, "CurrentValue")
If attrValue = "" Then
attrValue = "Not Available"
End If
Call compObj.setAttributeValue("ID", fqdd)
Call compObj.setAttributeValue("ProductName", attrValue)
attrValue = findValueInComponentObjectWithAttributeName(idracCardStringList, "AttributeDisplayName", "MAC Address", "FQDD", fqdd, "CurrentValue")
If attrValue = "" Then
attrValue = "Not Available"
End If
Call compObj.setAttributeValue("MACAddress", attrValue)
attrValue = findValueInComponentObjectWithAttributeName(idracCardStringList, "AttributeDisplayName", "IPv4 Address", "FQDD", fqdd, "CurrentValue")
If attrValue = "" Then
attrValue = "Not Available"
End If
Call compObj.setAttributeValue("IPv4Address", attrValue)
attrValue = findValueInComponentObjectWithAttributeName(idracCardStringList, "AttributeDisplayName", "IPV6 Address 1", "FQDD", fqdd, "CurrentValue")
If attrValue = "::" Or attrValue = "" Then
attrValue = "Not Available"
End If
Call compObj.setAttributeValue("IPv6Address", attrValue)
attrValue = findValueInComponentObjectWithAttributeName(idracCardEnumerationList, "AttributeDisplayName", "NIC Speed", "FQDD", fqdd, "CurrentValue")
If attrValue = "" Then
attrValue = "Not Available"
End If
Call compObj.setAttributeValue("Speed", attrValue)
attrValue = findValueInComponentObjectWithAttributeName(idracCardEnumerationList, "AttributeDisplayName", "NIC Duplex", "FQDD", fqdd, "CurrentValue")
If attrValue = "" Then
attrValue = "Not Available"
End If
Call compObj.setAttributeValue("LinkDuplexMode", attrValue)

If generation &gt; 13 Then
If (ArrayCount(nicSwitchConnection) &gt; 0) Then
For Each strObj In nicSwitchConnection
If (InStr(strObj.getAttributevalue("FQDD"), fqdd)) Then
Call compObj.modifyExistingAttributeValue("SwitchChassisID", strObj.getAttributevalue("SwitchConnectionID"))
Call compObj.modifyExistingAttributeValue("SwitchPortID", strObj.getAttributevalue("SwitchPortConnectionID"))
End If
Next
Else
Call compObj.modifyExistingAttributeValue("SwitchChassisID", "Not Available")
Call compObj.modifyExistingAttributeValue("SwitchPortID", "Not Available")
End If
End If
log.MOMDebugLog 1, "Idrac SwitchChassisID: " &amp; compObj.getAttributevalue("SwitchChassisID")
log.MOMDebugLog 1, "Idrac SwitchPortID: " &amp; compObj.getAttributevalue("SwitchPortID")


'Create iDrac NIC Object
className = compObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.iDRAC/ID", idracList(0).getAttributevalue("ID"))
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", compObj.getAttributevalue("ID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compObj, compObj.getAttributevalue("ID"))
call componentInstance.ClearKeyProperties()
End If
End If
End If

Dim nicObj, bNICCapabilitiesMatched, nicCapabilitiesObj, nicID, nicCapabilitiesID, nicDetailsList

Set compObjListFilter = New ComponentObjectListFilter
nicList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.NetworkInterfaceUnit")
Set compObjListFilter = New ComponentObjectListFilter
nicDetailsList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.NICDetails")
Set compObjListFilter = New ComponentObjectListFilter
nicCapabilitiesList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.NetworkInterfaceUnit.Capabilities")
If ArrayCount(nicList) &gt; 0 Then
'Create NIC Group Object
className = "Dell.Server.NICGroup"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.NICGroup/ID", "NIC Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Network Interface Card Group")
call componentInstance.ClearKeyProperties()
'Create Nic object
For Each nicObj In nicList
bNICCapabilitiesMatched = vbFalse
nicID = nicObj.getAttributevalue("ID")
For Each nicCapabilitiesObj in nicCapabilitiesList
nicCapabilitiesID = nicCapabilitiesObj.getAttributevalue("ID")
if InStr(nicID, nicCapabilitiesID) Then
bNICCapabilitiesMatched = vbTrue
Exit for
End If
Next

If (ArrayCount(nicDetailsList) &gt; 0) Then
For Each strObj In nicDetailsList
If ((strObj.getAttributevalue("VirtualMACAddress_property") = "VirtMacAddr") And (strObj.getAttributevalue("FQDD") = nicID)) Then
Call nicObj.modifyExistingAttributeValue("VirtualMACAddress", strObj.getAttributevalue("VirtualMACAddress_currentValue"))
End If
Next
End If

If generation &gt; 13 Then
If (ArrayCount(nicSwitchConnection) &gt; 0) Then
For Each strObj In nicSwitchConnection
If (strObj.getAttributevalue("FQDD") = nicID) Then
Call nicObj.modifyExistingAttributeValue("SwitchChassisID", strObj.getAttributevalue("SwitchConnectionID"))
Call nicObj.modifyExistingAttributeValue("SwitchPortID", strObj.getAttributevalue("SwitchPortConnectionID"))
End If
Next
Else
Call nicObj.modifyExistingAttributeValue("SwitchChassisID", "Not Available")
Call nicObj.modifyExistingAttributeValue("SwitchPortID", "Not Available")
End If
End If

className = nicObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.NICGroup/ID", "NIC Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "ID", nicObj.getAttributevalue("ID"))
if bNICCapabilitiesMatched = vbFalse Then
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, nicObj, Nothing, nicObj.getAttributevalue("ID"))
Else
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, nicObj, nicCapabilitiesObj, nicObj.getAttributevalue("ID"))
End If
call componentInstance.ClearKeyProperties()
Next
End If

Dim numericSensorObjList, sensorObjList, numericSensorbj
Set compObjListFilter = New ComponentObjectListFilter
numericSensorObjList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.NumericSensor")
Set compObjListFilter = New ComponentObjectListFilter
sensorObjList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Sensor")
If ((ArrayCount(numericSensorObjList) &gt; 0) Or (ArrayCount(sensorObjList) &gt; 0)) Then
'Create Sensors Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.Sensors")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Sensors")
call componentInstance.ClearKeyProperties()

Dim tempFlag, fanFlag, curFlag, voltFlag, batFlag, intFlag
tempFlag = False
fanFlag = False
curFlag = False
voltFlag = False
batFlag = False
intFlag = False

If (ArrayCount(numericSensorObjList) &gt; 0) Then
Dim compoObj
For Each numericSensorbj In numericSensorObjList
If (numericSensorbj.getAttributevalue("SensorType") = "2") Then
If tempFlag = False Then
'Create Temperature Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.TemperatureSensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.TemperatureSensorGroup/ID", "Temperature Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Temperature Sensor Group")
call componentInstance.ClearKeyProperties()
tempFlag = True
End If
Set compoObj = New Component
className = "Dell.Server.TemperatureSensor"
Call compoObj.setMgmtConsoleClassName(className)
Call compoObj.setAttributeValue("DeviceID", numericSensorbj.getAttributevalue("DeviceID"))
Call compoObj.setAttributeValue("ElementName", numericSensorbj.getAttributevalue("ElementName"))

'Create Temperature Sensor Objects
className = compoObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.TemperatureSensorGroup/ID", "Temperature Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compoObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compoObj, compoObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If

If (numericSensorbj.getAttributevalue("SensorType") = "4") Then
If curFlag = False Then
'Create Current Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.CurrentSensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.CurrentSensorGroup/ID", "Current Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Current Sensor Group")
call componentInstance.ClearKeyProperties()
curFlag = True
End If
Set compoObj = New Component
className = "Dell.Server.CurrentSensor"
Call compoObj.setMgmtConsoleClassName(className)
Call compoObj.setAttributeValue("DeviceID", numericSensorbj.getAttributevalue("DeviceID"))
Call compoObj.setAttributeValue("ElementName", numericSensorbj.getAttributevalue("ElementName"))

'Create Current Sensor Objects
className = compoObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.CurrentSensorGroup/ID", "Current Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compoObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compoObj, compoObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If

If (numericSensorbj.getAttributevalue("SensorType") = "5") Then
If fanFlag = False Then
'Create Fan Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.FanSensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.FanSensorGroup/ID", "Fan Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Fan Sensor Group")
call componentInstance.ClearKeyProperties()
fanFlag = True
End If
Set compoObj = New Component
className = "Dell.Server.FanSensor"
Call compoObj.setMgmtConsoleClassName(className)
Call compoObj.setAttributeValue("DeviceID", numericSensorbj.getAttributevalue("DeviceID"))
Call compoObj.setAttributeValue("ElementName", numericSensorbj.getAttributevalue("ElementName"))

'Create Fan Sensor Objects
className = compoObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.FanSensorGroup/ID", "Fan Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compoObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compoObj, compoObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If

If (numericSensorbj.getAttributevalue("SensorType") = "3") Then
If voltFlag = False Then
'Create Voltage Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.VoltageSensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.VoltageSensorGroup/ID", "Voltage Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Voltage Sensor Group")
call componentInstance.ClearKeyProperties()
voltFlag = True
End If
Set compoObj = New Component
className = "Dell.Server.VoltageSensor"
Call compoObj.setMgmtConsoleClassName(className)
Call compoObj.setAttributeValue("DeviceID", numericSensorbj.getAttributevalue("DeviceID"))
Call compoObj.setAttributeValue("ElementName", numericSensorbj.getAttributevalue("ElementName"))

'Create Voltage Sensor Objects
className = compoObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.VoltageSensorGroup/ID", "Voltage Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compoObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compoObj, compoObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If
Next
End If

If (ArrayCount(sensorObjList) &gt; 0) Then
Dim compnObj, sensorObj
For Each sensorObj In sensorObjList
If (sensorObj.getAttributevalue("SensorType") = "3") Then
If voltFlag = False Then
'Create Voltage Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.VoltageSensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.VoltageSensorGroup/ID", "Voltage Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Voltage Sensor Group")
call componentInstance.ClearKeyProperties()
voltFlag = True
End If
Set compnObj = New Component
className = "Dell.Server.VoltageSensor"
Call compnObj.setMgmtConsoleClassName(className)
Call compnObj.setAttributeValue("DeviceID", sensorObj.getAttributevalue("DeviceID"))
Call compnObj.setAttributeValue("ElementName", sensorObj.getAttributevalue("ElementName"))

'Create Voltage Sensor Objects
className = compnObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.VoltageSensorGroup/ID", "Voltage Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compnObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compnObj, compnObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If

If ((sensorObj.getAttributevalue("SensorType") = "1") And (sensorObj.getAttributevalue("OtherSensorTypeDescription") = "Battery")) Then
If batFlag = False Then
'Create Battery Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.BatterySensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.BatterySensorGroup/ID", "Battery Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Battery Sensor Group")
call componentInstance.ClearKeyProperties()
batFlag = True
End If
Set compnObj = New Component
className = "Dell.Server.BatterySensor"
Call compnObj.setMgmtConsoleClassName(className)
Call compnObj.setAttributeValue("DeviceID", sensorObj.getAttributevalue("DeviceID"))
Call compnObj.setAttributeValue("ElementName", sensorObj.getAttributevalue("ElementName"))

'Create Battery Sensor Objects
className = compnObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.BatterySensorGroup/ID", "Battery Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compnObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compnObj, compnObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If

If (sensorObj.getAttributevalue("SensorType") = "16") Then
If intFlag = False Then
'Create Intrusion Sensor Group Object
Set componentInstance = creatorFactory.Item("Dell.Server.IntrusionSensorGroup")
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.IntrusionSensorGroup/ID", "Intrusion Sensor Group")
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, "Intrusion Sensor Group")
call componentInstance.ClearKeyProperties()
intFlag = True
End If
Set compnObj = New Component
className = "Dell.Server.IntrusionSensor"
Call compnObj.setMgmtConsoleClassName(className)
Call compnObj.setAttributeValue("DeviceID", sensorObj.getAttributevalue("DeviceID"))
Call compnObj.setAttributeValue("ElementName", sensorObj.getAttributevalue("ElementName"))

'Create Intrusion Sensor Objects
className = compnObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty("Dell.Server.IntrusionSensorGroup/ID", "Intrusion Sensor Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compnObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compnObj, compnObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If
Next
End If
End If
'Create PresenceAndStatusSensor Sensor Objects
Dim chassisControllerSensorObjList, chassisControllerSensorObj, elementName

Set compObjListFilter = New ComponentObjectListFilter
chassisControllerSensorObjList = compObjListFilter.fetchRequestedComponentObjectList(compObjectList, "Dell.Server.PresenceAndStatusSensor")

'Create Chassis Controller Sensor Object
For Each chassisControllerSensorObj In chassisControllerSensorObjList
elementName = chassisControllerSensorObj.getAttributevalue("ElementName")
If elementName = "Chassis Controller" Then
Set compoObj = New Component
className = "Dell.Server.PresenceAndStatusSensor"
Call compoObj.setMgmtConsoleClassName(className)
Call compoObj.setAttributeValue("DeviceID", chassisControllerSensorObj.getAttributevalue("DeviceID"))
Call compoObj.setAttributeValue("ElementName", chassisControllerSensorObj.getAttributevalue("ElementName"))

'Create chassis controller Sensor Object
className = compoObj.getMgmtConsoleClassName()
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server/UID", m_serverUIDVal)
call componentInstance.setKeyProperty("Dell.Server.Sensors/ID", "Sensors Group")
call componentInstance.setKeyProperty(className &amp; "/" &amp; "DeviceID", compoObj.getAttributevalue("DeviceID"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, compoObj, compoObj.getAttributevalue("DeviceID"))
call componentInstance.ClearKeyProperties()
End If
Next
End Function

Function findValueInComponentObjectWithAttributeName(ByRef ObjStringList, name, value, idName, idValue, valAttr)
Dim obj, attrVal, returnValue, groupIDValue
For Each obj In ObjStringList
attrVal = obj.getAttributevalue(name)
If ((attrVal = value) And (obj.getAttributevalue(idName) = idValue)) Then
If NOT value = "IPv4 Address" Then
returnValue = obj.getAttributevalue(valAttr)
Else
groupIDValue = obj.getAttributevalue("GroupID")
If groupIDValue = "IPv4.1" Then
returnValue = obj.getAttributevalue(valAttr)
Else
log.MOMDEBUGLOG 1, "IDRAC NIC::Ignore the static IP Address: " &amp; obj.getAttributevalue(valAttr)
End If
End If
End If
Next
findValueInComponentObjectWithAttributeName = returnValue
End Function

Function ArrayCount(ByRef array)
Dim index, count
count = 0
For index = 0 To UBound(array)
count = count + 1
Next
ArrayCount = count
End Function

Function CreateUnmanagedServerObjectAndSubmitDiscovery()
Dim oInst, className, componentInstance
Call m_momApiHelper.CreateDiscoveryData(SourceId, ManagedEntityId)
log.MOMDebugLog 1, "Creating Unmanaged Server Instance"

className = "Dell.Server.UnManagedServer"
Set componentInstance = creatorFactory.Item(className)
call componentInstance.setKeyProperty("Microsoft.Windows.Computer/PrincipalName", principalName)
call componentInstance.setKeyProperty("Dell.Server.UnManagedServer/IPAddress",protParameterObj.getProtocolParameterValue("IPAddress"))
call componentInstance.CreateAndPopulateInstance(m_momApiHelper, componentInstance, protParameterObj.getProtocolParameterValue("IPAddress"))
call componentInstance.ClearKeyProperties()



log.MOMDebugLog 1, "Done adding properties of Unmanaged Server Instance"
Call m_momApiHelper.SubmitDiscoveryData()
End Function

'Create Sink object and return discovery data
Function CreateAndSubmitEmptyDiscoveryData()
Dim oInst
Call m_momApiHelper.CreateDiscoveryData(SourceId, ManagedEntityId)
log.MOMDebugLog 1, "Creating Empty Discovery data"
Set oInst = m_momApiHelper.CreateClassInstance("$MPElement[Name='DellOperationsCommon!Dell.Discovery.Sink']$")
call m_momApiHelper.oInstAddProperty(oInst, "$MPElement[Name='System!System.Entity']/DisplayName$", "Dell Discovery Sink")
call m_momApiHelper.oInstAddProperty(oInst, "$MPElement[Name='DellOperationsCommon!Dell.Discovery.Sink']/Name$", principalName)
m_momApiHelper.AddInstanceToDiscoveryData oInst
log.MOMDebugLog 1, "Done Empty Discovery data"
Call m_momApiHelper.SubmitDiscoveryData()
End Function

End Class
'#################################################################################################################################
</ServerDiscoveryScript>
<iDRACNicEnable>false</iDRACNicEnable>
</DataSource>
</Discovery>