﻿<?xml version="1.0" encoding="utf-8"?><ManagementPack ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <Manifest>
    <Identity>
      <ID>Dell.Connections.001</ID>
      <Version>3.1.0.118</Version>
    </Identity>
    <Name>Dell.Connections.001</Name>
    <References>
      <Reference Alias="AppLog">
        <ID>System.ApplicationLog.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="NetworkDevice">
        <ID>Microsoft.SystemCenter.NetworkDevice.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="SCDW">
        <ID>Microsoft.SystemCenter.DataWarehouse.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Snmp">
        <ID>System.Snmp.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="Windows">
        <ID>Microsoft.Windows.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="SystemCenter">
        <ID>Microsoft.SystemCenter.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
      <Reference Alias="SystemHealth">
        <ID>System.Health.Library</ID>
        <Version>6.0.6278.0</Version>
        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <TypeDefinitions>
    <EntityTypes>
      <ClassTypes>
        <ClassType ID="Dell.Connections.DellHWGroup" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DellServerGroup" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DellPrinterGroup" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DellUnknownGroup" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DellMonolithicServerGroup" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DellModularSystemGroup" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DellSystem" Accessibility="Public" Abstract="false" Base="Windows!Microsoft.Windows.LogicalDevice" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.DellServer" Accessibility="Public" Abstract="false" Base="Dell.Connections.DellSystem" Hosted="true" Singleton="false">
          <Property ID="IPAddress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="OMSAURL" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="AssetTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ServiceTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="OperatingSystem" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="OperatingSystemVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Model" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="BiosVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="OMSAVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="IPMIVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="TOECapable" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="TOEEnable" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.DellMonolithicServer" Accessibility="Public" Abstract="false" Base="Dell.Connections.DellServer" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.DellModularBlade" Accessibility="Public" Abstract="false" Base="Dell.Connections.DellServer" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.DellChassis" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.DellPrinter" Accessibility="Public" Abstract="false" Base="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
          <Property ID="InputName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="OutputName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="CoverStatus" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="InputVendorName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="InputModel" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="InputDescription" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="InputMaxCapacity" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="OutputVendorName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="OutputModel" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="OutputDescription" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="OutputMaxCapacity" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="CoverDescription" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="SupplyType" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="SupplyDescription" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="SupplyLevel" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="SupplyMaxLevel" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
        </ClassType>
        <ClassType ID="Dell.Connections.DellDRAC" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DracURL" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerHWComponents" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerServices" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerHWComponentsSensors" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerNumericSensor" Accessibility="Public" Abstract="true" Base="System!System.PhysicalEntity" Hosted="false" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CurrentReading" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="BaseUnits" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SensorType" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="LowerThresholdCritical" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="LowerThresholdNonCritical" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="UpperThresholdCritical" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="UpperThresholdNonCritical" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerDiscreteSensor" Accessibility="Public" Abstract="true" Base="System!System.PhysicalEntity" Hosted="false" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CurrentReading" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="OtherSensorTypeDescription" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerSensorTemperature" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorTemperatureUnit" Accessibility="Public" Abstract="false" Base="Dell.Connections.ServerNumericSensor" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorVoltage" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorVoltageNumericUnit" Accessibility="Public" Abstract="false" Base="Dell.Connections.ServerNumericSensor" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorVoltageDiscreteUnit" Accessibility="Public" Abstract="false" Base="Dell.Connections.ServerDiscreteSensor" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorCurrents" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorCurrentsNumericUnit" Accessibility="Public" Abstract="false" Base="Dell.Connections.ServerNumericSensor" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorBatteries" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerSensorBatteriesDiscreteUnit" Accessibility="Public" Abstract="false" Base="Dell.Connections.ServerDiscreteSensor" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerFans" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerFansUnit" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerMemory" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerMemoryUnit" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="Tag" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MemoryType" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Capacity" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerProcessors" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerProcessorsUnit" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CurrentClockSpeed" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerPowerSupplies" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerPowerSuppliesUnit" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="TotalOutputPower" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="IsSwitchingSupply" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerIntrusion" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ServerServices.DSMEventManager" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
          <Property ID="Description" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="StartMode" Type="string" Key="false" CaseSensitive="false" Length="32" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerServices.DSMDataManager" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
          <Property ID="Description" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="StartMode" Type="string" Key="false" CaseSensitive="false" Length="32" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerServices.DSMConnService" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
          <Property ID="Description" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="StartMode" Type="string" Key="false" CaseSensitive="false" Length="32" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerServices.DSMSharedServices" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
          <Property ID="Description" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="StartMode" Type="string" Key="false" CaseSensitive="false" Length="32" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ServerBMC" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="BMCIPAddress" Type="string" Key="false" CaseSensitive="false" Length="32" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.DellStorage" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.DellStorageController" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SlotID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="FirmwareVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MinReqFirmwareVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="DriverVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MinReqDriverVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="NumOfConnectors" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="RebuildRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="BGIRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CheckConsistencyRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ReConstructRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="AlarmState" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ClusterMode" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SCSIInitiatorID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CacheMemorySize" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PatrolReadMode" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PatrolReadState" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PatrolReadRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PatrolReadIterations" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ControllerBattery" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="RechargeCount" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MaxRechargeCount" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PredictedCapacityStatus" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="LearnState" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="NextLearnTime" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MaxLearnDelay" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ControllerVirtualDisk" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Progress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Layout" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Size" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="DeviceName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Type" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ReadPolicy" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="WritePolicy" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CachePolicy" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="StripeElementSize" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ControllerConnector" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ConnectorType" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Termination" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SCSIRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ControllerEnclosure" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Connector" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="TargetID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Configuration" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="FirmwareVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ServiceTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="AssetTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="AssetName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="BackplanePartNum" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SplitbusPartNum" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="EnclosurePartNum" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SASAddress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="EnclosureAlarm" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.EnclosurePhysicalDisk" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="FailurePredicted" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Progress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Type" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Capacity" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="UsedRaidDiskSpace" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="AvailableRaidDiskSpace" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="HotSpare" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="VendorID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ProductID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Revision" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SerialNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="NegotiatedSpeed" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CapableSpeed" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ManufactureDay" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ManufactureWeek" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ManufactureYear" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SASAddress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.EnclosureTemperature" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Reading" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MinWarningThreshold" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MaxWarningThreshold" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MinFailureThreshold" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="MaxFailureThreshold" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.EnclosureFan" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Speed" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.EnclosurePowerSupply" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.EnclosureEMM" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="FirmwareVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SCSIRate" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Type" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ConnectorPhysicalDisk" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="ID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="State" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="FailurePredicted" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Progress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Type" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Capacity" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="UsedRaidDiskSpace" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="AvailableRaidDiskSpace" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="HotSpare" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="VendorID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ProductID" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Revision" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SerialNumber" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="NegotiatedSpeed" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CapableSpeed" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ManufactureDay" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ManufactureWeek" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="ManufactureYear" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SASAddress" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ChassisFans" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ChassisFansUnit" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.ChassisPowerSupplies" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.ChassisPowerSuppliesUnit" Accessibility="Public" Abstract="false" Base="System!System.PhysicalEntity" Hosted="true" Singleton="false">
          <Property ID="DeviceID" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="TotalOutputPower" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="IsSwitchingSupply" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
        <ClassType ID="Dell.Connections.DellUnknown" Accessibility="Public" Abstract="false" Base="Dell.Connections.DellSystem" Hosted="true" Singleton="false" />
        <ClassType ID="Dell.Connections.OOB_DRAC_Group" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.DRAC_5" Accessibility="Public" Abstract="false" Base="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
          <Property ID="System_UpTime" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdShortName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdDesc" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdManf" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ChassisTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdUrl" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="SysServiceTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="FirmwareVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
        </ClassType>
        <ClassType ID="Dell.Connections.DRACMC" Accessibility="Public" Abstract="false" Base="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
          <Property ID="System_UpTime" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdShortName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdDesc" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdManf" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ChassisTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ProdUrl" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="SysServiceTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="FirmwareVer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
        </ClassType>
        <ClassType ID="Dell.Connections.OOB_CMC_Group" Accessibility="Public" Abstract="false" Base="System!System.Group" Hosted="false" Singleton="true" />
        <ClassType ID="Dell.Connections.CMC" Accessibility="Public" Abstract="false" Base="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" Hosted="false" Singleton="false">
          <Property ID="Name" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ShortProductName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="Description" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="Version" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ServiceTag" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="OOBURL" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="ChassisName" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
          <Property ID="Firmware" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="0" />
        </ClassType>
        <ClassType ID="Dell.Connections.DellServer.BIOS" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
          <Property ID="Name" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Version" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SerialNumber" Type="string" Key="true" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SMBIOSBIOSVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SMBIOSMajorVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SMBIOSMinorVersion" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="SMBIOSPresent" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="PrimaryBIOS" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="Status" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
          <Property ID="CurrentLanguage" Type="string" Key="false" CaseSensitive="false" Length="256" MinLength="1" />
        </ClassType>
      </ClassTypes>
      <RelationshipTypes>
        <RelationshipType ID="DellHWGroup.Contains.DellServerGroup" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellHWGroup</Source>
          <Target>Dell.Connections.DellServerGroup</Target>
        </RelationshipType>
        <RelationshipType ID="DellHWGroup.Contains.DellPrinterGroup" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellHWGroup</Source>
          <Target>Dell.Connections.DellPrinterGroup</Target>
        </RelationshipType>
        <RelationshipType ID="DellServer.Hosts.DellDRAC" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellServer</Source>
          <Target>Dell.Connections.DellDRAC</Target>
        </RelationshipType>
        <RelationshipType ID="DellHWGroup.Contains.DellUnknownGroup" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellHWGroup</Source>
          <Target>Dell.Connections.DellUnknownGroup</Target>
        </RelationshipType>
        <RelationshipType ID="DellServerGroup.Contains.DellMonolithicServerGroup" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellServerGroup</Source>
          <Target>Dell.Connections.DellMonolithicServerGroup</Target>
        </RelationshipType>
        <RelationshipType ID="DellServerGroup.Contains.DellModularSystemGroup" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellServerGroup</Source>
          <Target>Dell.Connections.DellModularSystemGroup</Target>
        </RelationshipType>
        <RelationshipType ID="DellMonolithicServerGroup.Contains.DellMonolithicServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellMonolithicServerGroup</Source>
          <Target>Dell.Connections.DellMonolithicServer</Target>
        </RelationshipType>
        <RelationshipType ID="DellModularSystemGroup.Contains.DellModularBlade" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellModularSystemGroup</Source>
          <Target>Dell.Connections.DellModularBlade</Target>
        </RelationshipType>
        <RelationshipType ID="DellModularBlade.Hosts.DellChassis" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellModularBlade</Source>
          <Target>Dell.Connections.DellChassis</Target>
        </RelationshipType>
        <RelationshipType ID="DellChassis.Hosts.ChassisFans" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellChassis</Source>
          <Target>Dell.Connections.ChassisFans</Target>
        </RelationshipType>
        <RelationshipType ID="ChassisFans.Hosts.ChassisFansUnit" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ChassisFans</Source>
          <Target>Dell.Connections.ChassisFansUnit</Target>
        </RelationshipType>
        <RelationshipType ID="DellChassis.Hosts.ChassisPowerSupplies" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellChassis</Source>
          <Target>Dell.Connections.ChassisPowerSupplies</Target>
        </RelationshipType>
        <RelationshipType ID="ChassisPowerSupplies.Hosts.ChassisPowerSuppliesUnit" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ChassisPowerSupplies</Source>
          <Target>Dell.Connections.ChassisPowerSuppliesUnit</Target>
        </RelationshipType>
        <RelationshipType ID="DellPrinterGroup.Contains.DellPrinter" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellPrinterGroup</Source>
          <Target>Dell.Connections.DellPrinter</Target>
        </RelationshipType>
        <RelationshipType ID="DellUnknownGroup.Contains.DellUnknown" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellUnknownGroup</Source>
          <Target>Dell.Connections.DellUnknown</Target>
        </RelationshipType>
        <RelationshipType ID="DellServer.Hosts.ServerHWComponents" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellServer</Source>
          <Target>Dell.Connections.ServerHWComponents</Target>
        </RelationshipType>
        <RelationshipType ID="DellServer.Hosts.ServerServices" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellServer</Source>
          <Target>Dell.Connections.ServerServices</Target>
        </RelationshipType>
        <RelationshipType ID="DellServer.Hosts.ServerBMC" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellServer</Source>
          <Target>Dell.Connections.ServerBMC</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponents.Hosts.Sensors" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponents</Source>
          <Target>Dell.Connections.ServerHWComponentsSensors</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponentsSensors.Hosts.Temperature" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponentsSensors</Source>
          <Target>Dell.Connections.ServerSensorTemperature</Target>
        </RelationshipType>
        <RelationshipType ID="ServerTemperature.Hosts.TemperatureUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerSensorTemperature</Source>
          <Target>Dell.Connections.ServerSensorTemperatureUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponentsSensors.Hosts.Voltage" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponentsSensors</Source>
          <Target>Dell.Connections.ServerSensorVoltage</Target>
        </RelationshipType>
        <RelationshipType ID="ServerVoltage.Hosts.VoltageNumericUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerSensorVoltage</Source>
          <Target>Dell.Connections.ServerSensorVoltageNumericUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerVoltage.Hosts.VoltageDiscreteUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerSensorVoltage</Source>
          <Target>Dell.Connections.ServerSensorVoltageDiscreteUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponentsSensors.Hosts.Currents" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponentsSensors</Source>
          <Target>Dell.Connections.ServerSensorCurrents</Target>
        </RelationshipType>
        <RelationshipType ID="ServerCurrents.Hosts.CurrentsNumericUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerSensorCurrents</Source>
          <Target>Dell.Connections.ServerSensorCurrentsNumericUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponentsSensors.Hosts.Batteries" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponentsSensors</Source>
          <Target>Dell.Connections.ServerSensorBatteries</Target>
        </RelationshipType>
        <RelationshipType ID="ServerBatteries.Hosts.BatteriesDiscreteUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerSensorBatteries</Source>
          <Target>Dell.Connections.ServerSensorBatteriesDiscreteUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponents.Hosts.Fans" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponents</Source>
          <Target>Dell.Connections.ServerFans</Target>
        </RelationshipType>
        <RelationshipType ID="ServerFans.Hosts.FansUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerFans</Source>
          <Target>Dell.Connections.ServerFansUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponents.Hosts.PowerSupplies" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponents</Source>
          <Target>Dell.Connections.ServerPowerSupplies</Target>
        </RelationshipType>
        <RelationshipType ID="ServerPowerSupplies.Hosts.PowerSuppliesUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerPowerSupplies</Source>
          <Target>Dell.Connections.ServerPowerSuppliesUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponents.Hosts.Memory" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponents</Source>
          <Target>Dell.Connections.ServerMemory</Target>
        </RelationshipType>
        <RelationshipType ID="ServerMemory.Hosts.MemoryUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerMemory</Source>
          <Target>Dell.Connections.ServerMemoryUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponents.Hosts.Processors" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponents</Source>
          <Target>Dell.Connections.ServerProcessors</Target>
        </RelationshipType>
        <RelationshipType ID="ServerProcessors.Hosts.ProcessorsUnit" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerProcessors</Source>
          <Target>Dell.Connections.ServerProcessorsUnit</Target>
        </RelationshipType>
        <RelationshipType ID="ServerHWComponents.Hosts.Intrusion" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerHWComponents</Source>
          <Target>Dell.Connections.ServerIntrusion</Target>
        </RelationshipType>
        <RelationshipType ID="ServerServices.Hosts.DSMEventManager" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerServices</Source>
          <Target>Dell.Connections.ServerServices.DSMEventManager</Target>
        </RelationshipType>
        <RelationshipType ID="ServerServices.Hosts.DSMSharedServices" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerServices</Source>
          <Target>Dell.Connections.ServerServices.DSMSharedServices</Target>
        </RelationshipType>
        <RelationshipType ID="ServerServices.Hosts.DSMConnService" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerServices</Source>
          <Target>Dell.Connections.ServerServices.DSMConnService</Target>
        </RelationshipType>
        <RelationshipType ID="ServerServices.Hosts.DSMDataManager" Accessibility="Public" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ServerServices</Source>
          <Target>Dell.Connections.ServerServices.DSMDataManager</Target>
        </RelationshipType>
        <RelationshipType ID="DellServer.Hosts.DellStorage" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellServer</Source>
          <Target>Dell.Connections.DellStorage</Target>
        </RelationshipType>
        <RelationshipType ID="DellStorage.Hosts.DellStorageController" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellStorage</Source>
          <Target>Dell.Connections.DellStorageController</Target>
        </RelationshipType>
        <RelationshipType ID="DellStorageController.Hosts.ControllerBattery" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellStorageController</Source>
          <Target>Dell.Connections.ControllerBattery</Target>
        </RelationshipType>
        <RelationshipType ID="DellStorageController.Hosts.ControllerVirtualDisk" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellStorageController</Source>
          <Target>Dell.Connections.ControllerVirtualDisk</Target>
        </RelationshipType>
        <RelationshipType ID="DellStorageController.Hosts.ControllerConnector" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellStorageController</Source>
          <Target>Dell.Connections.ControllerConnector</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerConnector.Hosts.ControllerEnclosure" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerConnector</Source>
          <Target>Dell.Connections.ControllerEnclosure</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerConnector.Hosts.ConnectorPhysicalDisk" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerConnector</Source>
          <Target>Dell.Connections.ConnectorPhysicalDisk</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerEnclosure.Hosts.EnclosurePhysicalDisk" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerEnclosure</Source>
          <Target>Dell.Connections.EnclosurePhysicalDisk</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerEnclosure.Hosts.EnclosureTemperature" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerEnclosure</Source>
          <Target>Dell.Connections.EnclosureTemperature</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerEnclosure.Hosts.EnclosureFan" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerEnclosure</Source>
          <Target>Dell.Connections.EnclosureFan</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerEnclosure.Hosts.EnclosurePowerSupply" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerEnclosure</Source>
          <Target>Dell.Connections.EnclosurePowerSupply</Target>
        </RelationshipType>
        <RelationshipType ID="ControllerEnclosure.Hosts.EnclosureEMM" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.ControllerEnclosure</Source>
          <Target>Dell.Connections.EnclosureEMM</Target>
        </RelationshipType>
        <RelationshipType ID="DellServerGroup.Contains.DellOOB_DRAC_Group" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellServerGroup</Source>
          <Target>Dell.Connections.OOB_DRAC_Group</Target>
        </RelationshipType>
        <RelationshipType ID="DellServerGroup.Contains.DellOOB_CMC_Group" Accessibility="Internal" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.DellServerGroup</Source>
          <Target>Dell.Connections.OOB_CMC_Group</Target>
        </RelationshipType>
        <RelationshipType ID="OOB_DRAC_Group.Contains.DRAC_5" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.OOB_DRAC_Group</Source>
          <Target>Dell.Connections.DRAC_5</Target>
        </RelationshipType>
        <RelationshipType ID="OOB_DRAC_Group.Contains.DRACMC" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.OOB_DRAC_Group</Source>
          <Target>Dell.Connections.DRACMC</Target>
        </RelationshipType>
        <RelationshipType ID="DellServer.Hosts.DellServerBIOS" Accessibility="Internal" Abstract="false" Base="System!System.Hosting">
          <Source>Dell.Connections.DellServer</Source>
          <Target>Dell.Connections.DellServer.BIOS</Target>
        </RelationshipType>
        <RelationshipType ID="OOB_CMC_Group.Contains.CMC" Accessibility="Public" Abstract="false" Base="System!System.Containment">
          <Source>Dell.Connections.OOB_CMC_Group</Source>
          <Target>Dell.Connections.CMC</Target>
        </RelationshipType>
      </RelationshipTypes>
    </EntityTypes>
    <ModuleTypes>
      <DataSourceModuleType ID="Dell.Connections.HWComponentDiscovery" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellServerHWComponentDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Server HW Component Discovery
' Author: Vignesh Pandian, Muralidhar L
'
' Description:
' Discover all hardware components for a Dell server with instrumentation using CIM	
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit
On Error Resume Next
Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer
Dim FanFlag, MemFlag, PSFlag, ProcFlag, BaseboardType, TempFlag, VoltageFlag, CurrentFlag, BatteryFlag, IntrusionFlag

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

FanFlag = 0
MemFlag = 0
PSFlag = 0
ProcFlag = 0
TempFlag = 0
VoltageFlag = 0
CurrentFlag = 0
BatteryFlag = 0
IntrusionFlag = 0

Dim oAPI, oDiscoveryData, oInst, strComputer, objDellConnection, LogMessage

Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
strComputer = TargetComputer
	
set objDellConnection = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2\Dell")
If Err.Number &lt;&gt; 0 Then
	LogMessage =  "WMI Cimv2Dell Error Number : " &amp; Err.Number &amp; ". Description :" &amp; Err.Description
	Err.Clear
Else
	If IsEmpty(objDellConnection) Then
		LogMessage =  "Unable to open WMI Namespace root-cimv2-dell.  Check to see if the WMI service is enabled and running, and Install/Re-Install ServerAdministrator to ensure this WMI namespace exists. " &amp; Err
	Else
		TempDiscover()
		VoltageDiscover()
		CurrentDiscover()
		BatteryDiscover()		
		DiscoverProc()
		DiscoverMem()
		DiscoverIntrusion()
		
		GetBaseBoardType()
		If (BaseboardType = "10") Then
			DiscoverFans()
			DiscoverPS()
		End If
	End If
End If

set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerHWComponents']$")
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Hardware Components")	
call oDiscoveryData.AddInstance(oInst)

If TempFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorTemperature']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Temperature")	
	call oDiscoveryData.AddInstance(oInst)		
End If
	
set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerHWComponentsSensors']$")
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Sensors")	
call oDiscoveryData.AddInstance(oInst)
	
If VoltageFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorVoltage']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Voltage")	
	call oDiscoveryData.AddInstance(oInst)
End If
	
If CurrentFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorCurrents']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Currents")	
	call oDiscoveryData.AddInstance(oInst)
End If
	
If BatteryFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorBatteries']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Batteries")	
	call oDiscoveryData.AddInstance(oInst)
End If

If FanFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerFans']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Fans")	
	call oDiscoveryData.AddInstance(oInst)
End If
	
If PSFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerPowerSupplies']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Power Supplies")	
	call oDiscoveryData.AddInstance(oInst)
End If
	
If ProcFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerProcessors']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Processors")	
	call oDiscoveryData.AddInstance(oInst)
End If
	
If MemFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerMemory']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Memory")	
	call oDiscoveryData.AddInstance(oInst)
End If

If IntrusionFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerIntrusion']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Intrusion")	
	call oDiscoveryData.AddInstance(oInst)
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing
objDellConnection = Nothing

Function BatteryDiscover()
	On Error Resume next
	Dim sQuery, colItems, objItemSensor
	
	sQuery = "Select * from CIM_DiscreteSensor WHERE SensorType = '13'"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	
	If colItems is Nothing Then
		LogMessage =  "Unable to retrieve object" &amp; sQuery
	Else
		For Each objItemSensor in colItems
			If Err.Number &lt;&gt; 0 Then
				If Err.Number = -2147023169 Then
					LogMessage =  "RPC Failure occurred for cimv2\dell info : " &amp; Err.Number
				Else
					LogMessage =  "Object RetrievalLoop Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				End If
				Err.Clear
			ElseIf Not objItemSensor is Nothing Then
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorBatteriesDiscreteUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemSensor.Name)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerDiscreteSensor']/DeviceID$", objItemSensor.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerDiscreteSensor']/CurrentReading$", objItemSensor.CurrentReading)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerDiscreteSensor']/OtherSensorTypeDescription$", objItemSensor.OtherSensorTypeDescription)
				call oDiscoveryData.AddInstance(oInst)

				BatteryFlag = 1
			End If
		Next
	End If 'colItems is nothing
	
	set colItems = Nothing
	On Error Goto 0
End Function

Function CurrentDiscover()
	On Error Resume next
	Dim sQuery, colItems, objItemSensor
	
	sQuery = "Select * from CIM_CurrentSensor"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	If colItems is Nothing Then
		LogMessage =  "Unable to retrieve object" &amp; sQuery
	Else
		For Each objItemSensor in colItems
			If Err.Number &lt;&gt; 0 Then
				If Err.Number = -2147023169 Then
					LogMessage =  "RPC Failure occurred for cimv2\dell info : " &amp; Err.Number
				Else
					LogMessage =  "Object RetrievalLoop Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				End If
				Err.Clear
			ElseIf Not objItemSensor is Nothing Then
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorCurrentsNumericUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemSensor.Name)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/DeviceID$", objItemSensor.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/CurrentReading$", objItemSensor.CurrentReading)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/LowerThresholdCritical$", objItemSensor.LowerThresholdCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/LowerThresholdNonCritical$", objItemSensor.LowerThresholdNonCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/UpperThresholdCritical$", objItemSensor.UpperThresholdCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/UpperThresholdNonCritical$", objItemSensor.UpperThresholdNonCritical)
				call oDiscoveryData.AddInstance(oInst)
						
				CurrentFlag = 1
			End If
		Next
	End If 'colItems is nothing
	
	set colItems = Nothing	
	On Error Goto 0
End Function

Function TempDiscover()
	On Error Resume next
	Dim sQuery, colItems, objItemSensor
	Dim CurrentReading, LTCritical, LTNonCritical, UTCritical, UTNonCritical
	
	sQuery = "Select * from CIM_TemperatureSensor"
		
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	If colItems is Nothing Then
		LogMessage =  "Unable to retrieve object" &amp; sQuery
	Else
		For Each objItemSensor in colItems
			If Err.Number &lt;&gt; 0 Then
				If Err.Number = -2147023169 Then
					LogMessage =  "RPC Failure occurred for cimv2\dell info : " &amp; Err.Number
				Else
					LogMessage =  "Object RetrievalLoop Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				End If
				Err.Clear
			ElseIf Not objItemSensor is Nothing Then
				CurrentReading = objItemSensor.CurrentReading
				LTCritical = objItemSensor.LowerThresholdCritical
				LTNonCritical = objItemSensor.LowerThresholdNonCritical
				UTCritical = objItemSensor.UpperThresholdCritical
				UTNonCritical = objItemSensor.UpperThresholdNonCritical
				
				If Instr(CurrentReading, "-") Then
					CurrentReading = "N/A"
				Else
					CurrentReading = CurrentReading/10 &amp; " C"
				End If
				
				If Instr(LTCritical, "-") Then
					LTCritical = "N/A"
				Else
					LTCritical = LTCritical/10 &amp; " C"
				End If
				
				If Instr(LTNonCritical, "-") Then
					LTNonCritical = "N/A"
				Else
					LTNonCritical = LTNonCritical/10 &amp; " C"
				End If
				
				If Instr(UTCritical, "-") Then
					UTCritical = "N/A"
				Else
					UTCritical = UTCritical/10 &amp; " C"
				End If
				
				If Instr(UTNonCritical, "-") Then
					UTNonCritical = "N/A"
				Else
					UTNonCritical = UTNonCritical/10 &amp; " C"
				End If
				
				Set oInst= oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorTemperatureUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemSensor.Name)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/DeviceID$", objItemSensor.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/CurrentReading$", CurrentReading)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/LowerThresholdCritical$", LTCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/LowerThresholdNonCritical$", LTNonCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/UpperThresholdCritical$", UTCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/UpperThresholdNonCritical$", UTNonCritical)
				call oDiscoveryData.AddInstance(oInst)
				TempFlag = 1
			End If
		Next
	End If 'colItems is nothing
	
	set colItems = Nothing	
	On Error Goto 0
End Function

Function VoltageDiscover()
	On Error Resume next
	Dim sQuery, sQuery1, colItems, colItems1, objItemSensor, objItemSensor1
	Dim CurrentReading, LTCritical, LTNonCritical, UTCritical, UTNonCritical
	
	sQuery = "Select * from CIM_VoltageSensor"
	sQuery1 = "Select * from CIM_DiscreteSensor WHERE SensorType = '3'"
			
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	
	Set colItems1 = objDellConnection.ExecQuery(sQuery1)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
			
	If colItems is Nothing Then
		LogMessage =  "Unable to retrieve object" &amp; sQuery
	Else
		For Each objItemSensor in colItems
			If Err.Number &lt;&gt; 0 Then
				If Err.Number = -2147023169 Then
					LogMessage =  "RPC Failure occurred for cimv2\dell info : " &amp; Err.Number
				Else
					LogMessage =  "Object RetrievalLoop Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				End If
				Err.Clear
			ElseIf Not objItemSensor is Nothing Then
				CurrentReading = objItemSensor.CurrentReading
				
				If Instr(CurrentReading, "-") Then
					CurrentReading = "N/A"
				Else
					CurrentReading = CurrentReading/1000 &amp; " V"
				End If 
				
				LTCritical = objItemSensor.LowerThresholdCritical
				
				If Instr(LTCritical, "-") Then
					LTCritical = "N/A"
				Else
					LTCritical = LTCritical/1000 &amp; " V"
				End If 
				
				LTNonCritical = objItemSensor.LowerThresholdNonCritical
				
				If Instr(LTNonCritical, "-") Then
					LTNonCritical = "N/A"
				Else
					LTNonCritical = LTNonCritical/1000 &amp; " V"
				End If 
				
				UTCritical = objItemSensor.UpperThresholdCritical
				
				If Instr(UTCritical, "-") Then
					UTCritical = "N/A"
				Else
					UTCritical = UTCritical/1000 &amp; " V"
				End If 
				
				UTNonCritical = objItemSensor.UpperThresholdNonCritical
				
				If Instr(UTNonCritical, "-") Then
					UTNonCritical = "N/A"
				Else
					UTNonCritical = UTNonCritical/1000 &amp; " V"
				End If 
				
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorVoltageNumericUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemSensor.Name)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/DeviceID$", objItemSensor.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/CurrentReading$", CurrentReading)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/LowerThresholdCritical$", LTCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/LowerThresholdNonCritical$", LTNonCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/UpperThresholdCritical$", UTCritical)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerNumericSensor']/UpperThresholdNonCritical$", UTNonCritical)
				call oDiscoveryData.AddInstance(oInst)
				
				VoltageFlag = 1
			End If
		Next
	End If 'colItems is nothing
			
	If (colItems1 is Nothing) Then
		LogMessage =  "Unable to retrieve object" &amp; sQuery1
	Else
		For Each objItemSensor1 in colItems1
			If Err.Number &lt;&gt; 0 Then
				If Err.Number = -2147023169 Then
					LogMessage =  "RPC Failure occurred for cimv2\dell info : " &amp; Err.Number
				Else
					LogMessage =  "Object RetrievalLoop Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				End If
				Err.Clear
			ElseIf (Not objItemSensor1 is Nothing) Then
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerSensorVoltageDiscreteUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemSensor1.Name)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerDiscreteSensor']/DeviceID$", objItemSensor1.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerDiscreteSensor']/CurrentReading$", objItemSensor1.CurrentReading)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerDiscreteSensor']/OtherSensorTypeDescription$", objItemSensor1.OtherSensorTypeDescription)
				call oDiscoveryData.AddInstance(oInst)
						
				VoltageFlag = 1
			End If
		Next
	End If 'colItems1 is Nothing
	
	set colItems = Nothing
	set colItems1 = Nothing
	
	On Error Goto 0
End Function

Function DiscoverFans()
	'Retrieving Fan Units
	On Error resume next
	Dim sQuery, colItems, objItemFans
	
	sQuery = "Select * from CIM_Fan"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	If (colItems is Nothing) or (IsNull(colItems)) Then
		LogMessage = "Unable to retrieve Fan Unit"
	Else
		LogMessage = "Fan Unit query retrieved successfully"
		
		For Each objItemFans in colItems
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
			End If
			'Object Retrieval
			If not objItemFans is nothing Then
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerFansUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerFansUnit']/DeviceID$", objItemFans.DeviceID)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemFans.Name)	
				call oDiscoveryData.AddInstance(oInst)	
						
				FanFlag = 1
			End If 
		Next		
	End If 
	
	Set colItems = Nothing
End Function

Function DiscoverPS()
	'Retrieving PS Units
	On Error resume next
	Dim sQuery, colItems, objItemPS, TotalOutputPower

	sQuery = "Select * from CIM_PowerSupply"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	
	If (colItems is Nothing) or (IsNull(colItems)) Then
		LogMessage = "Unable to retrieve PS Unit"
	Else
		LogMessage = "PS Unit query retrieved successfully"
				
		For Each objItemPS in colItems
			'Error checking
			If Err.Number &lt;&gt; 0 Then
						LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
			End If
			'Object Retrieval
			If not objItemPS is nothing Then
				TotalOutputPower = objItemPS.TotalOutputPower
				
				If (TotalOutputPower &lt;= 0) Then
					TotalOutputPower = "N/A"
				Else
					TotalOutputPower = TotalOutputPower/10
				End If
			
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerPowerSuppliesUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerPowerSuppliesUnit']/DeviceID$", objItemPS.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerPowerSuppliesUnit']/TotalOutputPower$", TotalOutputPower)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerPowerSuppliesUnit']/IsSwitchingSupply$", objItemPS.IsSwitchingSupply)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemPS.Name)	
				call oDiscoveryData.AddInstance(oInst)	
						
				PSFlag = 1
			End If 
		Next		
	End If 
	
	Set colItems = Nothing
End Function

Function DiscoverMem()
	'Retrieving Mem Units
	On Error resume next
	Dim sQuery, colItems, objItemMem, MemoryType
	
	sQuery = "Select * from CIM_PhysicalMemory"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	If (colItems is Nothing) or (IsNull(colItems)) Then
		LogMessage = "Unable to retrieve Mem Unit"
	Else
		LogMessage = "Mem Unit query retrieved successfully"
		
		For Each objItemMem in colItems
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
			End If
			'Object Retrieval
			If not objItemMem is nothing Then
				MemoryType = objItemMem.MemoryType
				
				If (MemoryType = 0) Then
					MemoryType = "Unknown"
				ElseIf (MemoryType = 1) Then
					MemoryType = "Other"
				ElseIf (MemoryType = 2) Then
					MemoryType = "DRAM"
				ElseIf (MemoryType = 3) Then
					MemoryType = "Synchronous DRAM"
				ElseIf (MemoryType = 4) Then
					MemoryType = "Cache DRAM"
				ElseIf (MemoryType = 5) Then
					MemoryType = "EDO"
				ElseIf (MemoryType = 6) Then
					MemoryType = "EDRAM"
				ElseIf (MemoryType = 7) Then
					MemoryType = "VRAM"
				ElseIf (MemoryType = 8) Then
					MemoryType = "SRAM"
				ElseIf (MemoryType = 9) Then
					MemoryType = "RAM"
				ElseIf (MemoryType = 10) Then
					MemoryType = "ROM"
				ElseIf (MemoryType = 11) Then
					MemoryType = "Flash"
				ElseIf (MemoryType = 12) Then
					MemoryType = "EEPROM"
				ElseIf (MemoryType = 13) Then
					MemoryType = "FEPROM"
				ElseIf (MemoryType = 14) Then
					MemoryType = "EPROM"
				ElseIf (MemoryType = 15) Then
					MemoryType = "CDRAM"
				ElseIf (MemoryType = 16) Then
					MemoryType = "3DRAM"
				ElseIf (MemoryType = 17) Then
					MemoryType = "SDRAM"
				ElseIf (MemoryType = 18) Then
					MemoryType = "SGRAM"
				ElseIf (MemoryType = 19) Then
					MemoryType = "RDRAM"
				ElseIf (MemoryType = 20) Then
					MemoryType = "DDR"
				ElseIf (MemoryType = 21) Then
					MemoryType = "DDR2"
				ElseIf (MemoryType = 22) Then
					MemoryType = "DDR2 FB-DIMM"
				End If

				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerMemoryUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerMemoryUnit']/Tag$", objItemMem.Tag)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerMemoryUnit']/MemoryType$", MemoryType)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerMemoryUnit']/Capacity$", (objItemMem.Capacity)/(1024*1024) &amp; " MB")
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemMem.Name)	
				call oDiscoveryData.AddInstance(oInst)	
				
				MemFlag = 1
			End If 
		Next		
	End If 
	
	Set colItems = Nothing
End Function

Function DiscoverProc()
	'Retrieving Proc Units
	On Error resume next
	Dim sQuery, colItems, objItemProc, a
	
	sQuery = "Select * from CIM_Processor"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
			
	If (colItems is Nothing) or (IsNull(colItems)) Then
		LogMessage = "Unable to retrieve Proc Unit"
	Else
		LogMessage = "Proc Unit query retrieved successfully"
		
		For Each objItemProc in colItems
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
			End If
			
			'Object Retrieval
			If not objItemProc is nothing Then
				a = objItemProc.Status  'CR194360
				If Not IsNull(a) Then	'CR194360
					Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerProcessorsUnit']$")
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerProcessorsUnit']/DeviceID$", objItemProc.DeviceID)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerProcessorsUnit']/CurrentClockSpeed$", objItemProc.CurrentClockSpeed &amp; " MHz")
					call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemProc.Name)	
					call oDiscoveryData.AddInstance(oInst)	
				End If					'CR194360
				ProcFlag = 1
			End If 
		Next		
	End If 
	
	Set colItems = Nothing
End Function

Function DiscoverIntrusion()
	'Retrieving Security Breach parameter
	On Error resume next
	Dim sQuery, colItems, objItem
	
	sQuery = "Select * from DELL_Chassis"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
			
	If (colItems is Nothing) or (IsNull(colItems)) Then
		LogMessage = "Unable to retrieve Security Breach parameter"
	Else
		LogMessage = "Security Breach parameter retrieved successfully"
		
		For Each objItem in colItems
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
			End If
			
			'Object Retrieval
			If not objItem is nothing Then
				If objItem.SecurityBreach &lt;&gt; 2 Then
					IntrusionFlag = 1
				End If
			End If 
		Next		
	End If 
	
	Set colItems = Nothing
End Function

Public Function GetBaseBoardType ()
	'Retrieving Base board type
	On Error resume next
	Dim sQuery, colItems, objItem
	
	sQuery = "Select * from DELL_Baseboard"
	
	Set colItems = objDellConnection.ExecQuery(sQuery)
	If Err.Number &lt;&gt; 0 Then
		LogMessage =  sQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		If Err.Number = -2147023169 Then
			LogMessage =   "RPC Failure occurred for namespace root-cimv2-dell"
		End If
		Err.Clear
	End If
	If (colItems is Nothing) or (IsNull(colItems)) Then
		LogMessage = "Unable to retrieve Base board type"
	Else
		LogMessage = "Base board type retrieved successfully"
		
		For Each objItem in colItems
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
			End If
			'Object Retrieval
			If not objItem is nothing Then
				BaseBoardType = objItem.BaseboardType
			End If 
		Next		
	End If 
	
	Set colItems = Nothing
End Function

									</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellServerBIOS.DiscoveryRule" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellServerBIOSDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
Option Explicit
On Error Resume Next
Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst, strComputer, LogMessage, objConnection, wbemObjectSet, objItemBIOS

Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)
strComputer = TargetComputer

Set objConnection = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2")
If Err.Number &lt;&gt; 0 Then
	LogMessage =  "WMI Cimv2Dell Error Number : " &amp; Err.Number &amp; ". Description :" &amp; Err.Description
	Err.Clear
Else
	If IsEmpty(objConnection) Then
		LogMessage =  "Unable to open WMI Namespace root-cimv2.  Check to see if the WMI service is enabled and running " &amp; Err
	Else
	  'Retrieving the BIOS Information
		Set wbemObjectSet = objConnection.ExecQuery("Select * from Win32_BIOS")
		If Err.Number &lt;&gt; 0 Then
			LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		End If
		If (wbemObjectSet is Nothing) Or (isNull(wbemObjectSet)) Then
			LogMessage = "Unable to retrieve BIOS information"
		Else
			LogMessage = "BIOS Information retrieved successfully"
					
			For Each objItemBIOS in wbemObjectSet
				'Error checking
				If Err.Number &lt;&gt; 0 Then
					LogMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				End If
				
				'Object Retrieval
				If not objItemBIOS is nothing Then
					set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellServer.BIOS']$")
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItemBIOS.SerialNumber)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/Version$", objItemBIOS.Version)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/Manufacturer$", objItemBIOS.Manufacturer)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/Name$", objItemBIOS.Name)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/SerialNumber$", objItemBIOS.SerialNumber)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/SMBIOSBIOSVersion$", objItemBIOS.SMBIOSBIOSVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/SMBIOSMajorVersion$", objItemBIOS.SMBIOSMajorVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/SMBIOSMinorVersion$", objItemBIOS.SMBIOSMinorVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/SMBIOSPresent$", objItemBIOS.SMBIOSPresent)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/PrimaryBIOS$", objItemBIOS.PrimaryBIOS)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/Status$", objItemBIOS.Status)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer.BIOS']/CurrentLanguage$", objItemBIOS.CurrentLanguage)
					call oDiscoveryData.AddInstance(oInst)
				End If
			Next
	  End If
		Set wbemObjectSet = Nothing
	End If
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing
Set objConnection = Nothing

									</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.ServerBMCDiscovery" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellServerBMCDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Server BMC Discovery
' Author: Vignesh Pandian
'
' Description:
' Discover BMC and DRAC components for a Dell server with instrumentation using CIM	
' A02 revision - Fix for BSOD given racadm not being terminated.
'
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit
On Error Resume Next
Dim oArgs, bmcip, SourceID, ManagedEntityId, TargetComputer, msg, version, Message

Dim blsRacType, blsRacInstalled , blsRacGen4, RegError, rc, blsRacGen4Plus
Dim	WshShell, oShell, objStdOut, oFile, fso, strLine, nPos, RacadmErrStream
Dim strRACURL, strRacType, strRacIpAddress, strRacPortNumber, strRacPortDec
Dim RacPath, drive, wintemp_path, filespec, filespec5Plus, filespec4
Dim Command10, Command11, Command2, Command3, a, b, RacExitFlag
Dim WshShell2, oShell2, objStdOut2 ' Exec cfgLan
Dim WshShell3, oShell3, objStdOut3 ' Run cfgLan
Const WAIT_LOOP = 1000000
	
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

bmcip = getBMC_IP()
strracUrl = GetRACUrl()
Dim vAPI
Set vAPI = CreateObject("MOM.ScriptAPI")
	
	Dim oAPI, oDiscoveryData, oInst
	Set oAPI = CreateObject("MOM.ScriptAPI")
	set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

If Instr(bmcip,".") &gt; 0 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerBMC']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "BMC")	
	call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerBMC']/BMCIPAddress$", bmcip)	
	call oDiscoveryData.AddInstance(oInst)
Else	
	msg = "No BMC object will be created"
End If

If Instr(strracUrl,".") &gt; 0 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellDRAC']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	If Instr(strracUrl,"i") &gt; 0 Then
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "iDRAC")	
		strracUrl = Replace(strracUrl,"i","")
	Else
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "DRAC")	
	End If
	call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellDRAC']/DracURL$", strracUrl)	
	call oDiscoveryData.AddInstance(oInst)
Else
	msg = "No RAC object will be created"
End If

	' Submit the data
	Call oAPI.Return(oDiscoveryData) 
	Set oDiscoveryData = Nothing
	Set oAPI = Nothing

Set vAPI = Nothing

Function getBMC_IP
	Dim objItemBmcIP, colItems, objDellConnection, strComputer, sBmcQuery, sBmcIP, UpdateBMC_IP, GetBmcIP, LogMessage
	strComputer="."
	set objDellConnection = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2\Dell")
	If Err.Number &lt;&gt; 0 Then
		LogMessage = "WMI Cimv2Dell Error Number : " &amp; Err.Number &amp; ". Description :" &amp; Err.Description
		UpdateBMC_IP = 0
		Err.Clear
	Else
		If IsEmpty(objDellConnection) Then
			LogMessage = "Unable to open WMI Namespace root-cimv2-dell.  Check to see if the WMI service is enabled and running, and Install/Re-Install ServerAdministrator to ensure this WMI namespace exists. " &amp; Err
			UpdateBMC_IP = 0
		Else
			sBmcQuery = "Select * from Dell_RemoteAccessServicePort"
			Set colItems = objDellConnection.ExecQuery(sBmcQuery)
			If Err.Number &lt;&gt; 0 Then
				LogMessage = sBmcQuery &amp; " Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				If Err.Number = -2147023169 Then
					LogMessage =  "RPC Failure occurred for namespace root-cimv2-dell"
					UpdateBMC_IP = 0
				End If
				Err.Clear
			End If
			If colItems is Nothing Then
				LogMessage = "Unable to retrieve RemoteAccessServicePort object"
			Else
				LogMessage = "RemoteAccessServicePort object retrieved successfully"

				For Each objItemBmcIP in colItems
					If Err.Number &lt;&gt; 0 Then
						If Err.Number = -2147023169 Then
							LogMessage = "RPC Failure occurred for cimv2\dell - bmc info : " &amp; Err.Number
							UpdateBMC_IP = 0
						ElseIf Err.Number = -2147217389 Then
							LogMessage = "If BMC present, Please Install/Re-Install ServerAdministrator on Dell Server : " &amp; fqdn2 &amp; Err.Number
							Msg = 1
							UpdateBMC_IP = 1
						Else
							LogMessage = "Object RetrievalLoop Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
							UpdateBMC_IP = 0
						End If
						Err.Clear
					End If
					If Not objItemBmcIP is Nothing Then
						sBmcIP = objItemBmcIP.AccessInfo
					End If
				Next
			End If 'colItems is nothing
			
			Set colItems = Nothing
		End If 'dellconnection is noting
		On Error GoTo 0
	End If 'error on dellconnection

	'Check sBmcIP values
	If sBmcIP = "" Then  
		GetBmcIP = -1
		If Msg &lt;&gt; 1 AND UpdateBMC_IP = 1 Then
			LogMessage = "BMC physically not present for the Dell Server / Invalid Configuration of BMC / OMSA ReInstallation needed"
		End If
	Else ' if sBmcIP contains an ip	
		getBMC_IP = sBmcIP
	End If

	Set objItemBmcIP = Nothing
	Set colItems = Nothing
	Set objDellConnection = Nothing
End Function

'***************************************************************
' Function Additions for RAC
' Functions:
'		ExecRacUrl()			- Exec racadm and Parse StdOut  
'		RunRacUrl()			- Run racadm and Parse File
'		CheckVBScriptEngine()		- Check VBScript Version
'		GetRACADMPath()			- Get racadm.exe path
'		GetRACInstallRoot()		- Get Drive letter of path
'		bFileExists()			- Check whether file exists
'		HexToDec()			- convert Hex to Decimal number
'		MOMDebugLog()			- Send LogMessage to MOMDebugLog
'		GetPathParameter()		- Get RACADM path and drive letter
'		GetTempFolderPath()		- Get Win Temp Folder path
'		GetRACFileGUID()		- Get 2 GUIDs for IP, Port File
'***************************************************************

Public Function GetRACUrl
	Dim objAlert, strLaunchRACURL, RACAgentExist, strAlertDesc
	Dim version, rc, rac, RegError, sRACUrl
	Dim LogMessage, Message
	RACAgentExist = 0
	RacExitFlag = 0
	sRACUrl = 0
	Dim version1
	
	version1 = CheckVBScriptEngine()'Check VBScript engine version
	If version1 = True Then 
	' Exec , Read from Standard Output
	rc = ExecRACURL (RACAgentExist, strLaunchRACURL)
		If rc &lt;&gt; 0 Then 
			Message = "Main: ExecRACURL error : " &amp; rc
			RacExitFlag = 1
			Exit Function
		End If
	ElseIf version1 = False Then
		' Run , Redirect to file and Read from File
		rc =RunRACURL (RACAgentExist, strLaunchRACURL)
		If rc &lt;&gt; 0 Then 
				Message = "Main: RunRACURL error : " &amp; rc
				RacExitFlag = 1
				Exit Function
		End If
	Else 
		Message = "CheckVBScriptEngine Error : " &amp; version1
		RacExitFlag = 1
		Exit Function
	End If

	Message = "Main:RACURL (AgentExist,URL) - " &amp; RACAgentExist &amp; "," &amp; strLaunchRACURL
	If RacExitFlag = 0 Then
		If RACAgentExist = 1 Then	' If RAC Agent exists
			sRACUrl = strLaunchRACURL
		End If	
	End If

	Set objAlert = Nothing
	Set strLaunchRACURL = Nothing
	Set strAlertDesc = Nothing
	Set rc = Nothing
	GetRACUrl = sRACUrl
End Function

'*****************************************************************
' ExecRacUrl
' Routine to Exec Cmd and Read From Standard Output
'*****************************************************************
Function ExecRacUrl(ByRef RacAgent, ByRef RacUrl)	
	blsRacInstalled = 0     ' IP address Existence
	blsRacGen4Plus = 0      ' Port Existence (subset of RacInstalled)
	RegError = 0
	a = 0
	b = 0
	Command10 = "racadm.exe getconfig -g cfgCurrentLanNetworking"
	Command11 = "racadm.exe getconfig -g cfgLanNetworking"
	Command2 = "racadm.exe getconfig -g cfgRacTuning"
	Command3 = "racadm.exe getconfig -g idRacInfo"
	
	GetPathParameter RacPath, drive
	If RacExitFlag = 1 Then
		ExecRacUrl = -1
		Exit Function
	End If
'''
	Set WshShell = CreateObject("WScript.Shell")
	Command3 = RacPath &amp; "\" &amp; Command3
	Message = "ExecRacUrl: Cmd for RACType - " &amp; Command3
	Set oShell = WshShell.Exec(Command3)
	WScript.Sleep(5000)
	Do While oShell.Status &lt;&gt; 1
		WScript.Sleep(0)
		a = a + 1
		b = a Mod WAIT_LOOP
		If b = 0 Then
			Message = "Exit ExecCmd. Reason: RACADM idRacInfo not responding for " &amp; WAIT_LOOP &amp; " loops." 
			oShell.Terminate()
			Exit Do
		End If
	Loop
	Set objStdOut = oShell.StdOut
	If Not oShell.StdErr.AtEndOfStream Then
		RacadmErrStream = "STDERR: " + oShell.StdErr.ReadAll
		Message = "RACADM Standard Error - " &amp; RacadmErrStream
		ExecRacUrl = -1
		Exit Function
	Else
		Do While Not objStdOut.AtEndOfStream
			strLine = objStdOut.ReadLine
			If Instr(Lcase(strLine),"error") Then
				RacAgent = 0
				Message = "Error in Racadm Output for RACType " &amp; strLine
				ExecRacUrl = -1
				Exit Function
			ElseIf Instr(LCase(strLine),Lcase("idRacType")) Then
				nPos = Instr(LCase(strLine), "=")
				strRacType = Trim(strLine)
				strRacType = Mid(strRacType,nPos+1,5)
				strRacType = Trim(strRacType)
				blsRacType = 1
				Message = "Detected DRAC Type (hex)= " &amp; strRacType
			End If
		Loop
	End If
	
	oShell.Terminate()
	Set oShell = Nothing
	Set WshShell = Nothing

	If blsRacType = 1 Then
		If Instr(Lcase(strRacType),"3") OR Instr(Lcase(strRacType),"4") OR Instr(Lcase(strRacType),"5") OR Instr(Lcase(strRacType),"7")Then
			'Method1 for DRAC4 or below
			Set WshShell = CreateObject("WScript.Shell")
			Command10 = RacPath &amp; "\" &amp; Command10
			Message = "ExecRacUrl: Cmd for IPAddress (DRAC4 or lesser) - " &amp; Command10
			Set oShell = WshShell.Exec(Command10)
			WScript.Sleep(5000)
			Do While oShell.Status &lt;&gt; 1
				WScript.Sleep(0)
				a = a + 1
				b = a Mod WAIT_LOOP
				If b = 0 Then
					Message = "Exit ExecCmd. Reason: RACADM cfgCurrentlanNetworking not responding for " &amp; WAIT_LOOP &amp; " loops." 
					oShell.Terminate()
					Exit Do
				End If
			Loop
			Set objStdOut = oShell.StdOut
	
			Do While Not objStdOut.AtEndOfStream
				strLine = objStdOut.ReadLine
				If Instr(Lcase(strLine),"error") Then
					RacAgent = 0
					Message = "Error in Racadm Output for IPaddr (DRAC4 or lesser)" &amp; strLine
					ExecRacUrl = -1
					Exit Function
				End If
				If Instr(LCase(strLine),Lcase("cfgNicCurrentIpAddress")) Then
					nPos = Instr(LCase(strLine), "=")
					strRacIpAddress = Trim(strLine)
					strRacIpAddress = Mid(strRacIpAddress,nPos+1,16)
					blsRacInstalled = 1
				End If
			Loop

			oShell.Terminate()
			Set oShell = Nothing
			Set WshShell = Nothing
		ElseIf (Instr(Lcase(strRacType),"6") OR Instr(Lcase(strRacType),"8")) Then
			'Method2
			Set WshShell2 = CreateObject("WScript.Shell")
			Command11 = RacPath &amp; "\" &amp; Command11
			Message = "ExecRacUrl: Cmd for IPAddress (DRAC5/iDRAC) - " &amp; Command11
			Set oShell2 = WshShell2.Exec(Command11)
			WScript.Sleep(5000)
			Do While oShell2.Status &lt;&gt; 1
				WScript.Sleep(0)
				a = a + 1
				b = a Mod WAIT_LOOP
				If b = 0 Then
					Message = "Exit ExecCmd. Reason: RACADM cfgLanNetworking not responding for " &amp; WAIT_LOOP &amp; " loops." 
					oShell.Terminate()
					Exit Do
				End If
			Loop
			Set objStdOut2 = oShell2.StdOut
			Do While Not objStdOut2.AtEndOfStream
				strLine = objStdOut2.ReadLine
				If Instr(Lcase(strLine),"error") Then
					RacAgent = 0
					Message = "Error in Racadm Output for IPaddr " &amp; strLine
					ExecRacUrl = -1
					Exit Function
				End If
				If Instr(LCase(strLine),Lcase("cfgNicIpAddress")) Then
					nPos = Instr(LCase(strLine), "=")
					strRacIpAddress = Trim(strLine)
					strRacIpAddress = Mid(strRacIpAddress,nPos+1,16)
					blsRacInstalled = 1
				End If
			Loop
			
			oShell2.Terminate()
			Set oShell2 = Nothing
			Set WshShell2 = Nothing
		Else ' When DRAC Type is nether 3,4,5,6,7
			Message = "Unsupported DRAC Type = " &amp; strRacType
		End If
	End If
'''
	Set oShell = Nothing
	Set	objStdOut = Nothing

	If blsRacInstalled = 1 Then
	' If Command10 runs and IpAddress was found
		Set WshShell = CreateObject("WScript.Shell")
		Command2 = RacPath &amp; "\" &amp; Command2
		Message = "ExecRacUrl: Cmd for PortNumber - " &amp; Command2
		Set oShell = WshShell.Exec(trim(Command2))
		WScript.Sleep(5000)
		Do While oShell.Status &lt;&gt; 1
			WScript.Sleep(0)
			a = a + 1
			b = a Mod WAIT_LOOP
			If b = 0 Then
				Message = "Exit ExecCmd. Reason: RACADM port cmd not responding for " &amp; WAIT_LOOP &amp; " loops." 
				oShell.Terminate()
				Exit Do
			End If
		Loop
		Set objStdOut = oShell.StdOut

		Do While Not objStdOut.AtEndOfStream
			strLine = objStdOut.ReadLine
			If Instr(Lcase(strLine),"error") Then
				RacAgent = 0
				Message = "Error in Racadm Output for Port " &amp; strLine
				Exit Function
			End If
			If Instr(LCase(strLine),LCase("cfgRacTuneHttpsPort")) Then
				nPos = Instr(LCase(strLine), "=")
			    strRacPortNumber= Trim(strLine)
				If Instr(strRacPortNumber,"0x") Then
					strRacPortNumber= Mid(strRacPortNumber,nPos+1+2,16) '+2 to compensate 0x
					Message = "Hex httpsPort value from cfgRacTuning = " &amp; strRacPortNumber
					strRacPortNumber = HexToDec(strRacPortNumber)
					Message = "Hex to Dec convert result in = " &amp; strRacPortNumber
				Else
					strRacPortNumber= Mid(strRacPortNumber,nPos+1,16) '
					Message = "RAC5Plus Decimal Port = " &amp; strRacPortNumber
				End If
				blsRacGen4Plus = 1
			End	If
		Loop

		oShell.Terminate()
		Set oShell = Nothing
		Set WshShell = Nothing

		If blsRacGen4Plus = 1 Then
			strRACURL = "https://" &amp; strRacIpAddress &amp; ":" &amp; strRacPortNumber
		Else 
			strRACURL = "https://" &amp; strRacIpAddress
		End If
		If Instr(strRacType,"8") Then
			strRACURL = "i" &amp; strRACURL
		End If
	End If ' If blsRacInstalled = 1

	RacAgent = blsRacInstalled
	RacUrl = strRACURL

	Set objStdOut = Nothing
	If Err &lt;&gt; 0 Then
		ExecRacUrl = Err.Number
		Message = "ExecRACUrl ErrorNo= " &amp; Err.No &amp; ", Description: " &amp; Err.Desc
		Err.Clear
	End If
End Function

'**********************************************************
' CheckVBScriptEngine()
' Check VBScript engine version:
'**********************************************************
Function CheckVBScriptEngine()
	Dim bIsCompatV,  var
	Const VBSCRIPT_MIN_VERSION = 5.6
	Err.Clear
	var = ScriptEngineMajorVersion &amp; "." &amp; ScriptEngineMinorVersion
	If (CInt(var)) &lt; VBSCRIPT_MIN_VERSION Then
		bIsCompatV = False
	Else
		bIsCompatV = True
	End If
	If Err &lt;&gt; 0 Then
		CheckVBScriptEngine	= Err.Number
		Message = "VBScriptEngine Error = " &amp; Err.Number
	Else
		CheckVBScriptEngine = bIsCompatV
	End If
End Function

'*****************************************************************
'GetRacadmPath
'Routine to read the registry to query the OMSA Install Path
'*****************************************************************
Function GetRACADMPath(ByRef o_sPath)
	Const DEF_RACADM_PATH = "C:\Program Files\Dell\OpenManage\RAC\MN"
	Const RACADM_REG_INTALL_PATH = "HKEY_LOCAL_MACHINE\SOFTWARE\Dell Computer Corporation\OpenManage\Remote Access Card Managed Node\PATH"
	Const RACADM64_REG_INTALL_PATH = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432node\Dell Computer Corporation\OpenManage\Remote Access Card Managed Node\PATH"
	Dim strRacadmKey, tmp

	strRacadmKey = RACADM_REG_INTALL_PATH
	Set oShell = CreateObject ("WScript.Shell")
	o_sPath = ""
	On Error Resume Next
	o_sPath = oShell.RegRead(strRacadmKey)

	If o_sPath = "" Then
		o_sPath = oShell.RegRead(RACADM64_REG_INTALL_PATH)
		If Err &lt;&gt; 0 Then
			Err.Clear
		End If
	End If

	If o_sPath = "" Then
		tmp = DEF_RACADM_PATH &amp; "\racadm.exe"
		If(bFileExists(tmp)) Then
			o_sPath = DEF_RACADM_PATH
			Message = "RACADM Registry is empty, Using Default Path" &amp; DEF_RACADM_PATH
			Err.Clear
		Else
			RegError = 1
		End If
	End If
	If Err &lt;&gt; 0 Then
		GetRACADMPath = Err.Number
	End If
	Set oShell = Nothing
End Function

'*****************************************************************
'GetOMInstallRoot
'Routine to determine the Drive letter where OMSA is installed
'*****************************************************************
Private Function GetRACInstallRoot(ByRef path, ByVal RACInstallPath)
	On Error Resume Next
	Err.Clear
	' Return the root drive of the OMInstall Path
	path = Left(RACInstallPath, 2)
	If Err &lt;&gt; 0 Then
		GetRACInstallRoot = Err.Number
	End If
End Function

'*****************************************************************
' RunRacUrl
'Routine to use Run - Redirect to file and Read from File,Del File
'*****************************************************************
Function RunRacUrl(ByRef RacAgent, ByRef RacUrl)	
	RegError = 0
	Const ForReading = 1 
	Dim guid1, guid2, guid3, guid4
	Command10 = " getconfig -g cfgCurrentLanNetworking"
	Command11 = " getconfig -g cfgLanNetworking"
	Command2 = " getconfig -g cfgRacTuning"
	Command3 = " getconfig -g idRacInfo"

	blsRacInstalled = 0 ' will have IP address
	blsRacGen4Plus = 0  ' will have Port (subset of RacInstalled)

	GetPathParameter RacPath, drive
	GetTempFolderPath wintemp_path, drive
	GetRACFileGUID guid1, guid2

	If RacExitFlag = 1 Then
		Exit Function
	End If

	filespec = wintemp_path &amp; "\" &amp; guid1 &amp; ".txt"
	Command3 = "cmd /c " &amp; chr(34) &amp; RacPath &amp; "\racadm.exe" &amp; Chr(34) &amp; Command3 &amp; " &gt; " &amp; filespec
	Message = "Run: Command for DRAC Type - " &amp; Command3
	Set oShell3 = CreateObject ("WScript.Shell")
	rc = oShell3.run(Command3,0,true)	
	WScript.Sleep(5000)
	Do While bFileExists(filespec) &lt;&gt; -1	
		WScript.Sleep(0)
	Loop
	
	Set fso = CreateObject("Scripting.FileSystemObject")
	Set oFile = fso.OpenTextFile(filespec, ForReading, False)
	Do While Not oFile.AtEndOfStream 
		strLine = Trim(oFile.ReadLine)
		If Instr(Lcase(strLine),"error") Then
			RacAgent = 0
			Message = "Error in Racadm Output for idRacInfo " &amp; strLine
			rc = DelFile(filespec)
			If rc &lt;&gt; 0 Then 
				Message = "Error! - DelFile " &amp; filespec 
			End If
			RunRacUrl = -1
			Exit Function 'Add MP22UT.X01
		End If
		If Instr(LCase(strLine),Lcase("idRacType")) Then
			nPos = Instr(LCase(strLine), "=")
			strRacType = Trim(strLine)
			strRacType = Mid(strRacType,nPos+1,5)
			strRacType = Trim(strRacType)
			Message = "Detected DRAC Type (hex)= " &amp; strRacType
			blsRacType = 1
		End If
	Loop

	Set oShell3 = Nothing
	'Set objStdOut = Nothing
	oFile.close
	'Clean up the CLI Output : Delete %WINTEMP% \ %Guid1% .txt
	rc = DelFile(filespec)
	If rc &lt;&gt; 0 Then 
		Message = "Error! - DelFile " &amp; filespec
	End If
	Set filespec = Nothing
'''''''
	If blsRacType = 1 Then
		GetRACFileGUID guid3, guid4
		If Instr(Lcase(strRacType),"3") OR Instr(Lcase(strRacType),"4") OR Instr(Lcase(strRacType),"5") OR Instr(Lcase(strRacType),"7")Then
			'Method1 for DRAC4 or below
			filespec4 = wintemp_path &amp; "\" &amp; guid4 &amp; ".txt"
			'Set WshShell3 = CreateObject("WScript.Shell")
			Command10 = "cmd /c " &amp; chr(34) &amp; RacPath &amp; "\racadm.exe" &amp; Chr(34) &amp; Command10 &amp; " &gt; " &amp; filespec4
			Set oShell3 = CreateObject ("WScript.Shell")
			rc = oShell3.run(Command10,0,true)	
			WScript.Sleep(5000)
			Message = "IPADDR: RunRacUrl: Run " &amp; Command10
	
			' Loop Until file RAC1Guid.txt is created
			Do While bFileExists(filespec4) &lt;&gt; -1	
				WScript.Sleep(0)
			Loop

			Set fso = CreateObject("Scripting.FileSystemObject")
			Set oFile = fso.OpenTextFile(filespec4, ForReading, False)
			Do While Not oFile.AtEndOfStream 
				strLine = Trim(oFile.ReadLine)
				If Instr(Lcase(strLine),"error") Then
					RacAgent = 0
					Message = "Error in Racadm Output for IPaddr " &amp; strLine
					rc = DelFile(filespec4)
					If rc &lt;&gt; 0 Then 
						Message = "Error! - DelFile " &amp; filespec4 
					End If
					RunRacUrl = -1
					Exit Function
				End If
				If Instr(LCase(strLine),Lcase("cfgNicCurrentIpAddress")) Then
					nPos = Instr(LCase(strLine), "=")
					strRacIpAddress = Trim(strLine)
			        strRacIpAddress = Mid(strRacIpAddress,nPos+1,16)
					blsRacInstalled = 1
				End If
			Loop

			Set oShell3 = Nothing
			'Set objStdOut = Nothing
			oFile.close
			'Clean up the CLI Output : Delete %WINTEMP% \ %Guid1% .txt
			rc = DelFile(filespec4)
			If rc &lt;&gt; 0 Then 
				Message = "Error! - DelFile " &amp; filespec4 
			End If
			Set filespec4 = Nothing
		ElseIf Instr(Lcase(strRacType),"6") Then
			' Method for DRAC5 
			filespec5Plus = wintemp_path &amp; "\" &amp; guid3 &amp; ".txt"
			'Set WshShell3 = CreateObject("WScript.Shell")
			Command11 = "cmd /c " &amp; chr(34) &amp; RacPath &amp; "\racadm.exe" &amp; Chr(34) &amp; Command11 &amp; " &gt; " &amp; filespec5Plus
			Set oShell3 = CreateObject ("WScript.Shell")
			rc = oShell3.run(Command11,0,true)	
			WScript.Sleep(5000)
			' Infinite Loop Until file RAC3Guid.txt is created
			Do While bFileExists(filespec5Plus) &lt;&gt; -1	
				WScript.Sleep(0)
			Loop

			Set fso = CreateObject("Scripting.FileSystemObject")
			Set oFile = fso.OpenTextFile(filespec5Plus, ForReading, False)
			Do While Not oFile.AtEndOfStream 
				strLine = Trim(oFile.ReadLine)
				If Instr(Lcase(strLine),"error") Then
					RacAgent = 0
					Message = "Error in Racadm Output for IPaddr cfgLan " &amp; strLine
					rc = DelFile(filespec5Plus)
					If rc &lt;&gt; 0 Then 
						Message = "Error! - DelFile " &amp; filespec5Plus 
					End If
					RunRacUrl = -1
					Exit Function
				End If
				If Instr(LCase(strLine),Lcase("cfgNicIpAddress")) Then
					nPos = Instr(LCase(strLine), "=")
					strRacIpAddress = Trim(strLine)
			        strRacIpAddress = Mid(strRacIpAddress,nPos+1,16)
					blsRacInstalled = 1
				End If
			Loop

			Set oShell3 = Nothing
			'Set WshShell3 = Nothing
			'Set objStdOut = Nothing
			oFile.close
			'Clean up the CLI Output : Delete %WINTEMP% \ %Guid1% .txt
			rc = DelFile(filespec5Plus)
			If rc &lt;&gt; 0 Then 
				Message = "Error! - DelFile " &amp; filespec5Plus
			End If
			Set filespec5Plus = Nothing
		' End of RAC5+ If clause
		Else ' When DRAC Type is nether 3,4,5,6,7
			Message =  "Unsupported DRAC Type = " &amp; strRacType
		End If
	Else
		Message = "DRAC Type not found via idRacInfo command. " 
	End If ' End of blsRacType IF clause
	' Output OMSA CLI to file RACGuid1.txt, wait until RUN Command is completed
	' RAC5+ cfgLanNetworking in place of cfgCurrentLanNetworking (Invalid Group)

	If blsRacInstalled = 1 Then
	' If Command10/Command11 runs and IpAddress was found
		Set oShell = CreateObject("WScript.Shell")
		filespec = wintemp_path &amp; "\" &amp; guid2 &amp; ".txt"
		Command2 = "cmd /c " &amp; chr(34) &amp; RacPath &amp; "\racadm.exe" &amp; Chr(34) &amp; Command2 &amp; " &gt; " &amp; filespec
		rc = oShell.run(Command2,0,true)	
		WScript.Sleep(5000)
		If rc &lt;&gt; 0 Then 
			Message = "PORT: RunRacUrl: OShellRun ERROR: " &amp; rc &amp; " for " &amp; Command2
			rc = DelFile(filespec)
			If rc &lt;&gt; 0 Then 
				Message = "Error! - DelFile " &amp; filespec 
			End If
			Exit Function
		Else
			Message = "PORT: RunRacUrl: Run " &amp; Command2
			' Infinite Loop Until file RAC2Guid is created
			Do While bFileExists(filespec) &lt;&gt; -1	
				WScript.Sleep(0)
			Loop

			Set fso = CreateObject("Scripting.FileSystemObject")
			Set oFile = fso.OpenTextFile(filespec, ForReading, False)
			Do While Not oFile.AtEndOfStream 
				strLine = Trim(oFile.ReadLine)
				If Instr(Lcase(strLine),"error") Then
					RacAgent = 0
					Message = "Error in Racadm Output for Port " &amp; strLine
					rc = DelFile(filespec)
					If rc &lt;&gt; 0 Then 
						Message = "Error! - DelFile " &amp; filespec 
					End If
					Exit Function
				End If
				If Instr(LCase(strLine),LCase("cfgRacTuneHttpsPort")) Then
					nPos = Instr(LCase(strLine), "=")
				    strRacPortNumber= Trim(strLine)
					If Instr(strRacPortNumber,"0x") Then
						strRacPortNumber= Mid(strRacPortNumber,nPos+1+2,16) '+2 to compensate 0x
						Message = "Hex httpsPort value from cfgRacTuning = " &amp; strRacPortNumber
						strRacPortNumber = HexToDec(strRacPortNumber)
						Message = "Hex to Dec convert result in = " &amp; strRacPortNumber
					Else
						strRacPortNumber= Mid(strRacPortNumber,nPos+1,16) 
						Message = "RAC5Plus decimal number = " &amp; strRacPortNumber
					End If
					blsRacGen4Plus = 1
				End If
			Loop

			oFile.close
			'Clean up the CLI Output : Delete racGuid2.txt
			rc = DelFile(filespec)
			If rc &lt;&gt; 0 Then 
				Message = "Error! - DelFile " &amp; filespec 
			End If
			Set filespec = Nothing
		End If 'PORT oShellCommand executed
		Set oShell = Nothing
	End If ' if blsRacInstalled = 1
	
	If blsRacGen4Plus = 1 Then
		strRACURL = "https://" &amp; strRacIpAddress &amp; ":" &amp; strRacPortNumber
	Else 
		strRACURL = "https://" &amp; strRacIpAddress
	End If

	RacAgent = blsRacInstalled
	RacUrl = strRACURL
	
	If Err &lt;&gt; 0 Then
		RunRacUrl = Err.Number
	End If
End Function

'*****************************************************************
'bFileExists
'Routine to determine if the OMSA Report file is created
'*****************************************************************
Function bFileExists(ByVal filespec1)
	Dim fso
	Set fso = CreateObject("Scripting.FileSystemObject")
	bFileExists = (fso.FileExists(filespec1))
	Set fso = Nothing
End Function

'*****************************************************************
' HexToDec
' Routine to Convert Hex Number to Decimal value
'*****************************************************************
Function HexToDec(ByVal Number)
	Dim lngResult,intIndex
	Dim strDigit, intDigit, intValue
	lngResult=0
	For intIndex=len(Number) to 1 step -1
		strDigit=Mid(Number,intIndex,1)
		intDigit=Instr("0123456789ABCDEF",ucase(strDigit))-1
		If intDigit&gt;=0 Then
			intValue=intDigit*(16^(len(Number)-intIndex))
			lngResult=lngResult+intValue
		Else
			lngResult=0
			int intIndex=0
		End If
	Next
	Number=Trim(lngResult)
	HexToDec = Number
End Function

'*****************************************************************
' Function MOMDebugLog 
' Add LogMessage Header - ScriptName and Time and Logging it.
'*****************************************************************
Function MOMDebugLog (ByVal strMessage)
	LogMessage = "(" &amp; SCRIPT_NAME &amp; ")" &amp; "-" &amp; "[" &amp; Now() &amp; "] --- " 
	LogMessage = LogMessage &amp; strMessage
'		ScriptContext.echo LogMessage
End Function

'*****************************************************************
'DeleteFile
'Routine to delete the OMSA Report file
'*****************************************************************
Function DelFile(ByVal filespec2)
	Dim fso, oFile
	If bFileExists(filespec2) Then
		Set fso = CreateObject("Scripting.FileSystemObject")
		fso.DeleteFile filespec2, True
		Set fso = Nothing
		Message = "OMREPORT Output File deleted - " &amp; filespec2
	End If
	If Err &lt;&gt; 0 Then
		DelFile = Err.Number
	End If
End Function

'*****************************************************************
'GetPathParameter - Common to RunRacUrl and ExecRacUrl
'Routine to get RACADM path and drive letter
'*****************************************************************
Function GetPathParameter(ByRef o_racpath, ByRef o_drive)
	Dim rac_path, drive_letter
	rc = GetRACADMPath(rac_path)
	If rc &lt;&gt; 0 Then
		Message = "GetPathParameter:GetRACADMPath Error - " &amp; rc
		RacExitFlag = 1
		Exit Function
	Else
		Message = "GetPathParameter:GetRACADMPath  - " &amp; rac_path
	End If
	
	rc = GetRACInstallRoot(drive_letter, rac_path)
	If rc &lt;&gt; 0 Then
		Message = "GetPathParameter:GetRACInstallRoot Error - " &amp; rc
		RacExitFlag = 1
		Exit Function
	Else
		Message = "GetPathParameter:GetRACInstallRoot  - " &amp; drive_letter
	End If
	
	If RegError = 1 Then
		Message = "RAC Hardware / Agent not installed on Server" 
		RacExitFlag = 1
		Exit Function
	End If

	o_racpath = rac_path
	o_drive = drive_letter

	If Err &lt;&gt; 0 Then
		GetPathParameter = Err.Number
	End If
End Function

'*****************************************************************
'GetTempFolderPath
'Routine to Get Win Temp Folder path
'*****************************************************************
Function GetTempFolderPath(ByRef WinTempFolder, ByVal drive_letter) 
	Dim FldrExistFlag, fso
	FldrExistFlag = False
	dim wshShell :  Set wshShell = Createobject("WScript.Shell")
	dim wshSysEnv : Set wshSysEnv = wshShell.Environment
	dim strSysTempFolder : strSysTempFolder = wshSysEnv("TEMP")
	dim wshPrcEnv : Set wshPrcEnv = wshShell.Environment("Process")
	strSysTempFolder = Replace(strSysTempFolder, "%SystemRoot%", wshPrcEnv("SYSTEMROOT"), 1, -1, vbTextCompare)
	WinTempFolder = strSysTempFolder

	Set fso = CreateObject("Scripting.FileSystemObject")
	If (fso.FolderExists(WinTempFolder)) Then
		FldrExistFlag = True
	Else
		FldrExistFlag = False
    End If
	If WinTempFolder = "" OR FldrExistFlag = False Then
		WinTempFolder = drive_letter 
	End If
	Message = "Current CLI output will be stored in Folder - " &amp; WinTempFolder

	Set wshShell = Nothing
	Set wshSysEnv = Nothing
	Set strSysTempFolder = Nothing
	Set wshPrcEnv = Nothing

	If Err &lt;&gt; 0 Then
		GetTempFolderPath = Err.Number
	End If
End Function

'*****************************************************************
'GetRACFileGUID
'Routine to generate 2 unique GUIDs for ip and port info files
'*****************************************************************
Function GetRACFileGUID(ByRef guid3, ByRef guid4)
	Dim TypeLib, NewGUID
	Set TypeLib = CreateObject("Scriptlet.TypeLib")
	NewGUID = TypeLib.Guid
	guid3 = (left(NewGUID, len(NewGUID)-2))
	Set TypeLib = Nothing

	Set TypeLib = CreateObject("Scriptlet.TypeLib")
	NewGUID = TypeLib.Guid
	guid4 = (left(NewGUID, len(NewGUID)-2))
	Set TypeLib = Nothing
End Function


													</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.ServerServicesDiscovery" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellServerServicesDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Server Services Discovery
' Author: Vignesh Pandian
'
' Description:
' Discover all OpenManage Windows services for a Dell server with instrumentation.
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit
On Error Resume Next
Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer
Dim ServiceFlag
Dim	DSMEventMgrFlag, DSMDataMgrFlag, DSMConnServiceFlag, DSMSharedServicesFlag		
Dim	DSMEventMgrDesc, DSMDataMgrDesc, DSMConnServiceDesc, DSMSharedServicesDesc
Dim	DSMEventMgrDispName, DSMDataMgrDispName, DSMConnServiceDispName, DSMSharedServicesDispName
Dim	DSMEventMgrStartMode, DSMDataMgrStartMode, DSMConnServiceStartMode, DSMSharedServicesStartMode
Dim LogMessage, ErrorMessage

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

ServiceFlag = getOMServices()
If ServiceFlag=1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerServices']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "OMServices")	
	call oDiscoveryData.AddInstance(oInst)
	
'	Call oAPI.LogScriptEvent("VigServices2True",999,1,"Executed" + DSMEventMgrDispName + DSMDataMgrDispName + DSMConnServiceDispName + DSMSharedServicesDispName)
	
	If DSMEventMgrFlag = 1 Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerServices.DSMEventManager']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", DSMEventMgrDispName)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMEventManager']/Description$", DSMEventMgrDesc)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMEventManager']/StartMode$", DSMEventMgrStartMode)			
		call oDiscoveryData.AddInstance(oInst)
	End If
	If DSMDataMgrFlag = 1 Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerServices.DSMDataManager']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", DSMDataMgrDispName)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMDataManager']/Description$", DSMDataMgrDesc)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMDataManager']/StartMode$", DSMDataMgrStartMode)			
		call oDiscoveryData.AddInstance(oInst)
	End If
	If DSMConnServiceFlag = 1 Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerServices.DSMConnService']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", DSMConnServiceDispName)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMConnService']/Description$", DSMConnServiceDesc)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMConnService']/StartMode$", DSMConnServiceStartMode)			
		call oDiscoveryData.AddInstance(oInst)
	End If
	If DSMSharedServicesFlag = 1 Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ServerServices.DSMSharedServices']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", DSMSharedServicesDispName)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMSharedServices']/Description$", DSMSharedServicesDesc)	
		call oInst.AddProperty("$MPElement[Name='Dell.Connections.ServerServices.DSMSharedServices']/StartMode$", DSMSharedServicesStartMode)			
		call oDiscoveryData.AddInstance(oInst)
	End If
Else
'	Call oAPI.LogScriptEvent("VigServices2",999,1,"False")
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing
	
Function getOMServices
	Dim strComputer, WbemServices, wbemObjectSet, wbemObject, sQuery, OMServicesFlag 
	strComputer="."
		
	Set WbemServices = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2")
	If IsEmpty(WbemServices) Then
		MOMDebugLog "Unable to open WMI Namespace root-cimv2.  Check to see if the WMI service is enabled and running, and ensure this WMI namespace exists." &amp; Err.Description
	Else
		sQuery = "SELECT * FROM Win32_Service WHERE Name = 'omsad'"
		Set wbemObjectSet = wbemServices.ExecQuery(sQuery)
		If IsEmpty(wbemObjectSet) Or Err.Number &lt;&gt; 0 Then
			MOMDebugLog "The Query '" &amp; sQuery &amp; "' returned an invalid result set.  Please check to see if this is a valid WMI Query." &amp; Err.Description
		Else
			For Each wbemObject In wbemObjectSet
				If Err.Number &lt;&gt; 0 Then
					ErrorMessage = "Win32_Service SubObjectQuery Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
					MOMDebugLog (ErrorMessage)	
					Err.Clear
				End If
				DSMSharedServicesFlag = 1
				DSMSharedServicesDispName = wbemObject.DisplayName
				DSMSharedServicesDesc = wbemObject.Description
				DSMSharedServicesStartMode = wbemObject.StartMode
			Next
		End If
		Set wbemObjectSet = Nothing
			
		sQuery = "SELECT * FROM Win32_Service WHERE Name = 'Server Administrator'"
		Set wbemObjectSet = wbemServices.ExecQuery(sQuery)
		If IsEmpty(wbemObjectSet) Or Err.Number &lt;&gt; 0 Then
			MOMDebugLog "The Query '" &amp; sQuery &amp; "' returned an invalid result set.  Please check to see if this is a valid WMI Query." &amp; Err.Description
		Else
			For Each wbemObject In wbemObjectSet
				If Err.Number &lt;&gt; 0 Then
					ErrorMessage = "Win32_Service SubObjectQuery Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
					MOMDebugLog (ErrorMessage)	
					Err.Clear
				End If
				DSMConnServiceFlag = 1
				DSMConnServiceDispName = wbemObject.DisplayName
				DSMConnServiceDesc = wbemObject.Description
				DSMConnServiceStartMode = wbemObject.StartMode
			Next
		End If
		Set wbemObjectSet = Nothing
			
		sQuery = "SELECT * FROM Win32_Service WHERE Name = 'dcstor32'"
		Set wbemObjectSet = wbemServices.ExecQuery(sQuery)
		If IsEmpty(wbemObjectSet) Or Err.Number &lt;&gt; 0 Then
			MOMDebugLog "The Query '" &amp; sQuery &amp; "' returned an invalid result set.  Please check to see if this is a valid WMI Query." &amp; Err.Description
		Else
			For Each wbemObject In wbemObjectSet
				If Err.Number &lt;&gt; 0 Then
					ErrorMessage = "Win32_Service SubObjectQuery Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
					MOMDebugLog (ErrorMessage)	
					Err.Clear
				End If
				DSMDataMgrFlag = 1
				DSMDataMgrDispName = wbemObject.DisplayName
				DSMDataMgrDesc = wbemObject.Description
				DSMDataMgrStartMode = wbemObject.StartMode					
			Next
		End If
		Set wbemObjectSet = Nothing
			
		sQuery = "SELECT * FROM Win32_Service WHERE Name = 'dcevt32'"
		Set wbemObjectSet = wbemServices.ExecQuery(sQuery)
		If IsEmpty(wbemObjectSet) Or Err.Number &lt;&gt; 0 Then
			MOMDebugLog "The Query '" &amp; sQuery &amp; "' returned an invalid result set.  Please check to see if this is a valid WMI Query." &amp; Err.Description
		Else
			For Each wbemObject In wbemObjectSet
				If Err.Number &lt;&gt; 0 Then
					ErrorMessage = "Win32_Service SubObjectQuery Error Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
					MOMDebugLog (ErrorMessage)	
					Err.Clear
				End If
				DSMEventMgrFlag = 1
				DSMEventMgrDispName = wbemObject.DisplayName
				DSMEventMgrDesc = wbemObject.Description
				DSMEventMgrStartMode = wbemObject.StartMode										
			Next
		End If
		Set wbemObjectSet = Nothing
	End If
	
	getOMServices = DSMEventMgrFlag OR DSMDataMgrFlag OR DSMConnServiceFlag OR DSMSharedServicesFlag
End Function
	
													</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellChassis.DiscoveryRule" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellChassisDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Chassis Discovery
' Author: Muralidhar L
'
' Description:
' Discover all Chassis hardware components for a Dell server with instrumentation using CIM	
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit
On Error Resume Next

Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer		

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

Dim strComputer, WbemServices, wbemObjectSet, wbemObject, sQuery
Dim ChassisSerialNumber, FanFlag, PSFlag

strComputer="."
FanFlag = 0
PSFlag = 0

Set WbemServices = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2\dell")
If IsEmpty(WbemServices) Then
	MOMDebugLog "Unable to open WMI Namespace root-cimv2-dell.  Check to see if the WMI service is enabled and running, and ensure this WMI namespace exists." &amp; Err.Description
Else
	GetChassisSerialNumber()
	DiscoverFans()
	DiscoverPS()
		
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellChassis']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Chassis: " &amp; ChassisSerialNumber)	
	call oDiscoveryData.AddInstance(oInst)
		
	If FanFlag = 1 Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ChassisFans']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Fans")	
		call oDiscoveryData.AddInstance(oInst)
	End If
		
	If PSFlag = 1 Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ChassisPowerSupplies']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Power Supplies")	
		call oDiscoveryData.AddInstance(oInst)
	End If
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing

Public Function GetChassisSerialNumber()
	'Retrieving the Chassis Serial Number
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select SerialNumber from DELL_BaseBoard WHERE BaseboardType = '13'")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve Chassis Serial Number"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Chassis Serial Number retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				ChassisSerialNumber = objItem.SerialNumber
			End If
		Next
		LogMessage = "Chassis Serial Number  : " &amp; ChassisSerialNumber 
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function

Function DiscoverFans()
	'Retrieving Fan Units
	On Error resume next
	
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from CIM_Fan")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve Chassis Fan Unit"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Chassis Fan Unit retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ChassisFansUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ChassisFansUnit']/DeviceID$", objItem.DeviceID)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItem.Name)	
				call oDiscoveryData.AddInstance(oInst)	
				FanFlag = 1
			End If
		Next
	End If
	Set wbemObjectSet = Nothing
End Function

Function DiscoverPS()
	'Retrieving PS Units
	On Error resume next
	
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from CIM_PowerSupply")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve Chassis Power supply unit"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Chassis power supply Unit retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem, TotalOutputPower
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				TotalOutputPower = objItem.TotalOutputPower
				
				If (TotalOutputPower &lt;= 0) Then
					TotalOutputPower = "N/A"
				Else
					TotalOutputPower = TotalOutputPower/10
				End If
				
				Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ChassisPowerSuppliesUnit']$")
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ChassisPowerSuppliesUnit']/DeviceID$", objItem.DeviceID)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ChassisPowerSuppliesUnit']/TotalOutputPower$", TotalOutputPower)
				call oInst.AddProperty("$MPElement[Name='Dell.Connections.ChassisPowerSuppliesUnit']/IsSwitchingSupply$", objItem.IsSwitchingSupply)
				call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", objItem.Name)	
				call oDiscoveryData.AddInstance(oInst)	
				PSFlag = 1
			End If
		Next
	End If
	Set wbemObjectSet = Nothing
End Function

									</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellStorage.DiscoveryRule" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellStorageDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Storage Discovery
' Author: Muralidhar
'
' Description:
' Discover all storage components for a Dell server with instrumentation using OMSS ClI	
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************
Option Explicit
On Error Resume Next
Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst
Dim strComputer, WbemServices, wbemObjectSet
strComputer=TargetComputer

Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

Const WAIT_LOOP = 1000000
Const SCRIPT_NAME = "Dell Agents State Monitoring"
Const OM_REPORT_STORAGE_CONTR = "Storage"
Const DEF_OMSA_BIN_PATH = "C:\Program Files\Dell\OpenManage\oma\bin"
Const OMSA_REG_INTALL_PATH = "HKEY_LOCAL_MACHINE\SOFTWARE\Dell Computer Corporation\Dell OMA\InstallPath"
Const OMSA64_REG_INTALL_PATH = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Dell Computer Corporation\Dell OMA\InstallPath"
'Dell Hardware Instrumentation
Dim StorageStatus

Dim s
Set s = New DellStorage
s.DiscoverStorageControllers()

If s.StorageControllerFlag = 1 Then
	set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellStorage']$")
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
	call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Storage")	
	call oDiscoveryData.AddInstance(oInst)	

	' Submit the data
	Call oAPI.Return(oDiscoveryData) 
End If

Set oDiscoveryData = Nothing
Set oAPI = Nothing

Class DellStorage
	Dim arrServerStatus, arrStorageStatus
	Dim StorageControllerFlag
	Dim RegError, LogMessage, Message, Message1
	Dim a, b

	Dim strLine, rc, LogMesg 
	Dim fso, oFile, filespec
	Dim oShell, WshShell, objStdOut
	Dim strCommand, strRepFilePath, wintemp_path

	Dim ParseStartPos, ParseEndPos 
	Dim Index, StatusIndex, StatusValue
	Dim AttrFlag, ValueFlag, PrevStatus, StorageStatusValue
	
	Dim g_omsaBinPath, g_drive, g_tempFolder

	Function DiscoverStorageControllers()
		Dim OMSABinPath  '  Store Path from Registry key
		Dim drive		'  Drive letter
		Dim version
		RegError = 0 

		' Get OMSA Lib Path
		rc = GetOMABinPath(OMSABinPath)
		If rc &lt;&gt; 0 Then 
'				Message = "GetOMSAHealth:GetOMABinPath Error"
'				MOMDebugLog Message
				WScript.Quit()
		Else 
'				Message = "GetOMSAHealth:OMSABinPath = " &amp; OMSABinPath
'				MOMDebugLog Message
		End If

		' Get Install root path
		rc = GetOMInstallRoot(drive, OMSABinPath) ' return the current absolute path or the root path for the OMSA Install
		If rc &lt;&gt; 0 Then 
'				Message = "GetOMSAHealth:GetOMInstallRoot Error"
'				MOMDebugLog Message
				WScript.Quit()
		Else
'				Message = "GetOMSAHealth:GetOMInstallRoot = " &amp; drive
'				MOMDebugLog Message
		End	If
		If RegError = 1  Then
			Message = "Task Fail: OMSA not installed / OMSA Registry Value not found." 
			MOMDebugLog Message
			WScript.Quit()
		End If
	
		' Check VBScript engine version
		version = CheckVBScriptEngine()
		If version = True OR version = False Then 
			RunCLI drive, OMSABinPath
		Else
			Message = "Error: VBScript corrupted/absent. Please Re-Install Windows Script 5.6 on the Agent" 
			MOMDebugLog Message
			WScript.Quit()
		End If
	End Function

	'*****************************************************************
	'Function RunCLI
	'Routine For CLI VB.Run (For  Version &lt; 5.6) 
	'*****************************************************************
	Function RunCLI(ByVal targetDrive, ByVal strOMSABinPath)
		Dim guid1,guid3
		GetTempFolderPath wintemp_path, targetDrive
		GetOMReportFileGUID guid1
		
		RunStorageCLI targetDrive, strOMSABinPath	
	End Function

	'*****************************************************************
	'GetOMABinPath
	'Routine to read the registry to query the OMA Install Path
	'*****************************************************************
	Function GetOMABinPath(o_sPath)
		Dim strOMAKey
		Dim oShell, tmp

		Set oShell = CreateObject ("WScript.Shell")
		o_sPath = ""
		On Error Resume Next
		o_sPath = oShell.RegRead(OMSA_REG_INTALL_PATH)
		If o_sPath = "" Then
			o_sPath = oShell.RegRead(OMSA64_REG_INTALL_PATH)
		End If
		If o_sPath = "" Then
			tmp = DEF_OMSA_BIN_PATH &amp; "\omreport.exe"
			If(bFileExists(tmp)) Then
				o_sPath = DEF_OMSA_BIN_PATH
				Message = "GetOMABinPath - OMSABinPath is empty, Using Default Existing Path" &amp; DEF_OMSA_BIN_PATH
				MOMDebugLog Message
			Else
				RegError = 1
			End If
		Else
			o_sPath = o_sPath &amp; "\bin"
		End If
		
		g_omsaBinPath = o_sPath
		
		If Err &lt;&gt; 0 Then
			GetOMSABinPath = Err.Number
		End If
	End	Function
	
	'*****************************************************************
	'GetOMInstallRoot
	'Routine to determine the Drive letter where OMSA is installed
	'*****************************************************************
	Private Function GetOMInstallRoot(ByRef path, ByVal OMSAInstallPath)
		On Error Resume Next
		Err.Clear
	    ' Return the root drive of the OMInstall Path
		path = Left(OMSAInstallPath, 2)
		g_drive = path
	End Function

	'*****************************************************************
	'bFileExists
	'Routine to determine if the OMSA Report file is created
	'*****************************************************************
	Function bFileExists(filespec1)
		Dim fso
		Set fso = CreateObject("Scripting.FileSystemObject")
		bFileExists = (fso.FileExists(filespec1))
		Set fso = Nothing
	End Function

	'*****************************************************************
	'DelFile
	'Routine to delete the OMSA Report file
	'*****************************************************************
	Function DelFile(ByVal filespec2)
		Dim fso, oFile
		If bFileExists(filespec2) Then
			Set fso = CreateObject("Scripting.FileSystemObject")
			fso.DeleteFile filespec2, True
			Set fso = Nothing
		End If
		If Err &lt;&gt; 0 Then
			DelFile = Err.Number
		End If
	End Function

	'**********************************************************
	' CheckVBScriptEngine()
	' Check VBScript engine version:
	'**********************************************************
	Function CheckVBScriptEngine()
		Dim bIsCompatV,  var
		Const VBSCRIPT_MIN_VERSION = 5.6
		var = ScriptEngineMajorVersion &amp; "." &amp; ScriptEngineMinorVersion
		If (CInt(var)) &lt; VBSCRIPT_MIN_VERSION Then
			bIsCompatV = False
		Else
			bIsCompatV = True
		End If
		If Err &lt;&gt; 0 Then
			CheckVBScriptEngine	= Err.Number
		Else
			CheckVBScriptEngine = bIsCompatV
		End If
	End Function

	'*****************************************************************
	'Function RunStorageCLI - Called from RunCLI If StorageArrayManagerFlag = 0 
	'Routine For VB.Run (For Version &lt; 5.6) 
	'*****************************************************************
	Function RunStorageCLI (ByVal Drive2, ByVal OMSABinPath)
		Dim guid22
		GetTempFolderPath wintemp_path, Drive2
		GetOMReportFileGUID guid22
		a = 1
		b = 0
		strRepFilePath = wintemp_path &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; guid22 &amp; ".txt"
		strCommand = "cmd /C " &amp; chr(34) &amp; OMSABinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage controller -fmt ssv -outc " &amp; strRepFilePath
		filespec = strRepFilePath
		Set oShell = CreateObject ("WScript.Shell")
		rc = oShell.run (strCommand,0,true)	
		If rc &lt;&gt; 0 Then 
			DelFile(strRepFilePath)
		Else
			' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(filespec) &lt;&gt; -1	
				WScript.Sleep(0)
				a = a + 1
				b = a Mod WAIT_LOOP
				If b = 0 Then
					MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			' Parse TXT File
			ParseStorageFile filespec
				
			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(strRepFilePath)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set strRepFilePath = Nothing
		Set strCommand = Nothing
		Set oShell = Nothing
		Set filespec = Nothing
	End Function

	'*****************************************************************
	' Function ParseStorageFile 
	' Rollup GlobalStorageHealth from OMSS StorageController TXT Output
	'*****************************************************************
	Function ParseStorageFile(ByVal storagefilepath)
		Dim objFSO, objFile, strLine, strTempLine, strLineSearchCriteria, valueArray, valueSeperator
		
		strLineSearchCriteria = "ID;"
		valueSeperator = ";"
		If(bFileExists(storagefilepath)) Then
			Set objFSO = CreateObject("Scripting.FileSystemObject")
			If (IsObject(objFSO) = True) Then
				Set objFile = objFSO.OpenTextFile(storagefilepath, 1)
				
				Do Until objFile.AtEndOfStream
					strLine = objFile.ReadLine
					
					If (InStr(strLine, strLineSearchCriteria) = 1) Then
						Do Until objFile.AtEndOfStream
							strLine = objFile.ReadLine
							valueArray = split(strLine, valueSeperator, -1)
							If (UBound(valueArray) &lt;&gt; 21) Then
								strTempLine = objFile.ReadLine
								strLine = strLine &amp; strTempLine
								valueArray = split(strLine, valueSeperator, -1)
							End If
               
							set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellStorageController']$")
							call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
							call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", valueArray(0))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/Status$", valueArray(1))
							call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/SlotID$", valueArray(3))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/State$", valueArray(4))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/FirmwareVer$", valueArray(5))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/MinReqFirmwareVer$", valueArray(6))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DriverVer$", valueArray(7))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/MinReqDriverVer$", valueArray(8))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/NumOfConnectors$", valueArray(9))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/RebuildRate$", valueArray(10))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/BGIRate$", valueArray(11))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/CheckConsistencyRate$", valueArray(12))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/ReConstructRate$", valueArray(13))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/AlarmState$", valueArray(14))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/ClusterMode$", valueArray(15))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/SCSIInitiatorID$", valueArray(16))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/CacheMemorySize$", valueArray(17))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/PatrolReadMode$", valueArray(18))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/PatrolReadState$", valueArray(19))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/PatrolReadRate$", valueArray(20))
							call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/PatrolReadIterations$", valueArray(21)) 
							call oDiscoveryData.AddInstance(oInst)	

							StorageControllerFlag = 1
							DiscoverControllerBattery valueArray(0)
							DiscoverControllerConnector valueArray(0)
							DiscoverControllerVirtualDisk valueArray(0)
						Loop
					End If
				Loop	
				objFile.Close
			Else
				Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				MOMDebugLog Message
			End If
			Set objFSO = Nothing
		Else
			Message =  "Storage CLI TXT Output File does not exist - " &amp; storagefilepath
			MOMDebugLog Message
		End If
	End Function

	'*****************************************************************
	' Function MOMDebugLog 
	' Add LogMessage Header - ScriptName and Time and Logging it.
	'*****************************************************************
	Function MOMDebugLog (ByVal strMessage)
		LogMessage = "(" &amp; SCRIPT_NAME &amp; ")" &amp; "-" &amp; "[" &amp; Now() &amp; "] --- " 
		LogMessage = LogMessage &amp; strMessage
	End Function

	'*****************************************************************
	'GetTempFolderPath
	'Routine to Get Win Temp Folder path
	'*****************************************************************
	Function GetTempFolderPath(ByRef WinTempFolder, ByVal drive_letter) 
		Dim FldrExistFlag, fso
		FldrExistFlag = False
		dim wshShell :  Set wshShell = Createobject("WScript.Shell")
		dim wshSysEnv : Set wshSysEnv = wshShell.Environment
		dim strSysTempFolder : strSysTempFolder = wshSysEnv("TEMP")
		dim wshPrcEnv : Set wshPrcEnv = wshShell.Environment("Process")
		strSysTempFolder = Replace(strSysTempFolder, "%SystemRoot%", wshPrcEnv("SYSTEMROOT"), 1, -1, vbTextCompare)
		WinTempFolder = strSysTempFolder
		
		Set fso = CreateObject("Scripting.FileSystemObject")
		If (fso.FolderExists(WinTempFolder)) Then
			FldrExistFlag = True
		Else
			FldrExistFlag = False
	    End If

		If WinTempFolder = "" OR FldrExistFlag = False Then
			WinTempFolder = drive_letter 
		End If
        
        g_tempFolder = WinTempFolder

		Set wshShell = Nothing
		Set wshSysEnv = Nothing
		Set strSysTempFolder = Nothing
		Set wshPrcEnv = Nothing

		If Err &lt;&gt; 0 Then
			GetTempFolderPath = Err.Number
		End If
	End Function

	'*****************************************************************
	'GetOMReportFileGUID
	'Routine to generate unique GUIDs for OMREPORT FILE
	'*****************************************************************
	Function GetOMReportFileGUID(ByRef o_guid)
		Dim TypeLib, NewGUID
		Set TypeLib = CreateObject("Scriptlet.TypeLib")
		NewGUID = TypeLib.Guid
		o_guid = (left(NewGUID, len(NewGUID)-2))
		Set TypeLib = Nothing
	End Function
	
	Function DiscoverControllerBattery (ByVal controllerID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "_battery.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage battery controller=" &amp; controllerID &amp; " -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)

		If result &lt;&gt; 0 Then 
		    DelFile(file_path)
		Else		
		    ' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)
					
								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ControllerBattery']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/State$", valueArray(3))
					    	    call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/RechargeCount$", valueArray(4))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/MaxRechargeCount$", valueArray(5))		
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/PredictedCapacityStatus$", valueArray(6))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/LearnState$", valueArray(7))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/NextLearnTime$", valueArray(8))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerBattery']/MaxLearnDelay$", valueArray(9)) 
								call oDiscoveryData.AddInstance(oInst)	
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverControllerVirtualDisk (ByVal controllerID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "_vdisk.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage vdisk controller=" &amp; controllerID &amp; " -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)

		If result &lt;&gt; 0 Then 
		    DelFile(file_path)
		Else		
		    ' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"				
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)

								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))		
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/State$", valueArray(3))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/Progress$", valueArray(4))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/Layout$", valueArray(5))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/Size$", valueArray(6))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/DeviceName$", valueArray(7))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/Type$", valueArray(8))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/ReadPolicy$", valueArray(9)) 
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/WritePolicy$", valueArray(10)) 
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/CachePolicy$", valueArray(11)) 
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerVirtualDisk']/StripeElementSize$", valueArray(12)) 
							    call oDiscoveryData.AddInstance(oInst)	
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverControllerConnector (ByVal controllerID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "_connector.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage connector controller=" &amp; controllerID &amp; " -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)

		If result &lt;&gt; 0 Then 
		    DelFile(file_path)
		Else		
		    ' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
				Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)

								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ControllerConnector']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/State$", valueArray(3))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ConnectorType$", valueArray(4))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/Termination$", valueArray(5))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/SCSIRate$", valueArray(6))
							    call oDiscoveryData.AddInstance(oInst)	
						
								DiscoverEnclosure controllerID, valueArray(0)
								DiscoverConnectorPhysicalDisk controllerID, valueArray(0)
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverEnclosure (ByVal controllerID, ByVal connectorID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "_enclosure.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage enclosure controller=" &amp; controllerID &amp; " -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)

		If result &lt;&gt; 0 Then 
		    DelFile(file_path)
		Else		
		    ' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)
								
								If (StrComp(Trim(connectorID), Trim(valueArray(4))) = 0) Then
									set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ControllerEnclosure']$")
									call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
									call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ID$", valueArray(0))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/Status$", valueArray(1))
									call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/State$", valueArray(3))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/Connector$", valueArray(4))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/TargetID$", valueArray(5))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/Configuration$", valueArray(6))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/FirmwareVersion$", valueArray(7))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ServiceTag$", valueArray(8))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/AssetTag$", valueArray(9))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/AssetName$", valueArray(10))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/BackplanePartNum$", valueArray(11))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/SplitbusPartNum$", valueArray(12))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/EnclosurePartNum$", valueArray(13))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/SASAddress$", valueArray(14))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/EnclosureAlarm$", valueArray(15))
									call oDiscoveryData.AddInstance(oInst)	
							
									DiscoverEnclosurePhysicalDisk controllerID, connectorID, valueArray(0)
									DiscoverTemperature controllerID, connectorID, valueArray(0)
									DiscoverFan controllerID, connectorID, valueArray(0)
									DiscoverPowerSupply controllerID, connectorID, valueArray(0)
									DiscoverEMM controllerID, connectorID, valueArray(0)
								End If
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverEnclosurePhysicalDisk (ByVal controllerID, ByVal connectorID, ByVal enclosureID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0
			
		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "enclosure_pdisk.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage pdisk controller=" &amp; controllerID &amp; " connector=" &amp; connectorID &amp; " -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)

		If result &lt;&gt; 0 Then 
		    DelFile(file_path)
		Else		
		    ' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
			Dim tempArray, tempSeperator, tempEnclosureID, encIDArray
			tempSeperator = ":"
		    If(bFileExists(file_spec)) Then
				Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)
								tempArray = split(valueArray(0), tempSeperator, -1)
								If (UBound(tempArray) = 2) Then
									encIDArray = split(enclosureID, tempSeperator, -1)
									If (UBound(encIDArray) = 1) Then
										tempEnclosureID = encIDArray(1)
									Else
										tempEnclosureID = encIDArray(0)
									End If
									If (StrComp(Trim(tempEnclosureID), Trim(tempArray(1))) = 0) Then
										set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']$")
										call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
										call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ID$", enclosureID)
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/ID$", valueArray(0))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/Status$", valueArray(1))
										call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/State$", valueArray(3))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/FailurePredicted$", valueArray(4))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/Progress$", valueArray(5))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/Type$", valueArray(6))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/Capacity$", valueArray(7))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/UsedRaidDiskSpace$", valueArray(8))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/AvailableRaidDiskSpace$", valueArray(9))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/HotSpare$", valueArray(10))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/VendorID$", valueArray(11))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/ProductID$", valueArray(12))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/Revision$", valueArray(13))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/SerialNumber$", valueArray(14))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/NegotiatedSpeed$", valueArray(15))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/CapableSpeed$", valueArray(16))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/ManufactureDay$", valueArray(17))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/ManufactureWeek$", valueArray(18))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/ManufactureYear$", valueArray(19))
										call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePhysicalDisk']/SASAddress$", valueArray(20))
							
										call oDiscoveryData.AddInstance(oInst)	
									End If
								End If
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverConnectorPhysicalDisk (ByVal controllerID, ByVal connectorID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "_connector_pdisk.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage pdisk controller=" &amp; controllerID &amp; " connector=" &amp; connectorID &amp; " -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)

		If result &lt;&gt; 0 Then 
		    DelFile(file_path)
		Else		
		    ' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
			Dim tempArray, tempSeperator
			tempSeperator = ":"
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)
								tempArray = split(valueArray(0), tempSeperator, -1)
								
								If (UBound(tempArray) &lt;&gt; 2) Then
									set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']$")
									call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
									call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/ID$", valueArray(0))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/Status$", valueArray(1))
									call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/State$", valueArray(3))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/FailurePredicted$", valueArray(4))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/Progress$", valueArray(5))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/Type$", valueArray(6))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/Capacity$", valueArray(7))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/UsedRaidDiskSpace$", valueArray(8))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/AvailableRaidDiskSpace$", valueArray(9))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/HotSpare$", valueArray(10))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/VendorID$", valueArray(11))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/ProductID$", valueArray(12))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/Revision$", valueArray(13))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/SerialNumber$", valueArray(14))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/NegotiatedSpeed$", valueArray(15))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/CapableSpeed$", valueArray(16))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/ManufactureDay$", valueArray(17))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/ManufactureWeek$", valueArray(18))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/ManufactureYear$", valueArray(19))
									call oInst.AddProperty("$MPElement[Name='Dell.Connections.ConnectorPhysicalDisk']/SASAddress$", valueArray(20))
							
									call oDiscoveryData.AddInstance(oInst)	
								End If
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverTemperature (ByVal controllerID, ByVal connectorID, ByVal enclosureID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "enclosure_temps.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage enclosure controller=" &amp; controllerID &amp; " enclosure=" &amp; enclosureID &amp; " info=temps -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)
		
		If result &lt;&gt; 0 Then 
			DelFile(file_path)
		Else
			' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
				Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)

								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.EnclosureTemperature']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ID$", enclosureID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/State$", valueArray(3))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/Reading$", valueArray(4))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/MinWarningThreshold$", valueArray(5))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/MaxWarningThreshold$", valueArray(6))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/MinFailureThreshold$", valueArray(7))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureTemperature']/MaxFailureThreshold$", valueArray(8))
						
								call oDiscoveryData.AddInstance(oInst)	
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverFan (ByVal controllerID, ByVal connectorID, ByVal enclosureID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "enclosure_fans.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage enclosure controller=" &amp; controllerID &amp; " enclosure=" &amp; enclosureID &amp; " info=fans -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)
		
		If result &lt;&gt; 0 Then 
			DelFile(file_path)
		Else
			' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
			
			strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)
								
								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.EnclosureFan']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ID$", enclosureID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureFan']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureFan']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureFan']/State$", valueArray(3))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureFan']/PartNumber$", valueArray(4))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureFan']/Speed$", valueArray(5))
						
								call oDiscoveryData.AddInstance(oInst)	
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverPowerSupply (ByVal controllerID, ByVal connectorID, ByVal enclosureID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "enclosure_ps.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage enclosure controller=" &amp; controllerID &amp; " enclosure=" &amp; enclosureID &amp; " info=pwrsupplies -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)
		
		If result &lt;&gt; 0 Then 
			DelFile(file_path)
		Else
			' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
							
		    strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)

								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.EnclosurePowerSupply']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ID$", enclosureID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePowerSupply']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePowerSupply']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePowerSupply']/State$", valueArray(3))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosurePowerSupply']/PartNumber$", valueArray(4))
						
								call oDiscoveryData.AddInstance(oInst)	
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
	
	Function DiscoverEMM (ByVal controllerID, ByVal connectorID, ByVal enclosureID)
        Dim file_path, command, file_spec, x, y, o_Shell, result
		Dim objFSO, objFile, strLine, strLineSearchCriteria, valueArray, valueSeperator
        x = 1
		y = 0

		file_path = g_tempFolder &amp; "\" &amp; OM_REPORT_STORAGE_CONTR &amp; "controller_" &amp; controllerID &amp; "enclosure_emms.txt"
		command = "cmd /C " &amp; chr(34) &amp; g_omsaBinPath &amp; "\" &amp; "omreport.exe" &amp; Chr(34) &amp; " storage enclosure controller=" &amp; controllerID &amp; " enclosure=" &amp; enclosureID &amp; " info=emms -fmt ssv -outc " &amp; file_path
		file_spec = file_path
		Set o_Shell = CreateObject ("WScript.Shell")
		result = o_Shell.run (command,0,true)
		
		If result &lt;&gt; 0 Then 
			DelFile(file_path)
		Else
			' Infinite Loop Until file OM_REPORT_FILE_NAME is created
			Do While bFileExists(file_spec) &lt;&gt; -1	
			    WScript.Sleep(0)
				x = x + 1
				y = x Mod WAIT_LOOP
				
				If y = 0 Then
				    MOMDebugLog "Exit RunCmd. Reason: OMREPORT STORAGE not responding for " &amp; WAIT_LOOP &amp; " loops." 
					Exit Do
				End If
			Loop
							
		    strLineSearchCriteria = "ID;"
			valueSeperator = ";"
		    If(bFileExists(file_spec)) Then
			    Set objFSO = CreateObject("Scripting.FileSystemObject")
			    If (IsObject(objFSO) = True) Then
					Set objFile = objFSO.OpenTextFile(file_spec, 1)
					Do Until objFile.AtEndOfStream
						strLine = objFile.ReadLine
					
						If (InStr(strLine, strLineSearchCriteria) = 1) Then
							Do Until objFile.AtEndOfStream
								strLine = objFile.ReadLine
								valueArray = split(strLine, valueSeperator, -1)

								set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.EnclosureEMM']$")
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellStorageController']/DeviceID$", controllerID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerConnector']/ID$", connectorID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.ControllerEnclosure']/ID$", enclosureID)
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/ID$", valueArray(0))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/Status$", valueArray(1))
								call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", valueArray(2))	
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/State$", valueArray(3))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/PartNumber$", valueArray(4))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/FirmwareVersion$", valueArray(5))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/SCSIRate$", valueArray(6))
								call oInst.AddProperty("$MPElement[Name='Dell.Connections.EnclosureEMM']/Type$", valueArray(7))
						
								call oDiscoveryData.AddInstance(oInst)	
							Loop
						End If
					Loop
					objFile.Close
			    Else
				    Message =  "Error: FileSystem object not created using CreateObject - Scripting.FileSystemObject"
				    MOMDebugLog Message
			    End If
				Set objFSO = Nothing
		    Else
			    Message =  "Storage CLI TXT Output File does not exist - " &amp; file_spec
			    MOMDebugLog Message
		    End If

			' Clean up the CLI Output : Delete OM_REPORT_FILE_NAME for STORAGE
			DelFile(file_path)
		End If ' End of If Condition for rc&lt;&gt;0 for oshell.run(omreport storage controller)		
		Set file_path = Nothing
		Set command = Nothing
		Set o_Shell = Nothing
		Set file_spec = Nothing
	End Function
End Class	
													</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellSystem.DiscoveryRule" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellSystemDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell System Discovery
' Author: Muralidhar L
'
' Description:
' Progressive discovery from Microsoft.Win.Computer to Dell System based on BIOS manufacturer (using CIM)
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit
On Error resume next

Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer		

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

Dim strComputer, WbemServices, wbemObjectSet, wbemObject, sQuery
Dim Manufacturer
strComputer="."
			
Set WbemServices = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2")
If IsEmpty(WbemServices) Then
	MOMDebugLog "Unable to open WMI Namespace root-cimv2.  Check to see if the WMI service is enabled and running, and ensure this WMI namespace exists." &amp; Err.Description
Else
	GetManufacturerName()
			
	If Instr(Manufacturer, "Dell") Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellSystem']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oDiscoveryData.AddInstance(oInst)
	End If
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing
	
Public Function GetManufacturerName ()
	'Retrieving ManufactuferName
	On Error resume next
	
	Set wbemObjectSet = wbemServices.ExecQuery("select * from win32_bios")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	
	If (wbemObjectSet is Nothing) or (IsNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve Manufacturer"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Manufacturer Name retrieved successfully"
		MOMDebugLog (LogMessage)

		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				Manufacturer = objItem.Manufacturer
			End If
		Next				
	End If
	Set wbemObjectSet = Nothing
End Function
													</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellServer.DiscoveryRule" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellServerDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Server Discovery
' Author: Muralidhar L
'
' Description:
' Progressive discovery from DellSystem to DellServer using CIM	and adding attributes.
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit
On Error resume next

Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer,LogMessage

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

Dim strComputer, WbemServices, wbemObjectSet, wbemObject, sQuery
Dim arrURL, arrURL1
Dim Model, AssetTag, ServiceTag, OperatingSystem,OperatingSystemVersion, OMSAURL, BIOSVersion, OMSAVersion, IPMIVersion
Dim IPAddresses, TOECapable, TOEEnable, RequiredOMSAVersion
strComputer="."

Set WbemServices = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2")
If IsEmpty(WbemServices) Then
	LogMessage = "Unable to open WMI Namespace root-cimv2.  Check to see if the WMI service is enabled and running, and ensure this WMI namespace exists." &amp; Err.Description
Else
	Dim tModel
	GetSystemModelType()
	tModel = Model
	Model = LCase(Model)
	
	If ((Instr(Model, "poweredge")) OR (Instr(Model, "powervault"))) Then
		GetCIM_OperatingSystemAttributes()
    GetCIM_OperatingSystemType()
		GetWin32_BIOSAttributes()
		GetIPAddress()
		
		On Error Resume Next
		Set WbemServices = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2\dell")
		If Err.Number = -2147217394 Then	
			set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellUnknown']$")
			call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
			call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", "Unknown: " &amp; TargetComputer)
			call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Name$", TargetComputer)
			call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Description$", "Please install OMSA 5.3 or above from support.dell.com")
			call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", TargetComputer)	
			call oDiscoveryData.AddInstance(oInst)
			Err.Clear
		Else
			If IsEmpty(WbemServices) Then
				LogMessage = "Unable to open WMI Namespace root-cimv2-dell.  Check to see if the WMI service is enabled and running, and ensure this WMI namespace exists." &amp; Err.Description
			Else
				GetDell_SoftwareFeatureAttributes()
				RequiredOMSAVersion = "5.3"
	
				If OMSAVersion&lt;RequiredOMSAVersion Then
					set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellUnknown']$")
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", "Unknown: " &amp; TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Name$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Description$", "Please upgrade OMSA to 5.3 or above from support.dell.com")
					call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", TargetComputer)	
					call oDiscoveryData.AddInstance(oInst)
				Else	
					GetDell_ChassisAttributes()
					GetDell_RemoteAccessServicePortAttributes()
					GetDell_NetworkPortAttributes()
					CollectESMlogEvent()
					If AssetTag="" Then
						AssetTag = "Not Available"
					End If

					set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellServer']$")
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/IPAddress$", IPAddresses)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/OMSAURL$", OMSAURL)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/AssetTag$", AssetTag)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/ServiceTag$", ServiceTag)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/Model$", tModel)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/OperatingSystem$", OperatingSystem)
          call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/OperatingSystemVersion$", OperatingSystemVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/BiosVersion$", BIOSVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/OMSAVersion$", OMSAVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/IPMIVersion$", IPMIVersion)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/TOECapable$", TOECapable)
					call oInst.AddProperty("$MPElement[Name='Dell.Connections.DellServer']/TOEEnable$", TOEEnable)
					call oDiscoveryData.AddInstance(oInst)
				End If
			End If
		End If
		On Error Goto 0
	End If
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing
	
Public Function GetDell_NetworkPortAttributes ()
	'Retrieving TOE Attributes
	On Error resume next
	TOECapable = ""
	TOEEnable = ""
		
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from DELL_NetworkPort")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	
	If (wbemObjectSet is Nothing) or (IsNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve TOE Attributes"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "TOE Attributes retrieved successfully"
		MOMDebugLog (LogMessage)

		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				TOECapable = objItem.NicTOECapability
				TOEEnable = objItem.IsTOEEnable
				
				If TOECapable = "0" Then
					TOECapable = "None"
				ElseIf TOECapable = "1" Then
					TOECapable = "Unknown"
				ElseIf TOECapable = "2" Then
					TOECapable = "Available"
				ElseIf TOECapable = "4" Then
					TOECapable = "Not Available"
				ElseIf TOECapable = "8" Then
					TOECapable = "Can't be determined"
				ElseIf TOECapable = "16" Then
					TOECapable = "Driver Not Responding"
				End If
			End If
		Next		
		
		LogMessage = "TOECapable : " &amp; TOECapable &amp; " TOEEnable : " &amp; TOEEnable
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function
	
Public Function GetIPAddress ()
	'Retrieving the IP Address
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from Win32_NetworkAdapterConfiguration")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If (wbemObjectSet is Nothing) or (IsNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve IP address of the system"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "IP address object retrieved successfully"
		MOMDebugLog (LogMessage)

		Dim objItemIPAddress
		Dim STR
		IPAddresses = ""
		
		For Each objItemIPAddress in wbemObjectSet
			'Error Handling
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemIPAddress	is nothing Then
				If isarray(objItemIPAddress.IPAddress) Then
					For each STR in objItemIPAddress.IPAddress
						If ((STR &lt;&gt; "") AND (STR &lt;&gt; "0.0.0.0")) Then
							If IPAddresses = "" Then
								IPAddresses = STR
							Else
								IPAddresses = IPAddresses &amp; ", " &amp; STR
							End If
						End If
					Next
				End If
			End If
		Next					
		LogMessage = "Function: IP address(es) of the system : " &amp; IPAddresses
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function
	
Public Function GetSystemModelType ()
	' Retrieving the System Model Type
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from Win32_ComputerSystem")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If (wbemObjectSet is Nothing) or (IsNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve system model type information"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "System model type object retrieved successfully"
		MOMDebugLog (LogMessage)
			
		Dim objItemModel
		For Each objItemModel in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemModel is nothing Then
				Model = objItemModel.Model
			End If
		Next
		LogMessage = "Function: Dell System Model : " &amp; Model
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function
	
Public Function GetDell_SoftwareFeatureAttributes ()
	'Retrieving Dell_SoftwareFeature Attributes
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("select * from Dell_SoftwareFeature")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve Dell_SoftwareFeature Attributes"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Dell_SoftwareFeature attributes retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				arrURL = Split(objItem.OmsaURL, ",")
				arrURL1 = Split(arrURL(0), "?")
				OMSAURL = Trim(arrURL1(0))
				OMSAVersion = objItem.Version
			End If
		Next
		LogMessage = "OMSA URL  : " &amp; OMSAURL &amp; " OMSA Version  : " &amp; OMSAVersion
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function
	
Public Function GetDell_ChassisAttributes ()
	'Retrieving the Dell_Chassis Attributes
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from Dell_Chassis")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve Dell_Chassis Attributes"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Dell_Chassis Attributes retrieved successfully"
		MOMDebugLog (LogMessage)
		
		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				AssetTag = objItem.AssetTag
				ServiceTag = objItem.SerialNumber
			End If
		Next
		LogMessage = "Asset Tag  : " &amp; AssetTag &amp; " Service Tag  : " &amp; ServiceTag
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function
		
Public Function GetCIM_OperatingSystemAttributes()
	' Retrieving the Operating System
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from CIM_OperatingSystem")
  
	'Code for adding Storage Server in OS Name
	Dim regOSProductSuiteName,objShell,arrOSProductSuiteName,ProductSuiteStrValue
	regOSProductSuiteName = "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions\ProductSuite"
	Set objShell = CreateObject("WScript.Shell")
	arrOSProductSuiteName = objShell.RegRead(regOSProductSuiteName)

	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If (wbemObjectSet is Nothing) Or (isNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve Operating system information"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Operating system object retrieved successfully"
		MOMDebugLog (LogMessage)
		
		Dim objItemOperatingSystem
    For Each objItemOperatingSystem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemOperatingSystem is nothing Then
				OperatingSystem = objItemOperatingSystem.Caption
        Dim OperatingSystemVersionArray
        OperatingSystemVersionArray=split(objItemOperatingSystem.Version,".")
        OperatingSystemVersion = "Version " &amp; OperatingSystemVersionArray(0) &amp; "." &amp; OperatingSystemVersionArray(1) &amp;" (Build " &amp; OperatingSystemVersionArray(2) &amp; ":" &amp; objItemOperatingSystem.CSDVersion &amp; ")"
        'Code for adding Storage Server in OS Name
				if Not isnull(arrOSProductSuiteName) Then
					For Each ProductSuiteStrValue in arrOSProductSuiteName
						If Instr(ProductSuiteStrValue,"Storage") And Instr(OperatingSystem,"Server 2003") Then
							OperatingSystem = Replace(OperatingSystem,"Server 2003","Storage Server 2003")
							Exit For
						End If
					Next
				End If
			End If
		Next
		LogMessage = "Function: Dell Server OS  : " &amp; OperatingSystem
		MOMDebugLog (LogMessage)	
	End If
	Set wbemObjectSet = Nothing
End Function

Public Function GetCIM_OperatingSystemType()
	' Retrieving the Operating System Type
	On Error resume next
  Dim wbemObjectSet_CIM_ComputerSystem
	Set wbemObjectSet_CIM_ComputerSystem = wbemServices.ExecQuery("Select * from CIM_ComputerSystem")
   
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If (wbemObjectSet_CIM_ComputerSystem is Nothing) Or (isNull(wbemObjectSet_CIM_ComputerSystem)) Then
		LogMessage = "Unable to retrieve Computer System information"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Computer System object retrieved successfully"
		MOMDebugLog (LogMessage)
	
  Dim objItemComputerSystem
    For Each objItemComputerSystem in wbemObjectSet_CIM_ComputerSystem
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemComputerSystem is nothing Then
          if Instr(LCase(objItemComputerSystem.SystemType), "x86") Then
					    OperatingSystemVersion = OperatingSystemVersion &amp; " (x86)"
					End if
          if Instr(LCase(objItemComputerSystem.SystemType), "x64") Then
					    OperatingSystemVersion = OperatingSystemVersion &amp; " (x64)"
					End if
      End If
		Next
	End If
  
   if Instr(OperatingSystem,"Server") And Instr(OperatingSystem,"2008") Then
            'to check if the Operating System is Server Core / Full Installation
            GetLonghornVersion()
   End if
	Set wbemObjectSet = Nothing
End Function

Public Function GetLonghornVersion()
	On Error resume next
  Dim wbemObjectSet_WIN32_OperatingSystem
	Set wbemObjectSet_WIN32_OperatingSystem = wbemServices.ExecQuery("Select * from Win32_OperatingSystem")
   
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If (wbemObjectSet_WIN32_OperatingSystem is Nothing) Or (isNull(wbemObjectSet_WIN32_OperatingSystem)) Then
		LogMessage = "Unable to retrieve Operating System information"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Operating System object retrieved successfully"
		MOMDebugLog (LogMessage)
	
  Dim objItemOperatingSystem
    For Each objItemOperatingSystem in wbemObjectSet_WIN32_OperatingSystem
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemOperatingSystem is nothing Then
       Dim OS_SKU
       OS_SKU = objItemOperatingSystem.OperatingSystemSKU
          if  (OS_SKU=12) or (OS_SKU=13) or (OS_SKU=14) Then
					    OperatingSystemVersion = OperatingSystemVersion &amp; " Server Core Installation"
				  Else
					    OperatingSystemVersion = OperatingSystemVersion &amp; " Server Full Installation"
					End if
      End If
		Next
	End If 
End Function

Public Function GetWin32_BIOSAttributes()
	On Error resume next
	'Retrieving the BIOSVersion
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from Win32_BIOS")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)	
	End If
	If (wbemObjectSet is Nothing) Or (isNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve BIOSVersion information"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "BIOSVersion object retrieved successfully"
		MOMDebugLog (LogMessage)
		
		Dim objItemBIOSVersion
		For Each objItemBIOSVersion in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemBIOSVersion is nothing Then
				BIOSVersion = objItemBIOSVersion.SMBIOSBIOSVersion
			End If
		Next
		LogMessage = "Function: BIOS Version  : " &amp; BIOSVersion
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function
		
Public Function GetDell_RemoteAccessServicePortAttributes()
	On Error resume next
	'Retrieving IPMI Version
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from Dell_RemoteAccessServicePort")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)	
	End If
	If (wbemObjectSet is Nothing) Or (isNull(wbemObjectSet)) Then
		LogMessage = "Unable to retrieve IPMI Version"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "IPMI Version retrieved successfully"
		MOMDebugLog (LogMessage)
			
		Dim objItemIPMIVersion
		For Each objItemIPMIVersion in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItemIPMIVersion is nothing Then
				IPMIVersion = objItemIPMIVersion.VersionString
			End If
		Next
		LogMessage = "Function: IPMI Version  : " &amp; IPMIVersion
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function

Function CollectESMlogEvent()
	Dim wbemServicesESM,OutputFileName,OutputFolderName 

	OutputFileName = "C:\DellReports\dellesm.log"
	OutputFolderName = "C:\DellReports\"

	On Error resume next
	Set wbemServicesESM = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2\dell")
	Set wbemObjectSet = wbemServicesESM.ExecQuery("Select * from DELL_EsmLog")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	On Error Goto 0
	Err.Clear

	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve ESM Log"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "ESM Log retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem
		On Error Resume Next
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				WriteToFile OutputFolderName,OutputFileName,objItem.LogRecord
			End If
		Next
		On Error Goto 0
	End If
	Set wbemObjectSet = Nothing
End Function
                  
Public Function WriteToFile(strFolderName,strFileName,strMsg)
	Dim objFSO, objTextFile, objFile
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	If not objFSO.FolderExists(strFolderName) Then
		objFSO.CreateFolder (strFolderName)
	End If
	Set objFSO = nothing
	Set objFSO = CreateObject("Scripting.FileSystemObject")
	If objFSO.FileExists(strFileName) Then
	Else
		Set objFile = objFSO.CreatetextFile(strFileName)
	End If
	Set objFile = Nothing
	Const ForAppending = 8
	Set objTextFile = objFSO.OpentextFile(strFileName, ForAppending, True)
	objTextFile.WriteLine(strMsg)
	objTextFile.Close
	Set objTextFile = Nothing
	Set objFSO = Nothing
End Function

Function MOMDebugLog (ByVal str1)
End Function

													</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellServerClassification.DiscoveryRule" Accessibility="Internal" Batching="false">
        <Configuration>
          <xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Computer" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
        </OverrideableParameters>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
                <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
                <SyncTime />
                <ScriptName>DellServerClassificationDiscovery.vbs</ScriptName>
                <Arguments>$MPElement$ $Target/Id$ $Config/Computer$</Arguments>
                <ScriptBody>
'**********************************************************************************
' Script Name - Dell Server Classification Discovery
' Author: Muralidhar L
'
' Description:
' Classify Dell Monolithic and Modular Servers using CIM	
' 
' (c) Copyright Dell Inc. 2007 - All rights reserved           
'**********************************************************************************

Option Explicit

Dim oArgs
Set oArgs = WScript.Arguments
if oArgs.Count &lt; 3 Then
   Wscript.Quit -1
End If

Dim SourceID, ManagedEntityId, TargetComputer		

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")
set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

Dim strComputer, WbemServices, wbemObjectSet, wbemObject, sQuery
Dim BaseBoardType, DescModel
strComputer="."
			
Set WbemServices = GetObject("winmgmts:" &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; "\root\cimv2\dell")
If IsEmpty(WbemServices) Then
	MOMDebugLog "Unable to open WMI Namespace root-cimv2-dell.  Check to see if the WMI service is enabled and running, and ensure this WMI namespace exists." &amp; Err.Description
Else
	GetBaseBoardType()
	AddModelDesc()
	
	If (BaseboardType = "13") Then		
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellModularBlade']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Name$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Description$", "Dell Modular Blade - " &amp; DescModel)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oDiscoveryData.AddInstance(oInst)
	ElseIf (BaseboardType = "10") Then
		set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Connections.DellMonolithicServer']$")
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/DeviceID$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Name$", TargetComputer)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.LogicalDevice']/Description$", "Dell Monolithic Server - " &amp; DescModel)
		call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", TargetComputer)
		call oDiscoveryData.AddInstance(oInst)
	End If
End If

' Submit the data
Call oAPI.Return(oDiscoveryData) 

Set oDiscoveryData = Nothing
Set oAPI = Nothing

Public Function GetBaseBoardType ()
	'Retrieving the BaseBoardType
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from DELL_Baseboard")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve BaseBoardType"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Base board type retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				BaseBoardType = objItem.BaseboardType
			End If
		Next
		LogMessage = "BaseBoardType  : " &amp; BaseBoardType
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function

Public Function AddModelDesc ()
	'Retrieving the ModelType
	On Error resume next
	Set wbemObjectSet = wbemServices.ExecQuery("Select * from Dell_Chassis")
	If Err.Number &lt;&gt; 0 Then
		ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
		MOMDebugLog (ErrorMessage)
	End If
	If wbemObjectSet is Nothing Then
		LogMessage = "Unable to retrieve Dell_Chassis"
		MOMDebugLog (LogMessage)
	Else
		LogMessage = "Dell_chassis retrieved successfully"
		MOMDebugLog (LogMessage)
		Dim objItem
		For Each objItem in wbemObjectSet
			'Error checking
			If Err.Number &lt;&gt; 0 Then
				ErrorMessage = "Number:" &amp; Err.Number &amp; "Description:" &amp; Err.Description
				MOMDebugLog (ErrorMessage)
			End If
			'Object Retrieval
			If not objItem is nothing Then
				DescModel = objItem.Model
			End If
		Next
		LogMessage = "ModelType  : " &amp; DescModel
		MOMDebugLog (LogMessage)
	End If
	Set wbemObjectSet = Nothing
End Function

								</ScriptBody>
                <TimeoutSeconds>300</TimeoutSeconds>
              </DataSource>
            </MemberModules>
            <Composition>
              <Node ID="DS" />
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.VigDRAC.FilteredSnmpDiscoveryClasses" Accessibility="Internal" Batching="false">
        <Configuration>
          <IncludeSchemaTypes>
            <SchemaType>System!System.Discovery.MapperSchema</SchemaType>
            <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
          </IncludeSchemaTypes>
          <xsd:element name="IPStart" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IPEnd" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Timeout" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="OIDProps" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element minOccurs="1" maxOccurs="unbounded" name="OIDProp" type="xsd:string" />
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="ClassId" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="InstanceSettings" type="SettingsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Expression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS2" TypeID="System!System.Scheduler">
                <Scheduler>
                  <SimpleReccuringSchedule>
                    <Interval Unit="Seconds">300</Interval>
                  </SimpleReccuringSchedule>
                  <ExcludeDates />
                </Scheduler>
              </DataSource>
              <ProbeAction ID="P1" TypeID="Snmp!System.SnmpScanProbe">
                <IPStart>$Config/IPStart$</IPStart>
                <IPEnd>$Config/IPEnd$</IPEnd>
                <CommunityString>$Config/CommunityString$</CommunityString>
                <Timeout>$Config/Timeout$</Timeout>
                <OIDProps>$Config/OIDProps$</OIDProps>
              </ProbeAction>
              <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
                <Expression>$Config/Expression$</Expression>
                <ClassId>$Config/ClassId$</ClassId>
                <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
              </ConditionDetection>
            </MemberModules>
            <Composition>
              <Node ID="Mapper">
                <Node ID="P1">
                  <Node ID="DS2" />
                </Node>
              </Node>
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
      <DataSourceModuleType ID="Dell.Connections.DellPrinter.FilteredSnmpDiscoveryClasses" Accessibility="Internal" Batching="false">
        <Configuration>
          <IncludeSchemaTypes>
            <SchemaType>System!System.Discovery.MapperSchema</SchemaType>
            <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
          </IncludeSchemaTypes>
          <xsd:element name="IPStart" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IPEnd" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Timeout" type="xsd:unsignedInt" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="OIDProps" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element minOccurs="1" maxOccurs="unbounded" name="OIDProp" type="xsd:string" />
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="ClassId" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="InstanceSettings" type="SettingsType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Expression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <ModuleImplementation Isolation="Any">
          <Composite>
            <MemberModules>
              <DataSource ID="DS2" TypeID="System!System.Scheduler">
                <Scheduler>
                  <SimpleReccuringSchedule>
                    <Interval Unit="Seconds">300</Interval>
                  </SimpleReccuringSchedule>
                  <ExcludeDates />
                </Scheduler>
              </DataSource>
              <ProbeAction ID="P1" TypeID="Snmp!System.SnmpScanProbe">
                <IPStart>$Config/IPStart$</IPStart>
                <IPEnd>$Config/IPEnd$</IPEnd>
                <CommunityString>$Config/CommunityString$</CommunityString>
                <Timeout>$Config/Timeout$</Timeout>
                <OIDProps>$Config/OIDProps$</OIDProps>
              </ProbeAction>
              <ConditionDetection ID="Mapper" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
                <Expression>$Config/Expression$</Expression>
                <ClassId>$Config/ClassId$</ClassId>
                <InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
              </ConditionDetection>
            </MemberModules>
            <Composition>
              <Node ID="Mapper">
                <Node ID="P1">
                  <Node ID="DS2" />
                </Node>
              </Node>
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
    </ModuleTypes>
    <MonitorTypes>
      <UnitMonitorType ID="Dell.Connections.EventTriggeredScriptMonitorType.3StateScriptMonitorType" Accessibility="Public">
        <MonitorTypeStates>
          <MonitorTypeState ID="Success" NoDetection="false" />
          <MonitorTypeState ID="Warning" NoDetection="false" />
          <MonitorTypeState ID="Critical" NoDetection="false" />
        </MonitorTypeStates>
        <Configuration>
          <IncludeSchemaTypes>
            <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
          </IncludeSchemaTypes>
          <xsd:element name="ComputerName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="LogName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="EventExpression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="ScriptName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="Arguments" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="ScriptBody" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="SuccessExpression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="WarningExpression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="CriticalExpression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
        </Configuration>
        <MonitorImplementation>
          <MemberModules>
            <DataSource ID="EventDS" TypeID="Windows!Microsoft.Windows.EventProvider">
              <ComputerName>$Config/ComputerName$</ComputerName>
              <LogName>$Config/LogName$</LogName>
              <Expression>$Config/EventExpression$</Expression>
            </DataSource>
            <ProbeAction ID="Script" TypeID="Windows!Microsoft.Windows.ScriptPropertyBagProbe">
              <ScriptName>$Config/ScriptName$</ScriptName>
              <Arguments>$Config/Arguments$</Arguments>
              <ScriptBody>$Config/ScriptBody$</ScriptBody>
              <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
            </ProbeAction>
            <ConditionDetection ID="SuccessExpression" TypeID="System!System.ExpressionFilter">
              <Expression>$Config/SuccessExpression$</Expression>
            </ConditionDetection>
            <ConditionDetection ID="WarningExpression" TypeID="System!System.ExpressionFilter">
              <Expression>$Config/WarningExpression$</Expression>
            </ConditionDetection>
            <ConditionDetection ID="CriticalExpression" TypeID="System!System.ExpressionFilter">
              <Expression>$Config/CriticalExpression$</Expression>
            </ConditionDetection>
          </MemberModules>
          <RegularDetections>
            <RegularDetection MonitorTypeStateID="Success">
              <Node ID="SuccessExpression">
                <Node ID="Script">
                  <Node ID="EventDS" />
                </Node>
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Warning">
              <Node ID="WarningExpression">
                <Node ID="Script">
                  <Node ID="EventDS" />
                </Node>
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Critical">
              <Node ID="CriticalExpression">
                <Node ID="Script">
                  <Node ID="EventDS" />
                </Node>
              </Node>
            </RegularDetection>
          </RegularDetections>
        </MonitorImplementation>
      </UnitMonitorType>
      <UnitMonitorType ID="Dell.Connections.DRACOperationStatus" Accessibility="Public">
        <MonitorTypeStates>
          <MonitorTypeState ID="Ok" NoDetection="false" />
          <MonitorTypeState ID="Critical" NoDetection="false" />
          <MonitorTypeState ID="Warning" NoDetection="false" />
        </MonitorTypeStates>
        <Configuration>
          <xsd:element name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IsWriteAction" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IP" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="SnmpVarBinds" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element minOccurs="1" maxOccurs="unbounded" name="SnmpVarBind">
                  <xsd:complexType>
                    <xsd:sequence>
                      <xsd:element name="OID" type="xsd:string" />
                      <xsd:element name="Syntax" type="xsd:integer" />
                      <xsd:element name="Value">
                        <xsd:complexType>
                          <xsd:simpleContent>
                            <xsd:extension base="xsd:string">
                              <xsd:attribute name="VariantType" type="xsd:integer" use="optional" />
                            </xsd:extension>
                          </xsd:simpleContent>
                        </xsd:complexType>
                      </xsd:element>
                    </xsd:sequence>
                  </xsd:complexType>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </Configuration>
        <MonitorImplementation>
          <MemberModules>
            <DataSource ID="ProbeDS" TypeID="Snmp!System.SnmpQueryProvider">
              <Interval>$Config/Interval$</Interval>
              <IsWriteAction>false</IsWriteAction>
              <IP>$Config/IP$</IP>
              <CommunityString>$Config/CommunityString$</CommunityString>
              <SnmpVarBinds>$Config/SnmpVarBinds$</SnmpVarBinds>
            </DataSource>
            <ConditionDetection ID="OperationStatusSuccess" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">3</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="OperationStatusFailure" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">5</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="OperationStatusWarning" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">4</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
          </MemberModules>
          <RegularDetections>
            <RegularDetection MonitorTypeStateID="Ok">
              <Node ID="OperationStatusSuccess">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Critical">
              <Node ID="OperationStatusFailure">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Warning">
              <Node ID="OperationStatusWarning">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
          </RegularDetections>
        </MonitorImplementation>
      </UnitMonitorType>
      <UnitMonitorType ID="Dell.Connections.PrinterOperationStatus" Accessibility="Public">
        <MonitorTypeStates>
          <MonitorTypeState ID="Ok" NoDetection="false" />
          <MonitorTypeState ID="Critical" NoDetection="false" />
          <MonitorTypeState ID="Warning" NoDetection="false" />
        </MonitorTypeStates>
        <Configuration>
          <xsd:element name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IsWriteAction" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IP" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="SnmpVarBinds" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element minOccurs="1" maxOccurs="unbounded" name="SnmpVarBind">
                  <xsd:complexType>
                    <xsd:sequence>
                      <xsd:element name="OID" type="xsd:string" />
                      <xsd:element name="Syntax" type="xsd:integer" />
                      <xsd:element name="Value">
                        <xsd:complexType>
                          <xsd:simpleContent>
                            <xsd:extension base="xsd:string">
                              <xsd:attribute name="VariantType" type="xsd:integer" use="optional" />
                            </xsd:extension>
                          </xsd:simpleContent>
                        </xsd:complexType>
                      </xsd:element>
                    </xsd:sequence>
                  </xsd:complexType>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </Configuration>
        <MonitorImplementation>
          <MemberModules>
            <DataSource ID="ProbeDS" TypeID="Snmp!System.SnmpQueryProvider">
              <Interval>$Config/Interval$</Interval>
              <IsWriteAction>false</IsWriteAction>
              <IP>$Config/IP$</IP>
              <CommunityString>$Config/CommunityString$</CommunityString>
              <SnmpVarBinds>$Config/SnmpVarBinds$</SnmpVarBinds>
            </DataSource>
            <ConditionDetection ID="OperationStatusSuccess" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">2</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="OperationStatusFailure" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">5</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="OperationStatusWarning" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">3</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
          </MemberModules>
          <RegularDetections>
            <RegularDetection MonitorTypeStateID="Ok">
              <Node ID="OperationStatusSuccess">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Critical">
              <Node ID="OperationStatusFailure">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Warning">
              <Node ID="OperationStatusWarning">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
          </RegularDetections>
        </MonitorImplementation>
      </UnitMonitorType>
      <UnitMonitorType ID="Dell.Connections.CMCOperationStatus" Accessibility="Public">
        <MonitorTypeStates>
          <MonitorTypeState ID="Ok" NoDetection="false" />
          <MonitorTypeState ID="Critical" NoDetection="false" />
          <MonitorTypeState ID="Warning" NoDetection="false" />
        </MonitorTypeStates>
        <Configuration>
          <xsd:element name="Interval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IsWriteAction" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="IP" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="CommunityString" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
          <xsd:element name="SnmpVarBinds" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element minOccurs="1" maxOccurs="unbounded" name="SnmpVarBind">
                  <xsd:complexType>
                    <xsd:sequence>
                      <xsd:element name="OID" type="xsd:string" />
                      <xsd:element name="Syntax" type="xsd:integer" />
                      <xsd:element name="Value">
                        <xsd:complexType>
                          <xsd:simpleContent>
                            <xsd:extension base="xsd:string">
                              <xsd:attribute name="VariantType" type="xsd:integer" use="optional" />
                            </xsd:extension>
                          </xsd:simpleContent>
                        </xsd:complexType>
                      </xsd:element>
                    </xsd:sequence>
                  </xsd:complexType>
                </xsd:element>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </Configuration>
        <MonitorImplementation>
          <MemberModules>
            <DataSource ID="ProbeDS" TypeID="Snmp!System.SnmpQueryProvider">
              <Interval>$Config/Interval$</Interval>
              <IsWriteAction>false</IsWriteAction>
              <IP>$Config/IP$</IP>
              <CommunityString>$Config/CommunityString$</CommunityString>
              <SnmpVarBinds>$Config/SnmpVarBinds$</SnmpVarBinds>
            </DataSource>
            <ConditionDetection ID="OperationStatusSuccess" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">3</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="OperationStatusFailure" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">5</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="OperationStatusWarning" TypeID="System!System.ExpressionFilter">
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <XPathQuery Type="UnsignedInteger">SnmpVarBinds/SnmpVarBind[1]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <Value Type="UnsignedInteger">4</Value>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </ConditionDetection>
          </MemberModules>
          <RegularDetections>
            <RegularDetection MonitorTypeStateID="Ok">
              <Node ID="OperationStatusSuccess">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Critical">
              <Node ID="OperationStatusFailure">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Warning">
              <Node ID="OperationStatusWarning">
                <Node ID="ProbeDS" />
              </Node>
            </RegularDetection>
          </RegularDetections>
        </MonitorImplementation>
      </UnitMonitorType>
    </MonitorTypes>
  </TypeDefinitions>
  <Monitoring>
    <Discoveries>
      <Discovery ID="Dell.Connections.DellHWGroupPopulator" Enabled="true" Target="Dell.Connections.DellHWGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="DellHWGroup.Contains.DellServerGroup" />
          <DiscoveryRelationship TypeID="DellHWGroup.Contains.DellPrinterGroup" />
          <DiscoveryRelationship TypeID="DellHWGroup.Contains.DellUnknownGroup" />
        </DiscoveryTypes>
        <DataSource ID="DellHWGroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellServerGroup"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellHWGroup.Contains.DellServerGroup"]$</RelationshipClass>
            </MembershipRule>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellPrinterGroup"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellHWGroup.Contains.DellPrinterGroup"]$</RelationshipClass>
            </MembershipRule>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellUnknownGroup"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellHWGroup.Contains.DellUnknownGroup"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellServerGroupPopulator" Enabled="true" Target="Dell.Connections.DellServerGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="DellServerGroup.Contains.DellMonolithicServerGroup" />
          <DiscoveryRelationship TypeID="DellServerGroup.Contains.DellModularSystemGroup" />
          <DiscoveryRelationship TypeID="DellServerGroup.Contains.DellOOB_DRAC_Group" />
          <DiscoveryRelationship TypeID="DellServerGroup.Contains.DellOOB_CMC_Group" />
        </DiscoveryTypes>
        <DataSource ID="DellServerGroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellMonolithicServerGroup"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellServerGroup.Contains.DellMonolithicServerGroup"]$</RelationshipClass>
            </MembershipRule>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellModularSystemGroup"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellServerGroup.Contains.DellModularSystemGroup"]$</RelationshipClass>
            </MembershipRule>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.OOB_DRAC_Group"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellServerGroup.Contains.DellOOB_DRAC_Group"]$</RelationshipClass>
            </MembershipRule>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.OOB_CMC_Group"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellServerGroup.Contains.DellOOB_CMC_Group"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellUnknownGroupPopulator" Enabled="true" Target="Dell.Connections.DellUnknownGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="DellUnknownGroup.Contains.DellUnknown" />
        </DiscoveryTypes>
        <DataSource ID="DellServerGroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellUnknown"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellUnknownGroup.Contains.DellUnknown"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellSystem.Discovery" Enabled="true" Target="Windows!Microsoft.Windows.Computer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes />
        <DataSource ID="DS" TypeID="Dell.Connections.DellSystem.DiscoveryRule">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellServer.Discovery" Enabled="true" Target="Dell.Connections.DellSystem" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes />
        <DataSource ID="DS" TypeID="Dell.Connections.DellServer.DiscoveryRule">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellMonolithicServerGroupPopulator" Enabled="true" Target="Dell.Connections.DellMonolithicServerGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="DellMonolithicServerGroup.Contains.DellMonolithicServer" />
        </DiscoveryTypes>
        <DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellMonolithicServer"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellMonolithicServerGroup.Contains.DellMonolithicServer"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellServerClassification.Discovery" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes />
        <DataSource ID="DS" TypeID="Dell.Connections.DellServerClassification.DiscoveryRule">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellModularSystemGroupPopulator" Enabled="true" Target="Dell.Connections.DellModularSystemGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="DellModularSystemGroup.Contains.DellModularBlade" />
        </DiscoveryTypes>
        <DataSource ID="GroupPopulationDataSource" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellModularBlade"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellModularSystemGroup.Contains.DellModularBlade"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellPrinter.Discovery" Enabled="false" Target="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.DellPrinter" />
        </DiscoveryTypes>
        <DataSource ID="DiscoveryData" TypeID="Dell.Connections.DellPrinter.FilteredSnmpDiscoveryClasses">
          <IPStart>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPStart>
          <IPEnd>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPEnd>
          <CommunityString>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
          <Timeout>300</Timeout>
          <OIDProps>
            <OIDProp>.1.3.6.1.2.1.43.11.1.1.6.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.11.1.1.5.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.11.1.1.9.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.11.1.1.8.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.8.2.1.14.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.8.2.1.15.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.8.2.1.18.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.8.2.1.9.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.8.2.1.13.1.4</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.9.2.1.8.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.9.2.1.9.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.9.2.1.12.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.9.2.1.4.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.9.2.1.7.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.6.1.1.2.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.43.6.1.1.3.1.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.25.3.2.1.5.1</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.4.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.6.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.2.1.0</OIDProp>
          </OIDProps>
          <ClassId>$MPElement[Name="Dell.Connections.DellPrinter"]$</ClassId>
          <InstanceSettings>
            <Settings>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/Status$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/SupplyType$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[22]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/SupplyDescription$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[23]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/SupplyLevel$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[21]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/SupplyMaxLevel$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[20]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/InputName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[15]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/InputVendorName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[19]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/InputModel$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[18]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/InputDescription$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[17]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/InputMaxCapacity$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[16]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/OutputName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[10]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/OutputVendorName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[14]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/OutputModel$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[13]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/OutputDescription$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[12]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/OutputMaxCapacity$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[11]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/CoverDescription$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[9]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DellPrinter"]/CoverStatus$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[8]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
                <Value>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/Name$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/SystemDescription$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/SystemContact$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/SystemLocation$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/SystemOID$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
              </Setting>
            </Settings>
          </InstanceSettings>
          <Expression>
            <Or>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.100.1.1094471969</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.51.1094472978</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.236.11.5.1</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.51.1094472982</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.11.2.3.9.1</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.641.1</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.100.1.1094472232</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.3</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.51.1094473222</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.1</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.51.1094473221</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.52.1094473223</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10898.10.2</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[2]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.100.1.1094471968</Pattern>
                </RegExExpression>
              </Expression>
            </Or>
          </Expression>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellPrinter.PopulateGroup" Enabled="true" Target="Dell.Connections.DellPrinterGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="DellPrinterGroup.Contains.DellPrinter" />
        </DiscoveryTypes>
        <DataSource ID="GroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DellPrinter"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="DellPrinterGroup.Contains.DellPrinter"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellChassis.Discovery" Enabled="true" Target="Dell.Connections.DellModularBlade" ConfirmDelivery="false" Remotable="false" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.DellChassis">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ChassisFans">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ChassisFansUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="DeviceID" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ChassisPowerSupplies">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ChassisPowerSuppliesUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="DeviceID" />
            <Property PropertyID="TotalOutputPower" />
            <Property PropertyID="IsSwitchingSupply" />
          </DiscoveryClass>
          <DiscoveryRelationship TypeID="DellModularBlade.Hosts.DellChassis" />
          <DiscoveryRelationship TypeID="DellChassis.Hosts.ChassisFans" />
          <DiscoveryRelationship TypeID="ChassisFans.Hosts.ChassisFansUnit" />
          <DiscoveryRelationship TypeID="DellChassis.Hosts.ChassisPowerSupplies" />
          <DiscoveryRelationship TypeID="ChassisPowerSupplies.Hosts.ChassisPowerSuppliesUnit" />
        </DiscoveryTypes>
        <DataSource ID="DS" TypeID="Dell.Connections.DellChassis.DiscoveryRule">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellServerBIOS.Discovery" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="false" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.DellServer.BIOS">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="Manufacturer" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="Version" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="SerialNumber" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="SMBIOSBIOSVersion" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="SMBIOSMajorVersion" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="SMBIOSMinorVersion" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="SMBIOSPresent" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="PrimaryBIOS" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="Status" />
            <Property TypeID="Dell.Connections.DellServer.BIOS" PropertyID="CurrentLanguage" />
          </DiscoveryClass>
          <DiscoveryRelationship TypeID="DellServer.Hosts.DellServerBIOS" />
        </DiscoveryTypes>
        <DataSource ID="DS" TypeID="Dell.Connections.DellServerBIOS.DiscoveryRule">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.ServerHWComponentsDiscoveryRule" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="false" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.ServerHWComponents">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerHWComponentsSensors">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorTemperature">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorTemperatureUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="CurrentReading" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="LowerThresholdCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="LowerThresholdNonCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="UpperThresholdCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="UpperThresholdNonCritical" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorVoltage">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorVoltageNumericUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="CurrentReading" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="LowerThresholdCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="LowerThresholdNonCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="UpperThresholdCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="UpperThresholdNonCritical" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorVoltageDiscreteUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerDiscreteSensor" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerDiscreteSensor" PropertyID="CurrentReading" />
            <Property TypeID="Dell.Connections.ServerDiscreteSensor" PropertyID="OtherSensorTypeDescription" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorCurrents">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorCurrentsNumericUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="CurrentReading" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="LowerThresholdCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="LowerThresholdNonCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="UpperThresholdCritical" />
            <Property TypeID="Dell.Connections.ServerNumericSensor" PropertyID="UpperThresholdNonCritical" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorBatteries">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerSensorBatteriesDiscreteUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerDiscreteSensor" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerDiscreteSensor" PropertyID="CurrentReading" />
            <Property TypeID="Dell.Connections.ServerDiscreteSensor" PropertyID="OtherSensorTypeDescription" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerFans">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerFansUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerFansUnit" PropertyID="DeviceID" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerMemory">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerMemoryUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerMemoryUnit" PropertyID="Tag" />
            <Property TypeID="Dell.Connections.ServerMemoryUnit" PropertyID="MemoryType" />
            <Property TypeID="Dell.Connections.ServerMemoryUnit" PropertyID="Capacity" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerProcessors">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerProcessorsUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerProcessorsUnit" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerProcessorsUnit" PropertyID="CurrentClockSpeed" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerPowerSupplies">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerPowerSuppliesUnit">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property TypeID="Dell.Connections.ServerPowerSuppliesUnit" PropertyID="DeviceID" />
            <Property TypeID="Dell.Connections.ServerPowerSuppliesUnit" PropertyID="TotalOutputPower" />
            <Property TypeID="Dell.Connections.ServerPowerSuppliesUnit" PropertyID="IsSwitchingSupply" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerIntrusion">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryRelationship TypeID="DellServer.Hosts.ServerHWComponents" />
          <DiscoveryRelationship TypeID="ServerHWComponents.Hosts.Sensors" />
          <DiscoveryRelationship TypeID="ServerHWComponentsSensors.Hosts.Batteries" />
          <DiscoveryRelationship TypeID="ServerBatteries.Hosts.BatteriesDiscreteUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponentsSensors.Hosts.Temperature" />
          <DiscoveryRelationship TypeID="ServerTemperature.Hosts.TemperatureUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponentsSensors.Hosts.Voltage" />
          <DiscoveryRelationship TypeID="ServerVoltage.Hosts.VoltageNumericUnit" />
          <DiscoveryRelationship TypeID="ServerVoltage.Hosts.VoltageDiscreteUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponentsSensors.Hosts.Currents" />
          <DiscoveryRelationship TypeID="ServerCurrents.Hosts.CurrentsNumericUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponents.Hosts.Fans" />
          <DiscoveryRelationship TypeID="ServerFans.Hosts.FansUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponents.Hosts.PowerSupplies" />
          <DiscoveryRelationship TypeID="ServerPowerSupplies.Hosts.PowerSuppliesUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponents.Hosts.Memory" />
          <DiscoveryRelationship TypeID="ServerMemory.Hosts.MemoryUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponents.Hosts.Processors" />
          <DiscoveryRelationship TypeID="ServerProcessors.Hosts.ProcessorsUnit" />
          <DiscoveryRelationship TypeID="ServerHWComponents.Hosts.Intrusion" />
        </DiscoveryTypes>
        <DataSource ID="DS" TypeID="Dell.Connections.HWComponentDiscovery">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.ServerServicesDiscoveryRule" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="false" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.ServerServices">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerServices.DSMEventManager">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="Description" />
            <Property PropertyID="StartMode" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerServices.DSMDataManager">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="Description" />
            <Property PropertyID="StartMode" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerServices.DSMConnService">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="Description" />
            <Property PropertyID="StartMode" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.ServerServices.DSMSharedServices">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="Description" />
            <Property PropertyID="StartMode" />
          </DiscoveryClass>
          <DiscoveryRelationship TypeID="DellServer.Hosts.ServerServices" />
          <DiscoveryRelationship TypeID="ServerServices.Hosts.DSMEventManager" />
          <DiscoveryRelationship TypeID="ServerServices.Hosts.DSMDataManager" />
          <DiscoveryRelationship TypeID="ServerServices.Hosts.DSMConnService" />
          <DiscoveryRelationship TypeID="ServerServices.Hosts.DSMSharedServices" />
        </DiscoveryTypes>
        <DataSource ID="DS" TypeID="Dell.Connections.ServerServicesDiscovery">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.ServerBMC.DiscoveryRule" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="false" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.ServerBMC">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="BMCIPAddress" />
          </DiscoveryClass>
          <DiscoveryClass TypeID="Dell.Connections.DellDRAC">
            <Property TypeID="System!System.Entity" PropertyID="DisplayName" />
            <Property PropertyID="DracURL" />
          </DiscoveryClass>
          <DiscoveryRelationship TypeID="DellServer.Hosts.ServerBMC" />
          <DiscoveryRelationship TypeID="DellServer.Hosts.DellDRAC" />
        </DiscoveryTypes>
        <DataSource ID="DS" TypeID="Dell.Connections.ServerBMCDiscovery">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DellStorage.Discovery" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="false" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes />
        <DataSource ID="DS" TypeID="Dell.Connections.DellStorage.DiscoveryRule">
          <IntervalSeconds>21600</IntervalSeconds>
          <Computer>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</Computer>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DRAC_5.Discovery" Enabled="false" Target="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.DRAC_5" />
        </DiscoveryTypes>
        <DataSource ID="DiscoveryData" TypeID="Dell.Connections.VigDRAC.FilteredSnmpDiscoveryClasses">
          <IPStart>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPStart>
          <IPEnd>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPEnd>
          <CommunityString>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
          <Timeout>300</Timeout>
          <OIDProps>
            <OIDProp>.1.3.6.1.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.3.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.3.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.4.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.7.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.11.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.2.1.0</OIDProp>
          </OIDProps>
          <ClassId>$MPElement[Name="Dell.Connections.DRAC_5"]$</ClassId>
          <InstanceSettings>
            <Settings>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/FirmwareVer$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/SysServiceTag$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/ProdUrl$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/ProdVer$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/ProdManf$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/ProdDesc$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/ProdShortName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/ProdName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[8]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
                <Value>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRAC_5"]/System_UpTime$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[10]/Value$</Value>
              </Setting>
            </Settings>
          </InstanceSettings>
          <Expression>
            <And>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[11]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.8072.3.2.10</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[7]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>DRAC</Pattern>
                </RegExExpression>
              </Expression>
            </And>
          </Expression>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DRAC_5.PopulateGroup" Enabled="false" Target="Dell.Connections.OOB_DRAC_Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="OOB_DRAC_Group.Contains.DRAC_5" />
        </DiscoveryTypes>
        <DataSource ID="GroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DRAC_5"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="OOB_DRAC_Group.Contains.DRAC_5"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DRACMC.Discovery" Enabled="false" Target="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.DRACMC" />
        </DiscoveryTypes>
        <DataSource ID="DiscoveryData" TypeID="Dell.Connections.VigDRAC.FilteredSnmpDiscoveryClasses">
          <IPStart>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPStart>
          <IPEnd>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPEnd>
          <CommunityString>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
          <Timeout>300</Timeout>
          <OIDProps>
            <OIDProp>.1.3.6.1.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.3.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.3.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.4.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.7.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.6.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.2.1.0</OIDProp>
          </OIDProps>
          <ClassId>$MPElement[Name="Dell.Connections.DRACMC"]$</ClassId>
          <InstanceSettings>
            <Settings>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/FirmwareVer$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/SysServiceTag$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/ProdUrl$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/ProdVer$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/ProdManf$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/ProdDesc$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/ProdShortName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/ProdName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[8]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
                <Value>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.DRACMC"]/System_UpTime$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[10]/Value$</Value>
              </Setting>
            </Settings>
          </InstanceSettings>
          <Expression>
            <And>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[11]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>1.3.6.1.4.1.674.10892.2</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[7]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>MC</Pattern>
                </RegExExpression>
              </Expression>
            </And>
          </Expression>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.DRACMC.PopulateGroup" Enabled="false" Target="Dell.Connections.OOB_DRAC_Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="OOB_DRAC_Group.Contains.DRACMC" />
        </DiscoveryTypes>
        <DataSource ID="GroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.DRACMC"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="OOB_DRAC_Group.Contains.DRACMC"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.CMC.Discovery" Enabled="false" Target="NetworkDevice!Microsoft.SystemCenter.NetworkDevice" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Dell.Connections.CMC" />
        </DiscoveryTypes>
        <DataSource ID="DiscoveryData" TypeID="Dell.Connections.VigDRAC.FilteredSnmpDiscoveryClasses">
          <IPStart>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPStart>
          <IPEnd>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</IPEnd>
          <CommunityString>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/CommunityString$</CommunityString>
          <Timeout>300</Timeout>
          <OIDProps>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.3.1.9.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.4.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.6.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.2.1.2.1.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.1.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.2.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.3.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.4.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.5.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.6.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.7.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.1.8.0</OIDProp>
            <OIDProp>.1.3.6.1.4.1.674.10892.2.1.2.1.0</OIDProp>
          </OIDProps>
          <ClassId>$MPElement[Name="Dell.Connections.CMC"]$</ClassId>
          <InstanceSettings>
            <Settings>
              <Setting>
                <Name>$MPElement[Name="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Name>
                <Value>$Target/Property[Type="NetworkDevice!Microsoft.SystemCenter.NetworkDevice"]/IPAddress$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/Name$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[9]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/ShortProductName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[8]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/Description$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[7]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/Manufacturer$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[6]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/Version$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[5]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/ServiceTag$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[4]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/OOBURL$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[3]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/ChassisName$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[2]/Value$</Value>
              </Setting>
              <Setting>
                <Name>$MPElement[Name="Dell.Connections.CMC"]/Firmware$</Name>
                <Value>$data/SnmpVarBinds/SnmpVarBind[1]/Value$</Value>
              </Setting>
            </Settings>
          </InstanceSettings>
          <Expression>
            <And>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[6]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>Dell</Pattern>
                </RegExExpression>
              </Expression>
              <Expression>
                <RegExExpression>
                  <ValueExpression>
                    <XPathQuery>SnmpVarBinds/SnmpVarBind[9]/Value</XPathQuery>
                  </ValueExpression>
                  <Operator>ContainsSubstring</Operator>
                  <Pattern>Chassis Management Controller</Pattern>
                </RegExExpression>
              </Expression>
            </And>
          </Expression>
        </DataSource>
      </Discovery>
      <Discovery ID="Dell.Connections.CMC.PopulateGroup" Enabled="false" Target="Dell.Connections.OOB_CMC_Group" ConfirmDelivery="false" Remotable="true" Priority="Normal">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryRelationship TypeID="OOB_CMC_Group.Contains.CMC" />
        </DiscoveryTypes>
        <DataSource ID="GroupPopulator" TypeID="SystemCenter!Microsoft.SystemCenter.GroupPopulator">
          <RuleId>$MPElement$</RuleId>
          <GroupInstanceId>$Target/Id$</GroupInstanceId>
          <MembershipRules>
            <MembershipRule>
              <MonitoringClass>$MPElement[Name="Dell.Connections.CMC"]$</MonitoringClass>
              <RelationshipClass>$MPElement[Name="OOB_CMC_Group.Contains.CMC"]$</RelationshipClass>
            </MembershipRule>
          </MembershipRules>
        </DataSource>
      </Discovery>
    </Discoveries>
    <Rules>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2048" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2048</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Device failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2049" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2049</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Physical Disk removed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2050" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2050</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Physical disk offline</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2051" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2051</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Physical disk degraded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2054" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2054</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Virtual disk deleted</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2056" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2056</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Virtual disk failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2057" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2057</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Virtual disk degraded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2076" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2076</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Virtual disk check consistency failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2077" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2077</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Virtual disk format failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2079" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2079</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Virtual disk initialization failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2080" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2080</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Physical disk initialize failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2081" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2081</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Virtual disk reconfiguration failed </AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2082" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2082</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Virtual disk rebuild failed </AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2083" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2083</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Physical disk rebuild failed </AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2094" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2094</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Predictive failure reported</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2100" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2100</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Temperature max warning threshold exceed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2101" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2101</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Temperature below min warning threshold</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2102" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2102</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Temperature max failure threshold exceed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2103" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2103</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Temperature below min failure threshold</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2106" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2106</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Smart FPT exceeded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2107" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2107</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Smart config change</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2108" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2108</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Smart warning</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2109" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2109</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Smart warning temperature</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2110" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2110</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Smart warning degraded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2111" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2111</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Failure prediction threshold exceeded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2112" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2112</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Enclosure was shutdown</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2120" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2120</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Enclosure firmware mismatch</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2122" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2122</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Redundancy degraded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2123" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2123</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Redundancy lost</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2129" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2129</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS BGI failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2131" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2131</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Firmware version mismatch</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2132" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2132</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Driver version mismatch</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2135" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2135</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Array Manager is installed on the system</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2137" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2137</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Communication timeout</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2145" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2145</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Controller battery low</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2146" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2146</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Bad block replacement error</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2147" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2147</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Bad block sense error</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2148" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2148</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Bad block medium error</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2149" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2149</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Bad block extended sense error</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2150" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2150</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Bad block extended medium error</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2163" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2163</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Rebuild completed with errors</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2165" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2165</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS RAID controller config file can't be opened.</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2166" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2166</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS RAID controller config file out of date or corrupted</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2167" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2167</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Current kernel and SCSI driver version are older</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2168" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2168</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Non-RAID SCSI driver version is older</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2169" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2169</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Controller battery needs to be replaced</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2171" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2171</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Controller battery temperature is above normal</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2173" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2173</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Unsupported configuration detected</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2174" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2174</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Controller battery has been removed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2178" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2178</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Controller battery Learn cycle timed out</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2182" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2182</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Invalid SAS configuration detected</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2186" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2186</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Controller cache has been discarded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2187" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2187</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Single-bit ECC error limit exceeded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2191" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2191</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Multiple enclosures are attached to the controller</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2201" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2201</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Global hot spare failed. </AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2203" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2203</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Dedicated hot spare failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2206" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2206</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Only hot spare available is a SATA disk</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2207" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2207</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Only hot spare available is a SAS disk</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2211" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2211</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Physical disk is not supported</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2213" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2213</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Recharge count maximum exceeded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2246" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2246</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Controller battery degraded</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2264" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2264</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Device is missing</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2265" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2265</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>1</Severity>
            <AlertName>Dell OMSS Device is in an unknown state</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2268" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2268</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Storage Management has lost communication with the controller</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2270" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2270</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Physical disk Clear operation failed</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2272" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
        <Category>Alert</Category>
        <DataSources>
          <DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
            <ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.LogicalDevice"]/DeviceID$</ComputerName>
            <LogName>System</LogName>
            <Expression>
              <And>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="UnsignedInteger">2272</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
                <Expression>
                  <SimpleExpression>
                    <ValueExpression>
                      <XPathQuery Type="String">PublisherName</XPathQuery>
                    </ValueExpression>
                    <Operator>Equal</Operator>
                    <ValueExpression>
                      <Value Type="String">Server Administrator</Value>
                    </ValueExpression>
                  </SimpleExpression>
                </Expression>
              </And>
            </Expression>
          </DataSource>
        </DataSources>
        <WriteActions>
          <WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
            <Priority>1</Priority>
            <Severity>2</Severity>
            <AlertName>Dell OMSS Patrol Read found an uncorrectable media error</AlertName>
            <AlertDescription>$Data/EventDescription$</AlertDescription>
            <AlertOwner />
            <Suppression>
              <SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
              <SuppressionValue>$Data/Channel$</SuppressionValue>
              <SuppressionValue>$Data/PublisherName$</SuppressionValue>
              <SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
              <SuppressionValue>$Data/EventCategory$</SuppressionValue>
              <SuppressionValue>$Data/EventLevel$</SuppressionValue>
              <SuppressionValue>$Data/UserName$</SuppressionValue>
              <SuppressionValue>$Data/EventNumber$</SuppressionValue>
              <SuppressionValue>$Data/EventDescription$</SuppressionValue>
            </Suppression>
            <Custom1 />
            <Custom2 />
            <Custom3 />
            <Custom4 />
            <Custom5 />
            <Custom6 />
            <Custom7 />
            <Custom8 />
            <Custom9 />
            <Custom10 />
          </WriteAction>
          <WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishEventData" />
        </WriteActions>
      </Rule>
      <Rule ID="Dell.Connections.StorageManagement.Alert.2273" Enabled="true" Target="Dell.Connections.DellServer" ConfirmDelivery="false" Remotable="true" Pr