<ManagementPack SchemaVersion="2.0" ContentReadable="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Manifest>
<Identity>
<ID>Fujitsu.Servers.PRIMERGY.OutOfBand</ID>
<Version>8.2.0.0</Version>
</Identity>
<Name>Fujitsu PRIMERGY Out-Of-Band Server Management Pack</Name>
<References>
<Reference Alias="FTSIMG">
<ID>Fujitsu.ServerView.Image.Library</ID>
<Version>8.1.0.0</Version>
<PublicKeyToken>5b0d12e6c30fbeca</PublicKeyToken>
</Reference>
<Reference Alias="FTSLIB">
<ID>Fujitsu.ServerView.Library</ID>
<Version>8.0.5.0</Version>
<PublicKeyToken>5b0d12e6c30fbeca</PublicKeyToken>
</Reference>
<Reference Alias="OOB">
<ID>Microsoft.SystemCenter.OutofBand.SMASH.Library</ID>
<Version>7.0.8707.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SC">
<ID>Microsoft.SystemCenter.Library</ID>
<Version>7.0.8427.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="Windows">
<ID>Microsoft.Windows.Library</ID>
<Version>7.5.8501.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="SystemHealth">
<ID>System.Health.Library</ID>
<Version>7.0.8427.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
<Reference Alias="System">
<ID>System.Library</ID>
<Version>7.5.8501.0</Version>
<PublicKeyToken>31bf3856ad364e35</PublicKeyToken>
</Reference>
</References>
</Manifest>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice" Base="OOB!Microsoft.SystemCenter.OOB.WSManDevice" Accessibility="Public" Abstract="false" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Base="System!System.LogicalHardware" Accessibility="Public" Abstract="true" Hosted="false" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" />
<Property ID="ManagementUrl" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ServerName" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" Base="System!System.LogicalEntity" Accessibility="Public" Abstract="false" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" Accessibility="Internal" Abstract="true" Base="FTSLIB!Fujitsu.ServerView.HealthCollection" Hosted="false" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Server" Hosted="true" Singleton="false">
<!-- Additional Out-Of-Band Server Properties -->
<Property ID="DnsName" Type="string" Key="false" CaseSensitive="false" />
<Property ID="PhysicalMemory" Type="string" Key="false" CaseSensitive="false" />
<Property ID="BmcFirmware" Type="string" Key="false" CaseSensitive="false" />
<Property ID="SystemFirmware" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ManufacturingDate" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ChassisModel" Type="string" Key="false" CaseSensitive="false" />
<Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ManagementUrl" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Hosted="true" Singleton="false" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Hosted="true" Singleton="false" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Hosted="true" Singleton="false" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Hosted="true" Singleton="false" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Hosted="true" Singleton="false" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" Hosted="true" Singleton="false" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Hosted="true" Singleton="false">
<Property ID="Model" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" />
<Property ID="NumLogicalCores" Type="string" Key="false" CaseSensitive="false" />
<Property ID="NumPhysicalCores" Type="string" Key="false" CaseSensitive="false" />
<Property ID="MaxClockSpeed" Type="string" Key="false" CaseSensitive="false" />
<Property ID="L1Cache" Type="string" Key="false" CaseSensitive="false" />
<Property ID="L2Cache" Type="string" Key="false" CaseSensitive="false" />
<Property ID="L3Cache" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Hosted="true" Singleton="false">
<Property ID="Type" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Size" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ManufacturingDate" Type="string" Key="false" CaseSensitive="false" />
<Property ID="BusFrequency" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Voltage" Type="string" Key="false" CaseSensitive="false" />
<Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="SerialNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="RevisionCode" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ConfigStatus" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Hosted="true" Singleton="false">
<Property ID="ConfigStatus" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Hosted="true" Singleton="false">
<Property ID="Model" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ManufacturingDate" Type="string" Key="false" CaseSensitive="false" />
<Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="SerialNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Version" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" Hosted="true" Singleton="false">
<Property ID="Model" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Manufacturer" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ManufacturingDate" Type="string" Key="false" CaseSensitive="false" />
<Property ID="PartNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="SerialNumber" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Version" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.Group" Hosted="false" Singleton="true" />
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" Accessibility="Public" Abstract="true" Base="System!System.LogicalHardware" Hosted="false" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" />
<Property ID="Status" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" Accessibility="Public" Abstract="true" Base="System!System.LogicalHardware" Hosted="false" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" />
<Property ID="SensorType" Type="string" Key="false" CaseSensitive="false" />
<Property ID="EntityId" Type="string" Key="true" CaseSensitive="false" />
<Property ID="EntityInstance" Type="string" Key="true" CaseSensitive="false" />
<Property ID="ManagementUrl" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ServerName" Type="string" Key="false" CaseSensitive="false" />
<Property ID="Status" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryNotPresent" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.HealthCollection" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" Accessibility="Public" Abstract="false" Base="FTSLIB!Fujitsu.ServerView.HealthCollection" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" Accessibility="Public" Abstract="false" Base="System!System.LogicalHardware" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" Accessibility="Public" Abstract="false" Base="System!System.LogicalEntity" Hosted="true" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" MinLength="0" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Accessibility="Public" Abstract="true" Base="System!System.LogicalEntity" Hosted="false" Singleton="false">
<Property ID="ID" Type="string" Key="true" CaseSensitive="false" />
<Property ID="SensorType" Type="string" Key="false" CaseSensitive="false" />
<Property ID="EntityId" Type="string" Key="true" CaseSensitive="false" />
<Property ID="EntityInstance" Type="string" Key="true" CaseSensitive="false" />
<Property ID="ManagementUrl" Type="string" Key="false" CaseSensitive="false" />
<Property ID="ServerName" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus" Accessibility="Public" Abstract="true" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus" Accessibility="Public" Abstract="true" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyPowerRelatedComponentStatus" Accessibility="Public" Abstract="true" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyOtherComponentStatus" Accessibility="Public" Abstract="true" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AirInletComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyOtherComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyOtherComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyOtherComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyOtherComponentStatus" Hosted="false" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false"></ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false">
<Property ID="FirmwareVersion" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false">
<Property ID="BiosVersion" Type="string" Key="false" CaseSensitive="false" />
</ClassType>
<ClassType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" Accessibility="Public" Abstract="false" Base="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Hosted="true" Singleton="false"></ClassType>
</ClassTypes>
<RelationshipTypes>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDeviceHostsServer" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsCommunicationMonitor" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMemoryGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemory" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotPresent" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotUsable" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsProcessorGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessor" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessorNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMainboard" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsFanGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFan" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFanNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsPowerSupplyGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupply" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupplyNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupContainsBXServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupContainsCXServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupContainsRXServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupContainsSXServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupContainsTXServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupContainsXXServer" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsBXServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsCXServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsRXServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsSXServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsTXServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsXXServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsPYServersGroup" Accessibility="Public" Abstract="false" Base="System!System.Containment">
<Source ID="Source" Type="FTSLIB!Fujitsu.ServerView.ServersGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsTemperatureComponentGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsVoltageComponentGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardReferencesVoltageComponentGroup" Base="System!System.Reference" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsOtherComponentStatusGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsDriveSlotComponentGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPciSlotComponentGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtSoftwareComponentGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerUnitComponentGroup" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtCtrlComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerMonitoringComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsBiosComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsOtherComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareStatusGroupHostsMgmtSoftwareComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitStatusGroupHostsPowerUnitComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsVoltageComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryNotPresent" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureStatusGroupHostsTemperatureComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotComponentStatus" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" />
</RelationshipType>
<RelationshipType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotNotPresent" Base="System!System.Hosting" Abstract="false" Accessibility="Public">
<Source ID="Source" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" />
<Target ID="Target" Type="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent" />
</RelationshipType>
</RelationshipTypes>
</EntityTypes>
<ModuleTypes>
<DataSourceModuleType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TimedPowerShell.PropertyBagProvider" Accessibility="Public" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptBody" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="Parameters" type="NamedParametersType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="StrictErrorHandling" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.SimpleScheduler">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
</DataSource>
<ProbeAction ID="PSScript" TypeID="Windows!Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe">
<ScriptName>$Config/ScriptName$</ScriptName>
<ScriptBody><Script>$Config/ScriptBody$</Script></ScriptBody>
<Parameters>$Config/Parameters$</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="PSScript">
<Node ID="Scheduler" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.PropertyBagData</OutputType>
</DataSourceModuleType>
<DataSourceModuleType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SimpleScheduled.PowerShell.DiscoveryProvider" Accessibility="Public">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="IntervalSeconds" type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="ScriptBody" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SnapIns" type="SnapInsType" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="Parameters" type="NamedParametersType" minOccurs="0" maxOccurs="1" 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="StrictErrorHandling" type="xsd:boolean" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource TypeID="System!System.Discovery.Scheduler" ID="Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
<SyncTime>$Config/SyncTime$</SyncTime>
</SimpleReccuringSchedule>
<ExcludeDates />
</Scheduler>
</DataSource>
<ProbeAction TypeID="Windows!Microsoft.Windows.PowerShellDiscoveryProbe" ID="PSScript">
<ScriptName>$Config/ScriptName$</ScriptName>
<ScriptBody><Script>$Config/ScriptBody$</Script></ScriptBody>
<SnapIns>$Config/SnapIns$</SnapIns>
<Parameters>$Config/Parameters$</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="PSScript">
<Node ID="Scheduler" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>
<DataSourceModuleType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider" Accessibility="Public">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="IntervalSeconds" type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Note: SyncTime is unused/ignored -->
<xsd:element name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SpreadInitializationOverInterval" type="xsd:int" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="ScriptBody" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SnapIns" type="SnapInsType" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="Parameters" type="NamedParametersType" minOccurs="0" maxOccurs="1" 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="StrictErrorHandling" type="xsd:boolean" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<!-- Note: SyncTime is unused/ignored -->
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string" />
<OverrideableParameter ID="SpreadInitializationOverInterval" Selector="$Config/SpreadInitializationOverInterval$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<!-- Note: Regarding cookdown and discoveries: see note on special scheduler DS System!System.Discovery.Scheduler -->
<!-- Also see https://msdn.microsoft.com/en-us/library/jj130454.aspx -->
<DataSource ID="Scheduler" TypeID="System!System.UniquenessScheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
<SpreadInitializationOverInterval>$Config/SpreadInitializationOverInterval$</SpreadInitializationOverInterval>
</SimpleReccuringSchedule>
<ExcludeDates />
</Scheduler>
<UniquenessKey>$Target/Id$$MPElement$</UniquenessKey>
</DataSource>
<!--
<DataSource TypeID="System!System.Discovery.Scheduler" ID="Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
<SyncTime>$Config/SyncTime$</SyncTime>
</SimpleReccuringSchedule>
<ExcludeDates />
</Scheduler>
</DataSource>
-->

<ProbeAction TypeID="Windows!Microsoft.Windows.PowerShellDiscoveryProbe" ID="PSScript">
<ScriptName>$Config/ScriptName$</ScriptName>
<ScriptBody><Script>$Config/ScriptBody$</Script></ScriptBody>
<SnapIns>$Config/SnapIns$</SnapIns>
<Parameters>$Config/Parameters$</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="PSScript">
<Node ID="Scheduler" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>
<DataSourceModuleType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" Accessibility="Public">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SpreadInitializationOverInterval" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="ScriptBody" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SnapIns" type="SnapInsType" minOccurs="0" maxOccurs="1" 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="StrictErrorHandling" type="xsd:boolean" minOccurs="0" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element name="IP" type="xsd:string" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="Port" type="xsd:integer" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="UserName" type="xsd:string" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="Password" type="xsd:string" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SkipCACheck" type="xsd:boolean" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="SkipCNCheck" type="xsd:boolean" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="UseDnsNameAsNetworkName" type="xsd:boolean" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="UseDnsNameAsDisplayName" type="xsd:boolean" minOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="IncludeNotPresentProcessors" type="xsd:boolean" minOccurs="0" default="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="IncludeNotPresentFans" type="xsd:boolean" minOccurs="0" default="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element name="IncludeNotPresentPowerSupplies" type="xsd:boolean" minOccurs="0" default="true" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="SpreadInitializationOverInterval" Selector="$Config/SpreadInitializationOverInterval$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
<OverrideableParameter ID="UseDnsNameAsNetworkName" Selector="$Config/UseDnsNameAsNetworkName$" ParameterType="bool" />
<OverrideableParameter ID="UseDnsNameAsDisplayName" Selector="$Config/UseDnsNameAsDisplayName$" ParameterType="bool" />
<OverrideableParameter ID="IncludeNotPresentProcessors" Selector="$Config/IncludeNotPresentProcessors$" ParameterType="bool" />
<OverrideableParameter ID="IncludeNotPresentFans" Selector="$Config/IncludeNotPresentFans$" ParameterType="bool" />
<OverrideableParameter ID="IncludeNotPresentPowerSupplies" Selector="$Config/IncludeNotPresentPowerSupplies$" ParameterType="bool" />
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<!-- Note: Regarding cookdown and discoveries: see note on special scheduler DS System!System.Discovery.Scheduler -->
<!-- Also see https://msdn.microsoft.com/en-us/library/jj130454.aspx -->
<DataSource ID="Scheduler" TypeID="System!System.UniquenessScheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
<SpreadInitializationOverInterval>$Config/SpreadInitializationOverInterval$</SpreadInitializationOverInterval>
</SimpleReccuringSchedule>
<ExcludeDates />
</Scheduler>
<UniquenessKey>$Target/Id$$MPElement$</UniquenessKey>
</DataSource>
<ProbeAction TypeID="Windows!Microsoft.Windows.PowerShellDiscoveryProbe" ID="PSScript">
<ScriptName>$Config/ScriptName$</ScriptName>
<ScriptBody><Script>$Config/ScriptBody$</Script></ScriptBody>
<SnapIns>$Config/SnapIns$</SnapIns>
<Parameters>
<!-- Fixed set of parameters -->
<Parameter>
<Name>TargetId</Name>
<Value>$Target/Id$</Value>
</Parameter>
<!-- Out-Of-Band Server iRMC Access Parameters -->
<Parameter>
<Name>IP</Name>
<Value>$Config/IP$</Value>
</Parameter>
<Parameter>
<Name>Port</Name>
<Value>$Config/Port$</Value>
</Parameter>
<Parameter>
<Name>UserName</Name>
<Value>$Config/UserName$</Value>
</Parameter>
<Parameter>
<Name>Password</Name>
<Value>$Config/Password$</Value>
</Parameter>
<Parameter>
<Name>SkipCACheck</Name>
<Value>$Config/SkipCACheck$</Value>
</Parameter>
<Parameter>
<Name>SkipCNCheck</Name>
<Value>$Config/SkipCNCheck$</Value>
</Parameter>
<Parameter>
<Name>TimeoutSeconds</Name>
<Value>$Config/TimeoutSeconds$</Value>
</Parameter>
<!-- Additional Discovery Script Parameters -->
<Parameter>
<Name>UseDnsNameAsNetworkName</Name>
<Value>$Config/UseDnsNameAsNetworkName$</Value>
</Parameter>
<Parameter>
<Name>UseDnsNameAsDisplayName</Name>
<Value>$Config/UseDnsNameAsDisplayName$</Value>
</Parameter>
<!-- Additional Discovery Script Parameters -->
<Parameter>
<Name>IncludeNotPresentProcessors</Name>
<Value>$Config/IncludeNotPresentProcessors$</Value>
</Parameter>
<Parameter>
<Name>IncludeNotPresentFans</Name>
<Value>$Config/IncludeNotPresentFans$</Value>
</Parameter>
<Parameter>
<Name>IncludeNotPresentPowerSupplies</Name>
<Value>$Config/IncludeNotPresentPowerSupplies$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="PSScript">
<Node ID="Scheduler" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>
<DataSourceModuleType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.DataSource" Accessibility="Public" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="StrictErrorHandling" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element minOccurs="1" name="UserName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Password" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ManagementUrl" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCACheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCNCheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Component Status key/identifiers -->
<xsd:element minOccurs="1" name="ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SensorType" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="EntityId" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="EntityInstance" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters></OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.SimpleScheduler">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
</DataSource>
<ProbeAction ID="PSScript" TypeID="Windows!Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe">
<ScriptName>$Config/ScriptName$</ScriptName>
<ScriptBody><Script>
##################################################################################
# #
# NOTICE #
# #
# COPYRIGHT 2014 - 2016 Fujitsu Technology Solutions #
# ALL RIGHTS RESERVED #
# #
# This computer program is CONFIDENTIAL and contains TRADE SECRETS of #
# Fujitsu Technology Solutions. The receipt or possession of this program does #
# not convey any rights to reproduce or disclose its contents, or to #
# manufacture, use, or sell anything that it may describe, in whole or #
# in part, without the specific written consent of Fujitsu Technology Solutions. #
# Any reproduction of this program without the express written consent #
# of Fujitsu Technology Solutions is a violation of the copyright laws and may #
# subject you to civil liability and criminal prosecution. #
# #
##################################################################################


# This script collects all component status information from the iRMC system report
# For cookdown the component status identifier and a mapped HealthStatus
# property bag are returned and filtered afterwards for the specific component status

# Note: Due to different hosting depth levels of the possible component status instances
# the IP and Port Information cannot be provided in a consistent matter,
# ManagementUrl Property of a Component Status instance is used instead

param(
[int] $TimeoutSeconds = 120,
[string]$UserName,
[string]$Password,
[string]$ManagementUrl,
[string]$SkipCACheck = "False",
[string]$SkipCNCheck = "False"
)

$ScriptApi = New-Object -comObject "MOM.ScriptAPI"
if ($ScriptApi -eq $Null) { Exit -1 }

# set CONSTANT variables (can not be changed):
set-variable -name PoShScriptName -value "ComponentStatusHealth.ps1" -option constant

[int]$SCRIPT_EVENT_NUMBER = 8011

# Note: Keep in sync with discovery
[int]$ERROR_NO_MEMORY_INFORMATION = 8059
[int]$ERROR_NO_PROCESSOR_INFORMATION = 8069
[int]$ERROR_NO_COMPONENT_STATUS_INFORMATION = 8089

[bool]$propertyBagReturned = $False

&lt;#
# iRMC Component Status Values
[int]$COMPONENT_STATUS_OK = 0
[int]$COMPONENT_STATUS_IDENTIFY = 1
[int]$COMPONENT_STATUS_PREFAIL = 2
[int]$COMPONENT_STATUS_FAIL = 3
[int]$COMPONENT_STATUS_NOT_AVAILABLE = 0xFD
[int]$COMPONENT_STATUS_NOT_PRESENT = 0xFE
[int]$COMPONENT_STATUS_UNKNOWN = 0xFF
#&gt;

# iRMC Component Status Values mapped to SCCI Values
[int]$CMV_COMPSTATSIG_OK = 0x00
[int]$CMV_COMPSTATSIG_IDENTIFY = 0x01
[int]$CMV_COMPSTATSIG_PREFAIL = 0x02
[int]$CMV_COMPSTATSIG_FAIL = 0x03
[int]$CMV_COMPSTATSIG_NOTPRESENT = 0x04

$hostURL = $ManagementUrl

# Extract the IP from the ManagementUrl
$IP = $ManagementUrl.Substring(0, $ManagementUrl.LastIndexOf(":")).ToUpper().TrimStart("HTTPS://")

# we need to make multiple authenticated HTTP requests...
[System.Net.NetworkCredential]$NetworkCredential = New-Object System.Net.NetworkCredential ($UserName, $Password)
[System.Net.ServicePointManager]::DefaultConnectionLimit = 1000

# Strip any potential garbage at the and of the XML string
Function Clean-XmlString ([string]$xmlString, [string]$endTag) {
if ($xmlString.contains( $endTag )) {
$xmlString.TrimEnd( $xmlString.Substring( ($xmlString.IndexOf($endTag) +$endTag.Length) ))
} else {
$xmlString
}
}

Function Main {
PrepareLogging -Section $SectionComponentStatusMonitor -HostTag $TagHostsMonitoring -ServerName $IP -MpName "Fujitsu.Servers.PRIMERGY.OutOfBand"

DebugOut "$IP - Component Status Monitoring for Fujitsu Out-Of-Band Server - start"

[xml]$xml = New-Object XML
[System.Xml.XmlElement]$elem = $Null

try {
DebugOut "$IP - ManagementUrl=$ManagementUrl TimeoutSeconds=$TimeoutSeconds SkipCACheck=$SkipCACheck SkipCNCheck=$SkipCNCheck"

# Get Component Status Information
DebugOut "$IP - Reading $($hostURL)/report.xml?Item=System/Components ..."
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Components") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $TimeoutSeconds
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
$BmcFirmwareVersion = $xml.Root.GetAttribute("Version")
DebugOut "$IP - Firmware Version: $BmcFirmwareVersion "

[System.Xml.XmlElement]$compInst = $xml.Root.System.Components
if ($compInst -ne $Null -and $compInst.HasChildNodes) {
foreach ($elem in $compInst.Component) {
# Workaround for 'exotic' problem where component status information has partial switched language due to long processing time.
# Use numeric value instead of text (Description / Beschreibung / 説明)
$StatusVal = $elem.Status.InnerText

if ($StatusVal -ne $Null -and $StatusVal -ne $CMV_COMPSTATSIG_NOTPRESENT ) {
$propertyBag = $ScriptApi.CreatePropertyBag()

# Map numeric SCCI Component Status to health status
switch ($StatusVal) {
$CMV_COMPSTATSIG_OK {$HealthStatus = 'OK' }
$CMV_COMPSTATSIG_PREFAIL {$HealthStatus = 'Warning'}
$CMV_COMPSTATSIG_FAIL {$HealthStatus = 'Error' }
default {$HealthStatus = 'Unknown'}
}

# The Out-Of-Band Server this Component Status is hosted
$propertyBag.AddValue('IP' , $IP)

# Properties to identify this component status instance
$propertyBag.AddValue('ID' , $elem.Name)
$propertyBag.AddValue('SensorType' , $elem.SensorType)
$propertyBag.AddValue('EntityId' , $elem.EntityIdString)
$propertyBag.AddValue('EntityInstance', $elem.EntityInstance)
$propertyBag.AddValue('HealthStatus' , $HealthStatus)

DebugOut "$IP - Component Status '$($elem.Name)' SensorType='$($elem.SensorType)' Status='$($StatusVal)' HealthStatus='$($HealthStatus)'"

# Return each property bag as we create and populate it.
$propertyBag
$propertyBagReturned = $True
} else {
DebugOut "$IP - Component Status '$($elem.Name)' Status='Not Present'"
}
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_COMPONENT_STATUS_INFORMATION -Message ("Component Status Information not available")
DebugErr $ERROR_NO_COMPONENT_STATUS_INFORMATION "$IP - Component Status Information not available"
}
} else {
# No response or garbage ...
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_COMPONENT_STATUS_INFORMATION -Message ("Component Status Information not available")
DebugErr $ERROR_NO_COMPONENT_STATUS_INFORMATION "$IP - Component Status Information not available"
}
} catch {
# Generic Exception ...
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Component Status Health: Exception=$_")
DebugErr $SCRIPT_EVENT_NUMBER "$ManagementUrl - Component Status Health: Exception=$_"
}

if ($propertyBagReturned -eq $False) {
# Return empty property bag if something went wrong
$propertyBag = $ScriptApi.CreatePropertyBag()
$propertyBag
}

DebugOut "$IP - Component Status Monitoring for Fujitsu Out-Of-Band Server - finished"
}


# This script part contains helper functions to perform web based requests
# and is embedded into the final script via Visual Studio Authoring Extensions

[int]$DEFAULT_REQUEST_TIMEOUT = 30 # seconds
[int]$DEFAULT_RETRY_INCREMENT = 10 # seconds
[int]$MAX_REQUEST_RETRIES = 3

[int]$ERROR_SSL_CA_ERROR = 8399 # is not a prime
[int]$ERROR_SSL_CN_ERROR = 8499 # is not a prime

[int]$ERROR_BMC_NO_RESPONSE = 8599 # is a prime
[int]$ERROR_BMC_NO_ACCESS = 8699 # is a prime
[int]$ERROR_BMC_TIMEOUT = 8799 # is not a prime
[int]$ERROR_BMC_BUSY = 8999 # is a prime

# Subset of possible HTTP error codes
[int]$HTTP_RC_CONTINUE = 100
[int]$HTTP_RC_OK = 200
[int]$HTTP_RC_CREATED = 201
[int]$HTTP_RC_ACCEPTED = 202
[int]$HTTP_RC_NO_CONTENT = 204
[int]$HTTP_RC_RESET_CONTENT = 205
[int]$HTTP_RC_PARTIAL_CONTENT = 206

[int]$HTTP_RC_MULTIPLE_CHOICES = 300
[int]$HTTP_RC_MOVED_PERMANENTLY = 301
[int]$HTTP_RC_MOVED_TEMPORARILY = 302
[int]$HTTP_RC_NOT_MODIFIED = 304
[int]$HTTP_RC_BAD_REQUEST = 400
[int]$HTTP_RC_UNAUTHORIZED = 401
[int]$HTTP_RC_FORBIDDEN = 403
[int]$HTTP_RC_NOT_FOUND = 404
[int]$HTTP_RC_METHOD_NOT_ALLOWED = 405
[int]$HTTP_RC_NOT_ACCEPTABLE = 406
[int]$HTTP_RC_REQ_TIMEOUT = 408

[int]$HTTP_RC_SERVER_ERROR = 500
[int]$HTTP_RC_NOT_IMPLEMENTED = 501
[int]$HTTP_RC_SERVICE_UNAVAILABLE = 503

[bool]$global:SSL_CA_ERROR = $False
[bool]$global:SSL_CN_ERROR = $False
[bool]$global:SSL_NO_CERT_ERROR = $False


$SslCertificateValidator =
{
Param (
[System.Object] $obj,
[System.Security.Cryptography.X509Certificates.X509Certificate] $certificate,
[System.Security.Cryptography.X509Certificates.X509Chain] $chain,
[System.Net.Security.SslPolicyErrors] $errors
)

if ($errors -eq [System.Net.Security.SslPolicyErrors]::None) {
return $True
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateChainErrors) -and ($SkipCACheck -eq $False)) {
$global:SSL_CA_ERROR = $True
return $False
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNameMismatch) -and ($SkipCNCheck -eq $False)) {
$global:SSL_CN_ERROR = $True
return $False
}

# No cert provided
if ($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNotAvailable) {
$global:SSL_NO_CERT_ERROR = $True
return $False
}

# All checks passed
return $True
}

# Will return $Null on error
Function DoWebRequest(
[String]$url,
[string]$Method = "GET",
[System.Net.NetworkCredential]$Credentials = $NetworkCredential ,
[String]$requestData = $Null,
[int] $RequestTimeout = $DEFAULT_REQUEST_TIMEOUT,
[string]$AuthType = "Basic"
)
{
[int]$retries = 0;
for ($retries = 0; $retries -lt $MAX_REQUEST_RETRIES; $retries++) {
try {
[string]$errorMsg = $Null

$global:SSL_CN_ERROR = $False
$global:SSL_CA_ERROR = $False
$global:SSL_NO_CERT_ERROR = $False

$webRequest = [System.Net.WebRequest]::Create($url)
if ($Credentials -ne $Null) {
if ($AuthType -eq "Basic") {
# Do not wait for the 401 response, send the credentials with the initial request
$AuthData = [Convert]::ToBase64String([Text.Encoding]::Default.GetBytes($Credentials.UserName + ':' + $Credentials.Password));
$webRequest.Headers.Add('Authorization', "Basic $AuthData")

$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $False
$webRequest.KeepAlive = $False # make sure the connection is not re-used
} else {
$webRequest.Credentials = $Credentials
$webRequest.PreAuthenticate = $True
}
} else {
$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
}
# $webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $false

$webRequest.Timeout = ($RequestTimeout *1000)
$webRequest.ReadWriteTimeout = ($RequestTimeout *1000)
$webRequest.Method = $Method
$webRequest.Accept = "*/*"
$webRequest.KeepAlive = $False # make sure the connection is not re-used
try {
$webRequest.ServicePoint.ConnectionLimit = 1000
$webRequest.ServicePoint.ConnectionLeaseTimeout = 0 # Close Connection after servicing a request
$webRequest.ServicePoint.MaxIdleTime = 1 # in MilliSeconds, close connection afterwards
$webRequest.ServerCertificateValidationCallback = $SslCertificateValidator
} catch {
DebugErr 9999 "$IP - '$url' - Could not set extended config Exception=$_"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = $SslCertificateValidator
}

if ($requestData.Length -gt 0) {
$buffer = [System.Text.Encoding]::UTF8.GetBytes($requestData)
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
}

[System.Timespan]$resTime = Measure-Command {

try {
$webResponse= $webRequest.GetResponse()
} catch [System.Net.WebException] {
$webResponse = $_.Exception.Response
$errorMsg = $_.Exception.Message
$stackTrace = $_.Exception.StackTrace
$innerException = $_.Exception.InnerException
} catch {
$webResponse = $Null
}
}

if ($webResponse -ne $Null) {
[string]$Location = $webResponse.GetResponseHeader("Location") # $webResponse.Headers.Get("Location")
[string]$Server = $webResponse.GetResponseHeader("Server") # $webResponse.Headers.Get("Server")
[System.Net.HttpStatusCode] $statusCode = $($webResponse.StatusCode.value__)

if ( $global:iRMCDetected -eq $False ){
if ($Server -match "iRMC") {
$global:iRMCDetected = $True
}
}
$responseStream = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $responseStream.ReadToEnd()
$responseStream.Close()
$webResponse.Close()

switch ( $($webResponse.StatusCode.value__) ) {
$HTTP_RC_OK { # 200
DebugOut "$IP - $url request handled within $($resTime.TotalSeconds) seconds..."
return $result
}
$HTTP_RC_MOVED_PERMANENTLY { # 301
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_MOVED_TEMPORARILY { # 302
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_UNAUTHORIZED { # 401
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
return
}
$HTTP_RC_FORBIDDEN { # 403
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("No permission (403)")
return
}
$HTTP_RC_NOT_FOUND { # 404
return
}
$HTTP_RC_SERVER_ERROR { # 500
return
}
$HTTP_RC_NOT_IMPLEMENTED { # 501
return
}
$HTTP_RC_SERVICE_UNAVAILABLE { # 503
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_BUSY -Message ("iRMC is too busy (503)")
DebugErr $ERROR_BMC_BUSY "$IP - '$url' - iRMC is too busy to handle request"
return
}

default {
return $result
}
}
} else {

# Check for SSL related errors
if ($global:SSL_CN_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CN_ERROR -Message ("Certificate Common Name (CN) Mismatch")
DebugOut "$IP - $url Certificate Name (CN) Mismatch ..."
return
} elseif ($global:SSL_CA_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CA_ERROR -Message ("Certificate Authority (CA) or Certificate Chain Error")
DebugOut "$IP - $url Certificate Authority (CA) or Chain Error ..."
return
} elseif ($global:SSL_NO_CERT_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_ERROR -Message ("No Certificate present")
DebugOut "$IP - $url No Certificate present ..."
return
}

# no response (object), check for the timeout value.
# If the connection gets closed during early send/receive,
# this is typically within a few seconds, otherwise the configured timeout will have expired
if ($resTime -ne $Null -and [int]$resTime.TotalSeconds -lt 5) {
[int]$retryDelay = (($retries +1) * $DEFAULT_RETRY_INCREMENT)
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response / connection closed ")
if ($errorMsg -ne $Null) { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds ($errorMsg)"}
else { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds (no details available)"}
if ($innerException -ne $Null) { DebugWarn "InnerException:`r`n$innerException" }
if ($stackTrace -ne $Null ) { DebugWarn "Stack Trace:`r`n$stackTrace" }
Start-Sleep -Seconds $retryDelay
} else {
# Note: do no report actual timeout seconds here, or alert suppression will not fully work due to different text
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_TIMEOUT -Message ("'$url' no response. Timeout was $RequestTimeout seconds")
DebugOut "$IP - '$url' no response within $($resTime.TotalSeconds) seconds. Timeout was $RequestTimeout seconds"
return
}
}
} catch {
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("'$url' generic Exception=$_")
DebugWarn "$IP - '$url' generic Exception=$_"
}
}
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response after $retries retries (last error: $errorMsg)")
DebugOut "$IP - '$url' no response after $retries retries (last error: $errorMsg)"
}



# This script part contains helper functions to perform various logging activities
# and is embedded into the final script via Visual Studio Authoring Extensions

# Log an event into the registry, Source will be 'Health Service Script'
# See https://msdn.microsoft.com/en-us/library/bb437630.aspx
[int]$WARNING_LEVEL = 2
[int]$ERROR_LEVEL = 1
[int]$INFO_LEVEL = 0

$LOGFILE_VERSION = 8.1.0.0

# Generic version
Function RaiseEvent {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)

$channel = "Operations Manager"

if ([System.Diagnostics.EventLog]::SourceExists($EventSource) -eq $False) {
try {
[System.Diagnostics.EventLog]::CreateEventSource($EventSource, $channel)
} catch {

}
}

$eventLog = new-object System.Diagnostics.EventLog -ArgumentList @($channel)
$eventLog.Source = $EventSource

$eventData = @()
$eventData += $EventSource
$eventData += $Message
$eventData += $PoShScriptName

# Note: map different enum values
if($EventLevel -eq $INFO_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Information
} elseif($EventLevel -eq $WARNING_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Warning
} elseif($EventLevel -eq $ERROR_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Error
}

$eventInstance = new-object System.Diagnostics.EventInstance -ArgumentList @($EventNumber, 0, $EventLevel)
$eventLog.WriteEvent($eventInstance, $eventData)
}

Function LogScriptEventWithEventSource {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
DebugOut "Writing Event $($EventNumber) Level=($EventLevel) Source='$($EventSource)' Message='$($Message)'"
if ($ScriptApi -ne $Null) {
$ScriptApi.LogScriptEvent($EventSource, $EventNumber, $EventLevel, $Message)
}
}

# Backwards compatible wrapper
Function LogScriptEvent {
Param (
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
# Note: Log will be written always with Event Source 'Health Service Script'
if ($ScriptApi -ne $Null) {
# Note: do not use actual script name to consolidate Alert Suppression from parallel scripts
$ScriptApi.LogScriptEvent("Fujitsu Out-Of-Band", $EventNumber, $EventLevel, $Message)
# $ScriptApi.LogScriptEvent($PoShScriptName, $EventNumber, $EventLevel, $Message)
}
}

# set CONSTANT variables (can not be changed):
set-variable -name SVISCOMLogXmlName -value "SVISCOM-OutOfBand.xml" -option constant
set-variable -name SVISCOMLogXm_Name -value "SVISCOM-OutOfBand.xm_" -option constant
set-variable -name SectionRoot -value "root" -option constant
set-variable -name SectionCommentSection -value "CommentSection" -option constant

# Traces for Discoveries
set-variable -name SectionServerDiscovery -value "ServerDiscovery" -option constant
set-variable -name SectionSmashDiscovery -value "SmashDiscovery" -option constant
set-variable -name SectionRaidDiscovery -value "RaidDiscovery" -option constant
set-variable -name SectionPerformanceDiscovery -value "PerformanceDiscovery" -option constant

# Traces for Monitors
set-variable -name SectionHardwareComponentMonitor -value "HardwareComponentsMonitor" -option constant
set-variable -name SectionComponentStatusMonitor -value "ComponentStatusMonitor" -option constant
set-variable -name SectionRaidMonitor -value "RaidMonitor" -option constant
set-variable -name SectionPerformanceMonitor -value "PerformanceMonitor" -option constant

set-variable -name SectionCommentHosts -value "CommentHosts" -option constant
set-variable -name TagDebugMode -value "DebugMode" -option constant
set-variable -name TagOverWrite -value "OverWrite" -option constant
set-variable -name TagHostsDiscovery -value "HostsForDiscovery" -option constant
set-variable -name TagHostsMonitoring -value "HostsForMonitoring" -option constant

# --------------------------------------------------------------------------
# Global variables = variables, which are changed in different functions ...
# ... and the changed value shall be available in the calling function
# --------------------------------------------------------------------------
$global:DebugMode = $False
$global:DebugFile = $False
$global:OverWrite = $True
$global:DebugHosts = ""
$global:DebugForHost = "$False"
$global:ErrFilePrefix = "ERRORTrace"
$global:WarnFilePrefix = "WARNINGTrace"
$global:LogTargetName = ""
$global:LogFilePrefix = ""
$global:LogFilePath = "$Env:TEMP\SVISCOM\SVISCOM-OutOfBand"
$global:LogFileName = "$LogFilePath\$($LogFilePrefix).log"

$global:MPVERSION = "N/A" # default
$global:MP_NAME = "N/A" # default

# --------------------------------------------------------------------------
Function Set-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
# Load SCOM Extensions if not already done
$OMPSInstallKey = "HKLM:\Software\Microsoft\System Center Operations Manager\12\Setup\Powershell\V2"
$regKey = get-item $OMPSInstallKey
$OMPSInstallPath = $regKey.GetValue("InstallDirectory")
$omModule = $OMPSInstallPath + "OperationsManager"
Import-Module -Name $omModule

$MP = Get-SCOMManagementPack -Name $MpName
if ($MP -ne $Null) {
$MpVersion = "$($MP.Version.Major).$($MP.Version.Minor).$($MP.Version.Build).$($MP.Version.Revision)"
DebugOut "'$($MP.DisplayName)' Management Pack Version is $MpVersion"
try {
if (!(Test-Path -Path $RegistryPath)) {
New-Item -Path $RegistryPath | Out-Null
}
Set-ItemProperty -Path $RegistryPath -Name ( "$($MpName).CurrentVersion") -Value $MpVersion -Type String -ErrorAction Stop
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "Error writing Management Pack CurrentVersion. Exception: $_"
}
}
}
}

Function Get-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)
if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
try {
$regKey = get-item $RegistryPath
$global:MPVERSION = $regKey.GetValue( "$($MpName).CurrentVersion" )
} catch {}
}
}

Function PrepareLogging
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName,
[switch] $CreateSampleLogFile,
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

$global:LogFilePrefix = GiveBaseName $PoShScriptName
$global:LogFileName = "$global:LogFilePath\$($global:LogFilePrefix)Trace_$ServerName.log"
$global:MP_NAME = $MpName

Get-CurrentManagementPackVersion -MpName $MpName

if ($CreateSampleLogFile) {
CreateLogXmlFile
}
if ($global:DebugMode -eq $False) {
GetLogXmlFile $Section $HostTag $ServerName
}

CreateLogFile

#DebugOut "SYSTEMDRIVE = $env:SYSTEMDRIVE"
#DebugOut "TEMP = $env:TEMP"
DebugOut "LogFilePath = $global:LogFilePath"
DebugOut "LogFileName = $global:LogFileName"

$global:LogTargetName = $ServerName
}

Function GiveBaseName
{
Param (
[string] $in
)

$a = $in.split('.')
Write-Output "$($a[0])"
}

Function CreateLogXmlFile
{
$fileOK = $False
$pathOK = $False
$Xm_FileName = "$global:LogFilePath\$SVISCOMLogXm_Name"

# create the target directory, if it does not exist
if ( ! (Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}
if (Test-Path -Path $global:LogFilePath) {
$pathOK = $True
}

if (Test-Path -Path $Xm_FileName) {
$txt = get-content $Xm_FileName
foreach ($line in $txt) {
if ($line.contains($LOGFILE_VERSION)) {
$fileOK = $True
break
}
}
}

if (($pathOK -eq $True) -and ($fileOK -eq $False)) {
# we write a new SVISCOM-OutOfBand.xm_ file every time the MP is changed to make sure all
# INI-Values are documented for use by the customer if anything changes.
if (Test-Path -Path $Xm_FileName) {
Remove-Item -Path $Xm_FileName -Force | Out-Null
}
#Create xm_ file
New-Item -Path $Xm_FileName -ItemType File | Out-Null

Add-Content -Path $Xm_FileName -Value @"
&lt;$SectionRoot&gt;
&lt;!--
$SVISCOMLogXmlName Debug XML file Version $LOGFILE_VERSION

With this file logging for PowerShell scripts within the
- Fujitsu Out-Of-Band Management Pack and
- Optional Extension Management Packs for the Fujitsu Out-Of-Band Management Pack
can be enabled.

Rename the file type from '.xm_' to '.xml' to enable reading this file.

Note: You have to enable debug for a script and also select the server in
the '&lt;$TagHostsDiscovery&gt;' or '&lt;$TagHostsMonitoring&gt;' section to generate traces (see below).

The following sections specify for which PowerShell scripts the traces will be generated;
Each of the sections represents a single PowerShell script.

'&lt;$TagDebugMode&gt;' enables logging (yes) or disables logging (no)
'&lt;$TagOverWrite&gt;' defines continuous logging (no) or single script run logging (yes)
--&gt;
&lt;!-- DISCOVERIES --&gt;
&lt;!-- The following section enables trace files for the Out-Of-Band Server discovery script --&gt;
&lt;$SectionServerDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionServerDiscovery&gt;
&lt;!-- The following section enables trace files for the SMASH device discovery script --&gt;
&lt;$SectionSmashDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionSmashDiscovery&gt;
&lt;!-- The following section enables trace files for the RAID discovery script --&gt;
&lt;$SectionRaidDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidDiscovery&gt;
&lt;!-- The following section enables trace files for the Performance Monitor discovery script --&gt;
&lt;$SectionPerformanceDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceDiscovery&gt;

&lt;!-- MONITORS --&gt;
&lt;!-- The following section enables trace files for the main server Hardware Components (CPU/Memory/Fan/PowerSupply) monitoring script --&gt;
&lt;$SectionHardwareComponentMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionHardwareComponentMonitor&gt;
&lt;!-- The following section enables trace files for the 'Component Status' monitoring script --&gt;
&lt;$SectionComponentStatusMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionComponentStatusMonitor&gt;
&lt;!-- The following section enables trace files for the RAID monitoring script --&gt;
&lt;$SectionRaidMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidMonitor&gt;
&lt;!-- The following section enables trace files for the Performance monitoring script --&gt;
&lt;$SectionPerformanceMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceMonitor&gt;

&lt;!--
The following sections specify for which servers the traces will be generated:

In the '&lt;$TagHostsDiscovery&gt;' and '&lt;$TagHostsMonitoring&gt;' sections
single or multiple servers can be specified for verbose debug output
during the discovery and/or during monitoring.

Use '&lt;$TagHostsDiscovery&gt;' for selecting hosts for the discovery trace.
Use '&lt;$TagHostsMonitoring&gt;' for selecting hosts for the monitoring trace.

Use 'all' (without quote signs) for all Fujitsu Out-Of-Band Servers monitored by SCOM.
Use a single IP address or a comma separated list to select multiple single servers
Example:
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;192.168.1.100,192.168.1.101,192.168.1.102&lt;/$TagHostsMonitoring&gt;

will generate discovery traces for all Fujitsu Out-Of-Band Servers and
will generate monitoring traces only for servers with the IP address
192.168.1.100 192.168.1.101 and 192.168.1.102
--&gt;
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;all&lt;/$TagHostsMonitoring&gt;
&lt;/$SectionRoot&gt;
"
@
}
}

Function GetLogXmlFile
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName
)

$XmlFileName = "$global:LogFilePath\$SVISCOMLogXmlName"
$ListOfHosts = ""

if (Test-Path -Path $global:LogFilePath) {
if (Test-Path -Path $XmlFileName) {
[xml]$xmlfile = Get-Content $XmlFileName

if ($xmlfile.$SectionRoot.$section.$TagDebugMode -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagDebugMode).ToUpper() -eq "YES") {
$global:DebugMode = $True
$global:DebugFile = $True
}
}

if ($xmlfile.$SectionRoot.$section.$TagOverWrite -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagOverWrite).ToUpper() -eq "NO") {
$global:OverWrite = $False
}
}

if ($xmlfile.$SectionRoot.$HostTag -ne $null) {
$global:DebugHosts = $($xmlfile.$SectionRoot.$HostTag).ToLower()
}

# Check if DEBUG shall run for this server.
# There are two possibilities to check: "all" server DEBUG is on or this server is in the list.
if ($global:DebugHosts -eq "all") {
$global:DebugForHost = $True
} else {
# Check if this host is in the list of DebugHosts
$ListOfHosts = $($global:DebugHosts).split(',')
DebugOut "Searching for host: $ServerName"
DebugOut "in list of DebugHosts: $global:DebugHosts"

if ($ServerName.ToLower() -in $ListOfHosts) {
$global:DebugForHost = $True
}
}

} # else file does not exist
} # else directory does not exist
}

Function CreateLogFile
{
# For some reason checking for "$True" with "if ($global:a -and $global:b)" is not evaluated correctly!!!
# It works OK in a test with a simple PS script ... no idea why ... Thus we use:
if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
# Create the target directory, if it does not exist
if (!(Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}

# Check if file exists and delete if it does and OverWrite is set to TRUE
if (Test-Path -Path $global:LogFileName) {
DebugOut ""
DebugOut "Log file already exists at: $global:LogFileName"
if ($global:OverWrite -eq $True) {
Remove-Item -Path $global:LogFileName -Force | Out-Null
}
}
# If the file has just been removed (OverWrite = YES) or the file does not exist: create it
if (!(Test-Path -Path $global:LogFileName)) {
#Create log file
New-Item -Path $global:LogFileName -ItemType File | Out-Null
}

Add-Content -Path $global:LogFileName -Value @"
********** $(Get-Date -Format F) **********`r
********** $($global:LogFileName) **********`r
********** Management Pack '$($global:MP_NAME)' Version: $($global:MPVERSION)`r
"
@
}
}
}

Function DebugOut
{
Param (
[string] $Text
)

if ($global:DebugForHost -eq $True) {
if ($global:DebugMode -eq $True) {
Write-Host $Text
}

if ($global:DebugFile -eq $True) {
if ($global:LogFileName.Length -gt 0) {
if (Test-Path -Path $global:LogFileName) {
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $global:LogFileName -Value "$DateTime $Text"
}
}
}
}
}

Function DebugWarn
{
Param (
[string] $Text
)

DebugOut "Warning: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$WarnLogFile = "$global:LogFilePath\$($WarnFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $WarnLogFile -Value "[$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}

Function DebugErr
{
Param (
[int] $ErrNo,
[string] $Text
)

DebugOut "Error: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$ErrLogFile = "$global:LogFilePath\$($ErrFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $ErrLogFile -Value "[$($ErrNo)] [$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}




Main
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>UserName</Name>
<Value>$Config/UserName$</Value>
</Parameter>
<Parameter>
<Name>Password</Name>
<Value>$Config/Password$</Value>
</Parameter>
<Parameter>
<Name>ManagementUrl</Name>
<Value>$Config/ManagementUrl$</Value>
</Parameter>
<Parameter>
<Name>TimeoutSeconds</Name>
<Value>$Config/TimeoutSeconds$</Value>
</Parameter>
<Parameter>
<Name>SkipCACheck</Name>
<Value>$Config/SkipCACheck$</Value>
</Parameter>
<Parameter>
<Name>SkipCNCheck</Name>
<Value>$Config/SkipCNCheck$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling>
</ProbeAction>
<!-- Full match for component status instances: ID && SensorType && EntityId && EntityInstance -->
<ConditionDetection ID="FilterInstance" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='ID']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='SensorType']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/SensorType$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='EntityId']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/EntityId$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='EntityInstance']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/EntityInstance$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="FilterInstance">
<Node ID="PSScript">
<Node ID="Scheduler" />
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.PropertyBagData</OutputType>
</DataSourceModuleType>
<DataSourceModuleType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.DataSource" Accessibility="Public" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="StrictErrorHandling" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element minOccurs="1" name="UserName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Password" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ManagementUrl" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCACheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCNCheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="UseComponentStatus" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Hardware Component key/identifiers -->
<xsd:element minOccurs="1" name="ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Host_ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters></OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="Scheduler" TypeID="System!System.SimpleScheduler">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
</DataSource>
<ProbeAction ID="PSScript" TypeID="Windows!Microsoft.Windows.PowerShellPropertyBagTriggerOnlyProbe">
<ScriptName>$Config/ScriptName$</ScriptName>
<ScriptBody><Script>
##################################################################################
# #
# NOTICE #
# #
# COPYRIGHT 2014 - 2016 Fujitsu Technology Solutions #
# ALL RIGHTS RESERVED #
# #
# This computer program is CONFIDENTIAL and contains TRADE SECRETS of #
# Fujitsu Technology Solutions. The receipt or possession of this program does #
# not convey any rights to reproduce or disclose its contents, or to #
# manufacture, use, or sell anything that it may describe, in whole or #
# in part, without the specific written consent of Fujitsu Technology Solutions. #
# Any reproduction of this program without the express written consent #
# of Fujitsu Technology Solutions is a violation of the copyright laws and may #
# subject you to civil liability and criminal prosecution. #
# #
##################################################################################


# This script collects all Hardware component status information from the iRMC
# System Report.
# If specified, the matching component status information is evaluated first and only
# if this is not desired or not supported the original iRMC System Report sections are
# evaluated instead.
# For cookdown the component identifier as well as the hoster's ID and a mapped HealthStatus
# property bag are returned and filtered afterwards for the specific Hardware component

param(
[int] $TimeoutSeconds = 200,
[string]$UserName,
[string]$Password,
[string]$ManagementUrl,
[string]$SkipCACheck = "False",
[string]$SkipCNCheck = "False",
[string]$UseComponentStatus = "True"
)

$ScriptApi = New-Object -comObject "MOM.ScriptAPI"
if ($ScriptApi -eq $Null) { Exit -1 }

# set CONSTANT variables (can not be changed):
set-variable -name PoShScriptName -value "HardwareComponentHealth.ps1" -option constant

# Note: Keep in sync with discovery script (Host_ID as $groupName)
$ProcessorGroupName = 'Processors'
$MemoryGroupName = 'Memory'
$FanGroupName = 'Fans (Cooling)'
$PowerSupplyGroupName = 'Power Supplies'
$MainboardName = 'Mainboard'

[int]$SCRIPT_EVENT_NUMBER = 8011 # a prime number...

# Note: Keep in sync with discovery
[int]$ERROR_NO_MEMORY_INFORMATION = 8059 # a prime
[int]$ERROR_NO_PROCESSOR_INFORMATION = 8069 # a prime
[int]$ERROR_NO_COMPONENT_STATUS_INFORMATION = 8089 # a prime

[int]$ERROR_NO_POWER_SUPPLY_INFORMATION = 8079 # not a prime
[int]$ERROR_NO_FAN_INFORMATION = 8049 # not a prime

&lt;#
# iRMC Component Status Values
[int]$COMPONENT_STATUS_OK = 0
[int]$COMPONENT_STATUS_IDENTIFY = 1
[int]$COMPONENT_STATUS_PREFAIL = 2
[int]$COMPONENT_STATUS_FAIL = 3
[int]$COMPONENT_STATUS_NOT_AVAILABLE = 0xFD
[int]$COMPONENT_STATUS_NOT_PRESENT = 0xFE
[int]$COMPONENT_STATUS_UNKNOWN = 0xFF
#&gt;

# iRMC Component Status Values mapped to SCCI Values
[int]$CMV_COMPSTATSIG_OK = 0x00
[int]$CMV_COMPSTATSIG_IDENTIFY = 0x01
[int]$CMV_COMPSTATSIG_PREFAIL = 0x02
[int]$CMV_COMPSTATSIG_FAIL = 0x03
[int]$CMV_COMPSTATSIG_NOTPRESENT = 0x04

[bool]$propertyBagReturned = $False
[bool]$HaveComponentStatus = $False

[xml]$xml = New-Object XML
[System.Xml.XmlElement]$elem = $Null

$hostURL = $ManagementUrl

# Extract the IP from the ManagementUrl
$IP = $ManagementUrl.Substring(0, $ManagementUrl.LastIndexOf(":")).ToUpper().TrimStart("HTTPS://")

# we need to make multiple authenticated HTTP requests...
[System.Net.NetworkCredential]$NetworkCredential = New-Object System.Net.NetworkCredential ($username, $password)
[System.Net.ServicePointManager]::DefaultConnectionLimit = 1000

# Strip any potential garbage at the and of the XML string
Function Clean-XmlString ([string]$xmlString, [string]$endTag) {
if ($xmlString.contains( $endTag )) {
$xmlString.TrimEnd( $xmlString.Substring( ($xmlString.IndexOf($endTag) +$endTag.Length) ))
} else {
$xmlString
}
}

Function Main {
PrepareLogging -Section $SectionHardwareComponentMonitor -HostTag $TagHostsMonitoring -ServerName $IP -MpName "Fujitsu.Servers.PRIMERGY.OutOfBand"

DebugOut "$IP - Hardware Component Monitoring for Fujitsu Out-Of-Band Server - start"
DebugOut "$IP - ManagementUrl=$ManagementUrl UseComponentStatus=$UseComponentStatus TimeoutSeconds=$TimeoutSeconds SkipCACheck=$SkipCACheck SkipCNCheck=$SkipCNCheck"

[int]$RequestTimeout = $DEFAULT_REQUEST_TIMEOUT

try {

# Get all Component Status information (also contains CPU/Memory/Fan/PSU)
if ($UseComponentStatus -eq $True) {

if ($TimeoutSeconds -lt $DEFAULT_REQUEST_TIMEOUT){
$RequestTimeout = $TimeoutSeconds
}

[System.Timespan]$aTimeSpan = Measure-Command {
DebugOut "$IP - Reading $($hostURL)/report.xml?Item=System/Components (RequestTimeout=$RequestTimeout) ..."
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Components") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $RequestTimeout
}

# Subtract this requests's time from overall
$TimeoutSeconds = ($TimeoutSeconds - [int]$aTimeSpan.TotalSeconds)

if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )

$BmcFirmwareVersion = $xml.Root.GetAttribute("Version")
DebugOut "$IP - Firmware Version: $BmcFirmwareVersion "

[System.Xml.XmlElement]$compinst = $xml.Root.System.Components
if ($compInst -ne $Null -and $compInst.HasChildNodes) {
$HaveComponentStatus = $True
}
} catch {
# Note: will use hardware information instead later on
DebugWarn "$IP - Could not process Component Status information. Exception=$_"
}
} else {
# No response or garbage ...
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_COMPONENT_STATUS_INFORMATION -Message ("Component Status Information not available")
DebugWarn "$IP - Component Status Information not available"
}
}

if ( ($UseComponentStatus -eq $True) -and ($HaveComponentStatus -eq $True) ) {
DebugOut "$IP - Using Component Status Information for hardware component status"

# CPU/Memory/Fan/Power Supply instances also have an associated per instance component status
foreach ($elem in $compinst.Component) {
# Workaround for 'exotic' problem where component status information has partial switched language due to long processing time.
# Use numeric value instead of text (Description / Beschreibung / 説明)
$StatusVal = $elem.Status.InnerText

if ($StatusVal -ne $Null -and $StatusVal -ne $CMV_COMPSTATSIG_NOTPRESENT ) {
$propertyBag = $ScriptApi.CreatePropertyBag()

# Map numeric SCCI Component Status to health status
switch ($StatusVal) {
$CMV_COMPSTATSIG_OK {$HealthStatus = 'OK' }
$CMV_COMPSTATSIG_PREFAIL {$HealthStatus = 'Warning'}
$CMV_COMPSTATSIG_FAIL {$HealthStatus = 'Error' }
default {$HealthStatus = 'Unknown'}
}

# Simulated hoster ID
switch ($elem.SensorType) {
'Memory' {$Host_ID = $MemoryGroupName }
'Processor' {$Host_ID = $ProcessorGroupName }
'Fan' {$Host_ID = $FanGroupName }
'Power Supply' {$Host_ID = $PowerSupplyGroupName }
default {$Host_ID = 'Other' }
}

# Properties to identify this component status instance
$propertyBag.AddValue('ID' , $elem.Name)
$propertyBag.AddValue('Host_ID' , $Host_ID)
$propertyBag.AddValue('HealthStatus' , $HealthStatus)

DebugOut "$IP - Component Status '$($elem.Name)' SensorType='$($elem.SensorType)' Host_ID='$($Host_ID)' Status='$($StatusVal)' HealthStatus='$($HealthStatus)'"

#Return each property bag as we create and populate it.
$propertyBag
$propertyBagReturned = $True
} else {
DebugOut "$IP - Component Status '$($elem.Name)' Status: 'Not Present'"
}
}
}

if ($HaveComponentStatus -eq $False) {
# we need to make request for CPU/Memory/Fans/PSU, divide remaining or total time equally
if ($TimeoutSeconds -gt 0) {
$RequestTimeout = $TimeoutSeconds / 4
} else {
$RequestTimeout = $DEFAULT_REQUEST_TIMEOUT
}

DebugOut "$IP - No Component Status information available - reading standard System Report (TimeoutSeconds=$TimeoutSeconds)"

DebugOut "$IP - Reading $($hostURL)/report.xml?Item=System/Processor (RequestTimeout=$RequestTimeout) ..."
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Processor") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $RequestTimeout
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
[System.Xml.XmlElement]$cpuinst = $xml.Root.System.Processor
} catch {
DebugErr $ERROR_NO_PROCESSOR_INFORMATION "$IP - Could not process Processor information. Exception=$_"
}
} else {
# Every server has one or more processor(s)
DebugErr $ERROR_NO_PROCESSOR_INFORMATION "$IP - Processor Information not available"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_PROCESSOR_INFORMATION -Message ("Processor Information not available")
}

DebugOut "$IP - Reading $($hostURL)/report.xml?Item=System/Memory (RequestTimeout=$RequestTimeout) ..."
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Memory") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $RequestTimeout
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
[System.Xml.XmlElement]$meminst = $xml.Root.System.Memory
} catch {
DebugErr $ERROR_NO_MEMORY_INFORMATION "$IP - Could not process Memory information. Exception=$_"
}
} else {
# Every server has one or more memory modules(s)
DebugErr $ERROR_NO_MEMORY_INFORMATION "$IP - Memory Information not available"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_MEMORY_INFORMATION -Message ("Memory Information not available")
}

DebugOut "$IP - Reading $($hostURL)/report.xml?Item=System/Fans (RequestTimeout=$RequestTimeout) ..."
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Fans") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $RequestTimeout
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
[System.Xml.XmlElement]$faninst = $xml.Root.System.Fans
} catch {
DebugErr $ERROR_NO_FAN_INFORMATION "$IP - Could not process Fan information. Exception=$_"
}
} else {
# Fans are optional, but the returned XML fragment should not be empty and should contain Root...
DebugErr $ERROR_NO_FAN_INFORMATION "$IP - Fan Information not available"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_FAN_INFORMATION -Message ("Fan Information not available")
}

DebugOut "$IP - Reading $($hostURL)/report.xml?Item=System/PowerSupplies (RequestTimeout=$RequestTimeout) ..."
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/PowerSupplies") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $RequestTimeout
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
[System.Xml.XmlElement]$psuinst = $xml.Root.System.PowerSupplies
} catch {
DebugErr $ERROR_NO_POWER_SUPPLY_INFORMATION "$IP - Could not process Power Supply information. Exception=$_"
}
} else {
# Power Supplies are optional, but the returned XML fragment should not be empty and should contain Root...
DebugErr $ERROR_NO_POWER_SUPPLY_INFORMATION "$IP - Power Supply Information not available"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_POWER_SUPPLY_INFORMATION -Message ("Power Supply Information not available")
}
}

if ($HaveComponentStatus -eq $False) {
DebugOut "$IP - No Component Status information available - evaluating standard System Report"

# Processors
if ($cpuinst -ne $Null) {
try {
foreach ($elem in $cpuinst.CPU) {
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - CPU '$($elem.SocketDesignation)' Status: $Status"
if ($Status -ne "empty") {
$propertyBag = $ScriptApi.CreatePropertyBag()
$propertyBag.AddValue('ID' , $elem.SocketDesignation)
$propertyBag.AddValue('Host_ID', $ProcessorGroupName) # Group Hoster

switch ($Status) {
'ok' {$propertyBag.AddValue('HealthStatus', "OK") }
'disabled' {$propertyBag.AddValue('HealthStatus', "OK") } # TODO: Check!
'fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'error' {$propertyBag.AddValue('HealthStatus', "Error") }
'pre-failure' {$propertyBag.AddValue('HealthStatus', "Warning")}
default {$propertyBag.AddValue('HealthStatus', "Unknown")}
}

#Return each property bag as we create and populate it.
$propertyBag
$propertyBagReturned = $True
}
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Processor Health: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Processor Health: Exception=$_")
}
}

# Memory Modules
if ($meminst -ne $Null ) {
try {
foreach ($elem in $meminst.Modules.Module) {
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Memory '$($elem.Name)' Status: $Status"
if ( $Status -ne "empty" -and $Status -ne "hidden") {
$propertyBag = $ScriptApi.CreatePropertyBag()
$propertyBag.AddValue('ID' , $elem.Name)
$propertyBag.AddValue('Host_ID', $MemoryGroupName) # Group Hoster

switch ($Status) {
'ok' {$propertyBag.AddValue('HealthStatus', "OK") }
'disabled' {$propertyBag.AddValue('HealthStatus', "OK") } # TODO: Check!
'fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'error' {$propertyBag.AddValue('HealthStatus', "Error") }
'pre-failure' {$propertyBag.AddValue('HealthStatus', "Warning")}
default {$propertyBag.AddValue('HealthStatus', "Unknown")}
}
#Return each property bag as we create and populate it.
$propertyBag
$propertyBagReturned = $True
}
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Memory Health: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Memory Health: Exception=$_")
}
}

# Fans
if ($faninst -ne $Null -and $faninst.Count -ne 0) {
try {
foreach ($elem in $faninst.Fan) {
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Fan '$($elem.Name)' Status: $Status"
if ( $Status -ne "not present") {
$propertyBag = $ScriptApi.CreatePropertyBag()
$propertyBag.AddValue('ID' , $elem.Name) # Element Key
$propertyBag.AddValue('Host_ID', $FanGroupName) # Hoster Key

switch ($Status) {
'ok' {$propertyBag.AddValue('HealthStatus', "OK") }
'disabled' {$propertyBag.AddValue('HealthStatus', "OK") } # TODO: Check!
'fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'error' {$propertyBag.AddValue('HealthStatus', "Error") }
'pre-failure' {$propertyBag.AddValue('HealthStatus', "Warning")}
'redundant-fail' {$propertyBag.AddValue('HealthStatus', "Warning")}
'not manageable' {$propertyBag.AddValue('HealthStatus', "Unknown")} # Power Off
default {$propertyBag.AddValue('HealthStatus', "Unknown")}
}
#Return each property bag as we create and populate it.
$propertyBag
$propertyBagReturned = $True
}
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Fan Health: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Fan Health: Exception=$_")
}
} else {
# Fans are optional (Blade)
DebugOut "$IP - No Fan Information available"
}

# Power Supplies
if ($psuinst -ne $Null -and $psuinst.Count -ne 0) {
try {
foreach ($elem in $psuinst.PowerSupply) {
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Power Supply '$($elem.Name)' Status: $Status"
if ($ComponentId -eq $elem.Name -and $Status -ne "not present") {
$propertyBag = $ScriptApi.CreatePropertyBag()
$propertyBag.AddValue('ID' , $elem.Name) # Element Key
$propertyBag.AddValue('Host_ID', $PowerSupplyGroupName) # Hoster Key

switch ($Status) {
'ok' {$propertyBag.AddValue('HealthStatus', "OK") }
'Power Save Mode' {$propertyBag.AddValue('HealthStatus', "OK") }

'fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'Non red AC fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'Non red DC fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'Fan fail' {$propertyBag.AddValue('HealthStatus', "Error") }
'Temp critical' {$propertyBag.AddValue('HealthStatus', "Error") }

'AC fail' {$propertyBag.AddValue('HealthStatus', "Warning")} # Redundant PSU
'DC fail' {$propertyBag.AddValue('HealthStatus', "Warning")} # Redundant PSU
'Fan prefailure' {$propertyBag.AddValue('HealthStatus', "Warning")}

'Not manageable' {$propertyBag.AddValue('HealthStatus', "Unknown")} # Power Off
'not available' {$propertyBag.AddValue('HealthStatus', "Unknown")} # Power Off
default {$propertyBag.AddValue('HealthStatus', "Unknown")}
}
#Return each property bag as we create and populate it.
$propertyBag
$propertyBagReturned = $True
}
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Power Supply Health: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Power Supply Health: Exception=$_")
}
} else {
# Power Supplies are optional (Blade)
DebugOut "$IP - No Power Supply Information available"
}

}

} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Hardware Component Health: Generic Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Hardware Component Health: Generic Exception=$_")
}

if ($propertyBagReturned -eq $False) {
# Return empty property bag if something went wrong
$propertyBag = $ScriptApi.CreatePropertyBag()
$propertyBag
}

DebugOut "$IP - Hardware Component Monitoring for Fujitsu Out-Of-Band Server - finished"
}
# This script part contains helper functions to perform web based requests
# and is embedded into the final script via Visual Studio Authoring Extensions

[int]$DEFAULT_REQUEST_TIMEOUT = 30 # seconds
[int]$DEFAULT_RETRY_INCREMENT = 10 # seconds
[int]$MAX_REQUEST_RETRIES = 3

[int]$ERROR_SSL_CA_ERROR = 8399 # is not a prime
[int]$ERROR_SSL_CN_ERROR = 8499 # is not a prime

[int]$ERROR_BMC_NO_RESPONSE = 8599 # is a prime
[int]$ERROR_BMC_NO_ACCESS = 8699 # is a prime
[int]$ERROR_BMC_TIMEOUT = 8799 # is not a prime
[int]$ERROR_BMC_BUSY = 8999 # is a prime

# Subset of possible HTTP error codes
[int]$HTTP_RC_CONTINUE = 100
[int]$HTTP_RC_OK = 200
[int]$HTTP_RC_CREATED = 201
[int]$HTTP_RC_ACCEPTED = 202
[int]$HTTP_RC_NO_CONTENT = 204
[int]$HTTP_RC_RESET_CONTENT = 205
[int]$HTTP_RC_PARTIAL_CONTENT = 206

[int]$HTTP_RC_MULTIPLE_CHOICES = 300
[int]$HTTP_RC_MOVED_PERMANENTLY = 301
[int]$HTTP_RC_MOVED_TEMPORARILY = 302
[int]$HTTP_RC_NOT_MODIFIED = 304
[int]$HTTP_RC_BAD_REQUEST = 400
[int]$HTTP_RC_UNAUTHORIZED = 401
[int]$HTTP_RC_FORBIDDEN = 403
[int]$HTTP_RC_NOT_FOUND = 404
[int]$HTTP_RC_METHOD_NOT_ALLOWED = 405
[int]$HTTP_RC_NOT_ACCEPTABLE = 406
[int]$HTTP_RC_REQ_TIMEOUT = 408

[int]$HTTP_RC_SERVER_ERROR = 500
[int]$HTTP_RC_NOT_IMPLEMENTED = 501
[int]$HTTP_RC_SERVICE_UNAVAILABLE = 503

[bool]$global:SSL_CA_ERROR = $False
[bool]$global:SSL_CN_ERROR = $False
[bool]$global:SSL_NO_CERT_ERROR = $False


$SslCertificateValidator =
{
Param (
[System.Object] $obj,
[System.Security.Cryptography.X509Certificates.X509Certificate] $certificate,
[System.Security.Cryptography.X509Certificates.X509Chain] $chain,
[System.Net.Security.SslPolicyErrors] $errors
)

if ($errors -eq [System.Net.Security.SslPolicyErrors]::None) {
return $True
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateChainErrors) -and ($SkipCACheck -eq $False)) {
$global:SSL_CA_ERROR = $True
return $False
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNameMismatch) -and ($SkipCNCheck -eq $False)) {
$global:SSL_CN_ERROR = $True
return $False
}

# No cert provided
if ($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNotAvailable) {
$global:SSL_NO_CERT_ERROR = $True
return $False
}

# All checks passed
return $True
}

# Will return $Null on error
Function DoWebRequest(
[String]$url,
[string]$Method = "GET",
[System.Net.NetworkCredential]$Credentials = $NetworkCredential ,
[String]$requestData = $Null,
[int] $RequestTimeout = $DEFAULT_REQUEST_TIMEOUT,
[string]$AuthType = "Basic"
)
{
[int]$retries = 0;
for ($retries = 0; $retries -lt $MAX_REQUEST_RETRIES; $retries++) {
try {
[string]$errorMsg = $Null

$global:SSL_CN_ERROR = $False
$global:SSL_CA_ERROR = $False
$global:SSL_NO_CERT_ERROR = $False

$webRequest = [System.Net.WebRequest]::Create($url)
if ($Credentials -ne $Null) {
if ($AuthType -eq "Basic") {
# Do not wait for the 401 response, send the credentials with the initial request
$AuthData = [Convert]::ToBase64String([Text.Encoding]::Default.GetBytes($Credentials.UserName + ':' + $Credentials.Password));
$webRequest.Headers.Add('Authorization', "Basic $AuthData")

$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $False
$webRequest.KeepAlive = $False # make sure the connection is not re-used
} else {
$webRequest.Credentials = $Credentials
$webRequest.PreAuthenticate = $True
}
} else {
$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
}
# $webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $false

$webRequest.Timeout = ($RequestTimeout *1000)
$webRequest.ReadWriteTimeout = ($RequestTimeout *1000)
$webRequest.Method = $Method
$webRequest.Accept = "*/*"
$webRequest.KeepAlive = $False # make sure the connection is not re-used
try {
$webRequest.ServicePoint.ConnectionLimit = 1000
$webRequest.ServicePoint.ConnectionLeaseTimeout = 0 # Close Connection after servicing a request
$webRequest.ServicePoint.MaxIdleTime = 1 # in MilliSeconds, close connection afterwards
$webRequest.ServerCertificateValidationCallback = $SslCertificateValidator
} catch {
DebugErr 9999 "$IP - '$url' - Could not set extended config Exception=$_"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = $SslCertificateValidator
}

if ($requestData.Length -gt 0) {
$buffer = [System.Text.Encoding]::UTF8.GetBytes($requestData)
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
}

[System.Timespan]$resTime = Measure-Command {

try {
$webResponse= $webRequest.GetResponse()
} catch [System.Net.WebException] {
$webResponse = $_.Exception.Response
$errorMsg = $_.Exception.Message
$stackTrace = $_.Exception.StackTrace
$innerException = $_.Exception.InnerException
} catch {
$webResponse = $Null
}
}

if ($webResponse -ne $Null) {
[string]$Location = $webResponse.GetResponseHeader("Location") # $webResponse.Headers.Get("Location")
[string]$Server = $webResponse.GetResponseHeader("Server") # $webResponse.Headers.Get("Server")
[System.Net.HttpStatusCode] $statusCode = $($webResponse.StatusCode.value__)

if ( $global:iRMCDetected -eq $False ){
if ($Server -match "iRMC") {
$global:iRMCDetected = $True
}
}
$responseStream = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $responseStream.ReadToEnd()
$responseStream.Close()
$webResponse.Close()

switch ( $($webResponse.StatusCode.value__) ) {
$HTTP_RC_OK { # 200
DebugOut "$IP - $url request handled within $($resTime.TotalSeconds) seconds..."
return $result
}
$HTTP_RC_MOVED_PERMANENTLY { # 301
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_MOVED_TEMPORARILY { # 302
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_UNAUTHORIZED { # 401
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
return
}
$HTTP_RC_FORBIDDEN { # 403
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("No permission (403)")
return
}
$HTTP_RC_NOT_FOUND { # 404
return
}
$HTTP_RC_SERVER_ERROR { # 500
return
}
$HTTP_RC_NOT_IMPLEMENTED { # 501
return
}
$HTTP_RC_SERVICE_UNAVAILABLE { # 503
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_BUSY -Message ("iRMC is too busy (503)")
DebugErr $ERROR_BMC_BUSY "$IP - '$url' - iRMC is too busy to handle request"
return
}

default {
return $result
}
}
} else {

# Check for SSL related errors
if ($global:SSL_CN_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CN_ERROR -Message ("Certificate Common Name (CN) Mismatch")
DebugOut "$IP - $url Certificate Name (CN) Mismatch ..."
return
} elseif ($global:SSL_CA_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CA_ERROR -Message ("Certificate Authority (CA) or Certificate Chain Error")
DebugOut "$IP - $url Certificate Authority (CA) or Chain Error ..."
return
} elseif ($global:SSL_NO_CERT_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_ERROR -Message ("No Certificate present")
DebugOut "$IP - $url No Certificate present ..."
return
}

# no response (object), check for the timeout value.
# If the connection gets closed during early send/receive,
# this is typically within a few seconds, otherwise the configured timeout will have expired
if ($resTime -ne $Null -and [int]$resTime.TotalSeconds -lt 5) {
[int]$retryDelay = (($retries +1) * $DEFAULT_RETRY_INCREMENT)
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response / connection closed ")
if ($errorMsg -ne $Null) { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds ($errorMsg)"}
else { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds (no details available)"}
if ($innerException -ne $Null) { DebugWarn "InnerException:`r`n$innerException" }
if ($stackTrace -ne $Null ) { DebugWarn "Stack Trace:`r`n$stackTrace" }
Start-Sleep -Seconds $retryDelay
} else {
# Note: do no report actual timeout seconds here, or alert suppression will not fully work due to different text
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_TIMEOUT -Message ("'$url' no response. Timeout was $RequestTimeout seconds")
DebugOut "$IP - '$url' no response within $($resTime.TotalSeconds) seconds. Timeout was $RequestTimeout seconds"
return
}
}
} catch {
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("'$url' generic Exception=$_")
DebugWarn "$IP - '$url' generic Exception=$_"
}
}
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response after $retries retries (last error: $errorMsg)")
DebugOut "$IP - '$url' no response after $retries retries (last error: $errorMsg)"
}



# This script part contains helper functions to perform various logging activities
# and is embedded into the final script via Visual Studio Authoring Extensions

# Log an event into the registry, Source will be 'Health Service Script'
# See https://msdn.microsoft.com/en-us/library/bb437630.aspx
[int]$WARNING_LEVEL = 2
[int]$ERROR_LEVEL = 1
[int]$INFO_LEVEL = 0

$LOGFILE_VERSION = 8.1.0.0

# Generic version
Function RaiseEvent {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)

$channel = "Operations Manager"

if ([System.Diagnostics.EventLog]::SourceExists($EventSource) -eq $False) {
try {
[System.Diagnostics.EventLog]::CreateEventSource($EventSource, $channel)
} catch {

}
}

$eventLog = new-object System.Diagnostics.EventLog -ArgumentList @($channel)
$eventLog.Source = $EventSource

$eventData = @()
$eventData += $EventSource
$eventData += $Message
$eventData += $PoShScriptName

# Note: map different enum values
if($EventLevel -eq $INFO_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Information
} elseif($EventLevel -eq $WARNING_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Warning
} elseif($EventLevel -eq $ERROR_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Error
}

$eventInstance = new-object System.Diagnostics.EventInstance -ArgumentList @($EventNumber, 0, $EventLevel)
$eventLog.WriteEvent($eventInstance, $eventData)
}

Function LogScriptEventWithEventSource {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
DebugOut "Writing Event $($EventNumber) Level=($EventLevel) Source='$($EventSource)' Message='$($Message)'"
if ($ScriptApi -ne $Null) {
$ScriptApi.LogScriptEvent($EventSource, $EventNumber, $EventLevel, $Message)
}
}

# Backwards compatible wrapper
Function LogScriptEvent {
Param (
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
# Note: Log will be written always with Event Source 'Health Service Script'
if ($ScriptApi -ne $Null) {
# Note: do not use actual script name to consolidate Alert Suppression from parallel scripts
$ScriptApi.LogScriptEvent("Fujitsu Out-Of-Band", $EventNumber, $EventLevel, $Message)
# $ScriptApi.LogScriptEvent($PoShScriptName, $EventNumber, $EventLevel, $Message)
}
}

# set CONSTANT variables (can not be changed):
set-variable -name SVISCOMLogXmlName -value "SVISCOM-OutOfBand.xml" -option constant
set-variable -name SVISCOMLogXm_Name -value "SVISCOM-OutOfBand.xm_" -option constant
set-variable -name SectionRoot -value "root" -option constant
set-variable -name SectionCommentSection -value "CommentSection" -option constant

# Traces for Discoveries
set-variable -name SectionServerDiscovery -value "ServerDiscovery" -option constant
set-variable -name SectionSmashDiscovery -value "SmashDiscovery" -option constant
set-variable -name SectionRaidDiscovery -value "RaidDiscovery" -option constant
set-variable -name SectionPerformanceDiscovery -value "PerformanceDiscovery" -option constant

# Traces for Monitors
set-variable -name SectionHardwareComponentMonitor -value "HardwareComponentsMonitor" -option constant
set-variable -name SectionComponentStatusMonitor -value "ComponentStatusMonitor" -option constant
set-variable -name SectionRaidMonitor -value "RaidMonitor" -option constant
set-variable -name SectionPerformanceMonitor -value "PerformanceMonitor" -option constant

set-variable -name SectionCommentHosts -value "CommentHosts" -option constant
set-variable -name TagDebugMode -value "DebugMode" -option constant
set-variable -name TagOverWrite -value "OverWrite" -option constant
set-variable -name TagHostsDiscovery -value "HostsForDiscovery" -option constant
set-variable -name TagHostsMonitoring -value "HostsForMonitoring" -option constant

# --------------------------------------------------------------------------
# Global variables = variables, which are changed in different functions ...
# ... and the changed value shall be available in the calling function
# --------------------------------------------------------------------------
$global:DebugMode = $False
$global:DebugFile = $False
$global:OverWrite = $True
$global:DebugHosts = ""
$global:DebugForHost = "$False"
$global:ErrFilePrefix = "ERRORTrace"
$global:WarnFilePrefix = "WARNINGTrace"
$global:LogTargetName = ""
$global:LogFilePrefix = ""
$global:LogFilePath = "$Env:TEMP\SVISCOM\SVISCOM-OutOfBand"
$global:LogFileName = "$LogFilePath\$($LogFilePrefix).log"

$global:MPVERSION = "N/A" # default
$global:MP_NAME = "N/A" # default

# --------------------------------------------------------------------------
Function Set-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
# Load SCOM Extensions if not already done
$OMPSInstallKey = "HKLM:\Software\Microsoft\System Center Operations Manager\12\Setup\Powershell\V2"
$regKey = get-item $OMPSInstallKey
$OMPSInstallPath = $regKey.GetValue("InstallDirectory")
$omModule = $OMPSInstallPath + "OperationsManager"
Import-Module -Name $omModule

$MP = Get-SCOMManagementPack -Name $MpName
if ($MP -ne $Null) {
$MpVersion = "$($MP.Version.Major).$($MP.Version.Minor).$($MP.Version.Build).$($MP.Version.Revision)"
DebugOut "'$($MP.DisplayName)' Management Pack Version is $MpVersion"
try {
if (!(Test-Path -Path $RegistryPath)) {
New-Item -Path $RegistryPath | Out-Null
}
Set-ItemProperty -Path $RegistryPath -Name ( "$($MpName).CurrentVersion") -Value $MpVersion -Type String -ErrorAction Stop
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "Error writing Management Pack CurrentVersion. Exception: $_"
}
}
}
}

Function Get-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)
if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
try {
$regKey = get-item $RegistryPath
$global:MPVERSION = $regKey.GetValue( "$($MpName).CurrentVersion" )
} catch {}
}
}

Function PrepareLogging
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName,
[switch] $CreateSampleLogFile,
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

$global:LogFilePrefix = GiveBaseName $PoShScriptName
$global:LogFileName = "$global:LogFilePath\$($global:LogFilePrefix)Trace_$ServerName.log"
$global:MP_NAME = $MpName

Get-CurrentManagementPackVersion -MpName $MpName

if ($CreateSampleLogFile) {
CreateLogXmlFile
}
if ($global:DebugMode -eq $False) {
GetLogXmlFile $Section $HostTag $ServerName
}

CreateLogFile

#DebugOut "SYSTEMDRIVE = $env:SYSTEMDRIVE"
#DebugOut "TEMP = $env:TEMP"
DebugOut "LogFilePath = $global:LogFilePath"
DebugOut "LogFileName = $global:LogFileName"

$global:LogTargetName = $ServerName
}

Function GiveBaseName
{
Param (
[string] $in
)

$a = $in.split('.')
Write-Output "$($a[0])"
}

Function CreateLogXmlFile
{
$fileOK = $False
$pathOK = $False
$Xm_FileName = "$global:LogFilePath\$SVISCOMLogXm_Name"

# create the target directory, if it does not exist
if ( ! (Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}
if (Test-Path -Path $global:LogFilePath) {
$pathOK = $True
}

if (Test-Path -Path $Xm_FileName) {
$txt = get-content $Xm_FileName
foreach ($line in $txt) {
if ($line.contains($LOGFILE_VERSION)) {
$fileOK = $True
break
}
}
}

if (($pathOK -eq $True) -and ($fileOK -eq $False)) {
# we write a new SVISCOM-OutOfBand.xm_ file every time the MP is changed to make sure all
# INI-Values are documented for use by the customer if anything changes.
if (Test-Path -Path $Xm_FileName) {
Remove-Item -Path $Xm_FileName -Force | Out-Null
}
#Create xm_ file
New-Item -Path $Xm_FileName -ItemType File | Out-Null

Add-Content -Path $Xm_FileName -Value @"
&lt;$SectionRoot&gt;
&lt;!--
$SVISCOMLogXmlName Debug XML file Version $LOGFILE_VERSION

With this file logging for PowerShell scripts within the
- Fujitsu Out-Of-Band Management Pack and
- Optional Extension Management Packs for the Fujitsu Out-Of-Band Management Pack
can be enabled.

Rename the file type from '.xm_' to '.xml' to enable reading this file.

Note: You have to enable debug for a script and also select the server in
the '&lt;$TagHostsDiscovery&gt;' or '&lt;$TagHostsMonitoring&gt;' section to generate traces (see below).

The following sections specify for which PowerShell scripts the traces will be generated;
Each of the sections represents a single PowerShell script.

'&lt;$TagDebugMode&gt;' enables logging (yes) or disables logging (no)
'&lt;$TagOverWrite&gt;' defines continuous logging (no) or single script run logging (yes)
--&gt;
&lt;!-- DISCOVERIES --&gt;
&lt;!-- The following section enables trace files for the Out-Of-Band Server discovery script --&gt;
&lt;$SectionServerDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionServerDiscovery&gt;
&lt;!-- The following section enables trace files for the SMASH device discovery script --&gt;
&lt;$SectionSmashDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionSmashDiscovery&gt;
&lt;!-- The following section enables trace files for the RAID discovery script --&gt;
&lt;$SectionRaidDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidDiscovery&gt;
&lt;!-- The following section enables trace files for the Performance Monitor discovery script --&gt;
&lt;$SectionPerformanceDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceDiscovery&gt;

&lt;!-- MONITORS --&gt;
&lt;!-- The following section enables trace files for the main server Hardware Components (CPU/Memory/Fan/PowerSupply) monitoring script --&gt;
&lt;$SectionHardwareComponentMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionHardwareComponentMonitor&gt;
&lt;!-- The following section enables trace files for the 'Component Status' monitoring script --&gt;
&lt;$SectionComponentStatusMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionComponentStatusMonitor&gt;
&lt;!-- The following section enables trace files for the RAID monitoring script --&gt;
&lt;$SectionRaidMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidMonitor&gt;
&lt;!-- The following section enables trace files for the Performance monitoring script --&gt;
&lt;$SectionPerformanceMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceMonitor&gt;

&lt;!--
The following sections specify for which servers the traces will be generated:

In the '&lt;$TagHostsDiscovery&gt;' and '&lt;$TagHostsMonitoring&gt;' sections
single or multiple servers can be specified for verbose debug output
during the discovery and/or during monitoring.

Use '&lt;$TagHostsDiscovery&gt;' for selecting hosts for the discovery trace.
Use '&lt;$TagHostsMonitoring&gt;' for selecting hosts for the monitoring trace.

Use 'all' (without quote signs) for all Fujitsu Out-Of-Band Servers monitored by SCOM.
Use a single IP address or a comma separated list to select multiple single servers
Example:
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;192.168.1.100,192.168.1.101,192.168.1.102&lt;/$TagHostsMonitoring&gt;

will generate discovery traces for all Fujitsu Out-Of-Band Servers and
will generate monitoring traces only for servers with the IP address
192.168.1.100 192.168.1.101 and 192.168.1.102
--&gt;
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;all&lt;/$TagHostsMonitoring&gt;
&lt;/$SectionRoot&gt;
"
@
}
}

Function GetLogXmlFile
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName
)

$XmlFileName = "$global:LogFilePath\$SVISCOMLogXmlName"
$ListOfHosts = ""

if (Test-Path -Path $global:LogFilePath) {
if (Test-Path -Path $XmlFileName) {
[xml]$xmlfile = Get-Content $XmlFileName

if ($xmlfile.$SectionRoot.$section.$TagDebugMode -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagDebugMode).ToUpper() -eq "YES") {
$global:DebugMode = $True
$global:DebugFile = $True
}
}

if ($xmlfile.$SectionRoot.$section.$TagOverWrite -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagOverWrite).ToUpper() -eq "NO") {
$global:OverWrite = $False
}
}

if ($xmlfile.$SectionRoot.$HostTag -ne $null) {
$global:DebugHosts = $($xmlfile.$SectionRoot.$HostTag).ToLower()
}

# Check if DEBUG shall run for this server.
# There are two possibilities to check: "all" server DEBUG is on or this server is in the list.
if ($global:DebugHosts -eq "all") {
$global:DebugForHost = $True
} else {
# Check if this host is in the list of DebugHosts
$ListOfHosts = $($global:DebugHosts).split(',')
DebugOut "Searching for host: $ServerName"
DebugOut "in list of DebugHosts: $global:DebugHosts"

if ($ServerName.ToLower() -in $ListOfHosts) {
$global:DebugForHost = $True
}
}

} # else file does not exist
} # else directory does not exist
}

Function CreateLogFile
{
# For some reason checking for "$True" with "if ($global:a -and $global:b)" is not evaluated correctly!!!
# It works OK in a test with a simple PS script ... no idea why ... Thus we use:
if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
# Create the target directory, if it does not exist
if (!(Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}

# Check if file exists and delete if it does and OverWrite is set to TRUE
if (Test-Path -Path $global:LogFileName) {
DebugOut ""
DebugOut "Log file already exists at: $global:LogFileName"
if ($global:OverWrite -eq $True) {
Remove-Item -Path $global:LogFileName -Force | Out-Null
}
}
# If the file has just been removed (OverWrite = YES) or the file does not exist: create it
if (!(Test-Path -Path $global:LogFileName)) {
#Create log file
New-Item -Path $global:LogFileName -ItemType File | Out-Null
}

Add-Content -Path $global:LogFileName -Value @"
********** $(Get-Date -Format F) **********`r
********** $($global:LogFileName) **********`r
********** Management Pack '$($global:MP_NAME)' Version: $($global:MPVERSION)`r
"
@
}
}
}

Function DebugOut
{
Param (
[string] $Text
)

if ($global:DebugForHost -eq $True) {
if ($global:DebugMode -eq $True) {
Write-Host $Text
}

if ($global:DebugFile -eq $True) {
if ($global:LogFileName.Length -gt 0) {
if (Test-Path -Path $global:LogFileName) {
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $global:LogFileName -Value "$DateTime $Text"
}
}
}
}
}

Function DebugWarn
{
Param (
[string] $Text
)

DebugOut "Warning: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$WarnLogFile = "$global:LogFilePath\$($WarnFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $WarnLogFile -Value "[$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}

Function DebugErr
{
Param (
[int] $ErrNo,
[string] $Text
)

DebugOut "Error: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$ErrLogFile = "$global:LogFilePath\$($ErrFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $ErrLogFile -Value "[$($ErrNo)] [$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}




Main
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>UserName</Name>
<Value>$Config/UserName$</Value>
</Parameter>
<Parameter>
<Name>Password</Name>
<Value>$Config/Password$</Value>
</Parameter>
<Parameter>
<Name>ManagementUrl</Name>
<Value>$Config/ManagementUrl$</Value>
</Parameter>
<Parameter>
<Name>TimeoutSeconds</Name>
<Value>$Config/TimeoutSeconds$</Value>
</Parameter>
<Parameter>
<Name>SkipCACheck</Name>
<Value>$Config/SkipCACheck$</Value>
</Parameter>
<Parameter>
<Name>SkipCNCheck</Name>
<Value>$Config/SkipCNCheck$</Value>
</Parameter>
<Parameter>
<Name>UseComponentStatus</Name>
<Value>$Config/UseComponentStatus$</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<StrictErrorHandling>$Config/StrictErrorHandling$</StrictErrorHandling>
</ProbeAction>
<!-- Full match for Hardware component instances: ID && Host_ID -->
<ConditionDetection ID="FilterInstance" TypeID="System!System.ExpressionFilter">
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='ID']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='Host_ID']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/Host_ID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="FilterInstance">
<Node ID="PSScript">
<Node ID="Scheduler" />
</Node>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.PropertyBagData</OutputType>
</DataSourceModuleType>
</ModuleTypes>
<MonitorTypes>
<UnitMonitorType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="RepeatedEventRaised" NoDetection="false" />
<MonitorTypeState ID="RepeatedEventReset" NoDetection="false" />
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="ComputerName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="LogName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- RepeatedFilterCondition -->
<xsd:element name="FilterExpression" type="ExpressionType" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ConsolidationEventDisplayNumber" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ConsolidationPublisherName" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="RepeatedEventCount" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="NoEventIntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="RepeatedEventCount" Selector="$Config/RepeatedEventCount$" ParameterType="int" />
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="NoEventIntervalSeconds" Selector="$Config/NoEventIntervalSeconds$" ParameterType="int" />
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DataSource" TypeID="Windows!Microsoft.Windows.BaseEventProvider">
<ComputerName>$Config/ComputerName$</ComputerName>
<LogName>$Config/LogName$</LogName>
</DataSource>
<ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
<Expression>$Config/FilterExpression$</Expression>
</ConditionDetection>
<ConditionDetection ID="RepeatedCD" TypeID="System!System.ConsolidatorCondition">
<Consolidator>
<ConsolidationProperties>
<PropertyXPathQuery>$Config/ConsolidationEventDisplayNumber$</PropertyXPathQuery>
<PropertyXPathQuery>$Config/ConsolidationPublisherName$</PropertyXPathQuery>
</ConsolidationProperties>
<TimeControl>
<WithinTimeSchedule>
<Interval>$Config/IntervalSeconds$</Interval>
</WithinTimeSchedule>
</TimeControl>
<CountingCondition>
<Count>$Config/RepeatedEventCount$</Count>
<CountMode>OnNewItemTestOutputRestart_OnTimerSlideByOne</CountMode>
</CountingCondition>
</Consolidator>
</ConditionDetection>
<ConditionDetection ID="MissingCD" TypeID="System!System.MissingConsolidatorCondition">
<Consolidator>
<ConsolidationProperties />
<TimeControl>
<GenericSchedule>
<SimpleReccuringSchedule>
<Interval>$Config/NoEventIntervalSeconds$</Interval>
<SyncTime />
</SimpleReccuringSchedule>
<ExcludeDates />
</GenericSchedule>
</TimeControl>
<CountingCondition>
<CountMode>OnNewItemNOP_OnTimerOutputRestart</CountMode>
</CountingCondition>
</Consolidator>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">Count</XPathQuery>
</ValueExpression>
<Operator>Less</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">$Config/RepeatedEventCount$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="RepeatedEventRaised">
<Node ID="RepeatedCD">
<Node ID="Filter">
<Node ID="DataSource" />
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="RepeatedEventReset">
<Node ID="MissingCD">
<Node ID="Filter">
<Node ID="DataSource" />
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.MonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="HealthOK" NoDetection="false" />
<MonitorTypeState ID="HealthWarning" NoDetection="false" />
<MonitorTypeState ID="HealthError" NoDetection="false" />
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element minOccurs="1" name="UserName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Password" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ManagementUrl" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCACheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCNCheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Component Status key/identifiers -->
<xsd:element minOccurs="1" name="ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SensorType" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="EntityId" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="EntityInstance" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.DataSource">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>0:03</SyncTime>
<ScriptName>$Config/ScriptName$</ScriptName>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<!-- Fixed Parameters DataSource -->
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<ManagementUrl>$Config/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Config/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Config/SkipCNCheck$</SkipCNCheck>
<!-- Component Status key/identifiers (FilterInstance) -->
<ID>$Config/ID$</ID>
<SensorType>$Config/SensorType$</SensorType>
<EntityId>$Config/EntityId$</EntityId>
<EntityInstance>$Config/EntityInstance$</EntityInstance>
</DataSource>
<ConditionDetection ID="FilterOK" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">OK</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterWarning" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Warning</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterError" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Error</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="HealthOK">
<Node ID="FilterOK">
<Node ID="DS" />
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="HealthWarning">
<Node ID="FilterWarning">
<Node ID="DS" />
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="HealthError">
<Node ID="FilterError">
<Node ID="DS" />
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.HealthStateValid.MonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="HealthStateUnknown" NoDetection="false" />
<MonitorTypeState ID="HealthStateValid" NoDetection="false" />
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element minOccurs="1" name="UserName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Password" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ManagementUrl" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCACheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCNCheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Component Status key/identifiers -->
<xsd:element minOccurs="1" name="ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SensorType" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="EntityId" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="EntityInstance" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.DataSource">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>0:03</SyncTime>
<ScriptName>$Config/ScriptName$</ScriptName>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<!-- Fixed Parameters DataSource -->
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<ManagementUrl>$Config/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Config/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Config/SkipCNCheck$</SkipCNCheck>
<!-- Component Status key/identifiers (FilterInstance) -->
<ID>$Config/ID$</ID>
<SensorType>$Config/SensorType$</SensorType>
<EntityId>$Config/EntityId$</EntityId>
<EntityInstance>$Config/EntityInstance$</EntityInstance>
</DataSource>
<ConditionDetection ID="FilterHealthValid" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Unknown</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterHealthUnknown" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Unknown</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="HealthStateUnknown">
<Node ID="FilterHealthUnknown">
<Node ID="DS" />
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="HealthStateValid">
<Node ID="FilterHealthValid">
<Node ID="DS" />
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="HealthOK" NoDetection="false" />
<MonitorTypeState ID="HealthWarning" NoDetection="false" />
<MonitorTypeState ID="HealthError" NoDetection="false" />
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element minOccurs="1" name="UserName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Password" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ManagementUrl" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCACheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCNCheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="UseComponentStatus" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Hardware Component key/identifiers -->
<xsd:element minOccurs="1" name="ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Host_ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
<!--
<OverrideableParameter ID="UseComponentStatus" Selector="$Config/UseComponentStatus$" ParameterType="bool" />
-->

</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.DataSource">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>0:01</SyncTime>
<ScriptName>$Config/ScriptName$</ScriptName>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<!-- Fixed Parameters DataSource -->
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<ManagementUrl>$Config/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Config/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Config/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>$Config/UseComponentStatus$</UseComponentStatus>
<!-- Hardware key/identifiers (FilterInstance) -->
<ID>$Config/ID$</ID>
<Host_ID>$Config/Host_ID$</Host_ID>
</DataSource>
<ConditionDetection ID="FilterOK" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">OK</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterWarning" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Warning</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterError" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Error</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="HealthOK">
<Node ID="FilterOK">
<Node ID="DS" />
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="HealthWarning">
<Node ID="FilterWarning">
<Node ID="DS" />
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="HealthError">
<Node ID="FilterError">
<Node ID="DS" />
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
<UnitMonitorType ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="HealthStateUnknown" NoDetection="false" />
<MonitorTypeState ID="HealthStateValid" NoDetection="false" />
</MonitorTypeStates>
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="IntervalSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="0" name="SyncTime" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ScriptName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="TimeoutSeconds" type="xsd:integer" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Fixed Parameters -->
<xsd:element minOccurs="1" name="UserName" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Password" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="ManagementUrl" type="NonNullString" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCACheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="SkipCNCheck" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="UseComponentStatus" type="xsd:boolean" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<!-- Hardware Component key/identifiers -->
<xsd:element minOccurs="1" name="ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
<xsd:element minOccurs="1" name="Host_ID" type="xsd:string" xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
<!--
<OverrideableParameter ID="UseComponentStatus" Selector="$Config/UseComponentStatus$" ParameterType="bool" />
-->

</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.DataSource">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>0:01</SyncTime>
<ScriptName>$Config/ScriptName$</ScriptName>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<!-- Fixed Parameters DataSource -->
<UserName>$Config/UserName$</UserName>
<Password>$Config/Password$</Password>
<ManagementUrl>$Config/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Config/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Config/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>$Config/UseComponentStatus$</UseComponentStatus>
<!-- Hardware key/identifiers (FilterInstance) -->
<ID>$Config/ID$</ID>
<Host_ID>$Config/Host_ID$</Host_ID>
</DataSource>
<ConditionDetection ID="FilterHealthValid" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">Unknown</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterHealthUnknown" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='HealthStatus']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Unknown</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="HealthStateUnknown">
<Node ID="FilterHealthUnknown">
<Node ID="DS" />
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="HealthStateValid">
<Node ID="FilterHealthValid">
<Node ID="DS" />
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>
</MonitorTypes>
</TypeDefinitions>
<Categories>
<Category ID="Cat.DummyAssembly.BMC.WebInterface" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.WebInterface.BMC.Task" Value="System!System.Internal.ManagementPack.ConsoleTasks.MonitoringObject" />
<Category ID="Cat.DummyAssembly.BMC.SystemReport" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.SystemReport.BMC.Task" Value="System!System.Internal.ManagementPack.ConsoleTasks.MonitoringObject" />
<Category ID="Cat.DummyAssembly.BMC.Avr" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Avr.BMC.Task" Value="System!System.Internal.ManagementPack.ConsoleTasks.MonitoringObject" />
<Category ID="Cat.DummyAssembly.Server.WebInterface" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.WebInterface.Server.Task" Value="System!System.Internal.ManagementPack.ConsoleTasks.MonitoringObject" />
<Category ID="Cat.DummyAssembly.Server.SystemReport" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.SystemReport.Server.Task" Value="System!System.Internal.ManagementPack.ConsoleTasks.MonitoringObject" />
<Category ID="Cat.DummyAssembly.Server.Avr" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Avr.Server.Task" Value="System!System.Internal.ManagementPack.ConsoleTasks.MonitoringObject" />
<Category ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardDiagramIconCategory" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
<Category ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentDiagramIconCategory" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
<Category ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroupDiagramIconCategory" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroupDiagramIcon" Value="System!System.Internal.ManagementPack.Images.DiagramIcon" />
<Category ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard16IconCategory" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
<Category ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponent16IconCategory" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponent16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
<Category ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroup16IconCategory" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroup16Icon" Value="System!System.Internal.ManagementPack.Images.u16x16Icon" />
</Categories>
<Monitoring>
<Discoveries>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupPRIMERGYServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="FTSLIB!Fujitsu.ServerView.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="FTSLIB!Fujitsu.ServerView.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsPYServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupBXServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsBXServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupCXServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsCXServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupSXServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsSXServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupRXServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsRXServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupTXServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsTXServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupXXServersGroupMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsXXServersGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupBXMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupContainsBXServer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupCXMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupContainsCXServer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupSXMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupContainsSXServer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupRXMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupContainsRXServer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupTXMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupContainsTXServer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupXXMembershipRule" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup">
<Category>Discovery</Category>
<DiscoveryTypes>
<!-- added for (against) BPA (warning) -->
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" />
</DiscoveryTypes>
<DataSource ID="DiscoveryDataSource" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupContainsXXServer"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscovery" Target="OOB!Microsoft.SystemCenter.OOB.WSManDevice" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Comment="Discovers all Fujitsu Out-Of-Band Servers and components">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice">
<Property TypeID="OOB!Microsoft.SystemCenter.OOB.WSManDevice" PropertyID="IP" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" PropertyID="ID" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="ServerName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="Devices" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="DevicesInfo" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="L3Cache" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="L2Cache" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="L1Cache" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="MaxClockSpeed" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="NumPhysicalCores" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="NumLogicalCores" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" PropertyID="Model" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" PropertyID="ID" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="ServerName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="Devices" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="DevicesInfo" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="ConfigStatus" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="RevisionCode" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="SerialNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="Voltage" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="BusFrequency" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="Size" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" PropertyID="Type" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" PropertyID="ID" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="ServerName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="Devices" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="DevicesInfo" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" PropertyID="ID" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="ServerName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="Devices" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="DevicesInfo" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" PropertyID="Model" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" PropertyID="SerialNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" PropertyID="Version" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" PropertyID="Model" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" PropertyID="SerialNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" PropertyID="Version" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="Status" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotPresent">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="Status" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable" PropertyID="ConfigStatus" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="Status" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" PropertyID="Status" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="Status" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" PropertyID="Status" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="BmcFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="SystemFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ChassisModel" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PhysicalMemory" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.Server" PropertyID="NetworkName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="Model" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="SerialNumber" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="OperatingSystem" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="BmcFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="SystemFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ChassisModel" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PhysicalMemory" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.Server" PropertyID="NetworkName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="Model" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="SerialNumber" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="OperatingSystem" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="BmcFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="SystemFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ChassisModel" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PhysicalMemory" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.Server" PropertyID="NetworkName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="Model" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="SerialNumber" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="OperatingSystem" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="BmcFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="SystemFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ChassisModel" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PhysicalMemory" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.Server" PropertyID="NetworkName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="Model" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="SerialNumber" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="OperatingSystem" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="BmcFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="SystemFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ChassisModel" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PhysicalMemory" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.Server" PropertyID="NetworkName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="Model" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="SerialNumber" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="OperatingSystem" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="BmcFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="SystemFirmware" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="Manufacturer" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManufacturingDate" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ChassisModel" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PartNumber" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="ManagementUrl" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" PropertyID="PhysicalMemory" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.Server" PropertyID="NetworkName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="Model" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="SerialNumber" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.System" PropertyID="OperatingSystem" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" PropertyID="ID" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" PropertyID="ID" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="ServerName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="Devices" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="DevicesInfo" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" PropertyID="ID" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="ServerName" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="Devices" />
<Property TypeID="FTSLIB!Fujitsu.ServerView.HealthCollection" PropertyID="DevicesInfo" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" PropertyID="ID" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" PropertyID="ID" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.AirInletComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ID" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="SensorType" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityId" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="EntityInstance" />
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" PropertyID="ManagementUrl" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryClass TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor">
<Property TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" PropertyID="ID" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsProcessorGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessor" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessorNotPresent" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMemoryGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemory" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotPresent" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotUsable" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsPowerSupplyGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupply" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupplyNotPresent" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsFanGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFan" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFanNotPresent" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMainboard" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsTemperatureComponentGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsVoltageComponentGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsOtherComponentStatusGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsDriveSlotComponentGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPciSlotComponentGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtSoftwareComponentGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerUnitComponentGroup" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsBiosComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtCtrlComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerMonitoringComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsOtherComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureStatusGroupHostsTemperatureComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsVoltageComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotNotPresent" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotNotPresent" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareStatusGroupHostsMgmtSoftwareComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitStatusGroupHostsPowerUnitComponentStatus" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDeviceHostsServer" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsCommunicationMonitor" />
<DiscoveryRelationship TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardReferencesVoltageComponentGroup" />
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" Comment="Fujitsu Out-Of-Band Server Discovery uses the iRMC System Report data">
<!-- Note: default every 4 hours -->
<IntervalSeconds>14400</IntervalSeconds>
<!-- Note: spread discovery of multiple instances over 15 minutes -->
<SpreadInitializationOverInterval>900</SpreadInitializationOverInterval>
<ScriptName>ServerDiscovery.ps1</ScriptName>
<ScriptBody><Script>
##################################################################################
# #
# NOTICE #
# #
# COPYRIGHT 2014 - 2016 Fujitsu Technology Solutions #
# ALL RIGHTS RESERVED #
# #
# This computer program is CONFIDENTIAL and contains TRADE SECRETS of #
# Fujitsu Technology Solutions. The receipt or possession of this program does #
# not convey any rights to reproduce or disclose its contents, or to #
# manufacture, use, or sell anything that it may describe, in whole or #
# in part, without the specific written consent of Fujitsu Technology Solutions. #
# Any reproduction of this program without the express written consent #
# of Fujitsu Technology Solutions is a violation of the copyright laws and may #
# subject you to civil liability and criminal prosecution. #
# #
##################################################################################


param(
[string]$IP,
[int] $Port,
[string]$UserName,
[string]$Password,
[string]$SkipCACheck = "False",
[string]$SkipCNCheck = "False",
[int] $TimeoutSeconds = 300,

[string]$UseDnsNameAsNetworkName = "False",
[string]$UseDnsNameAsDisplayName = "False",

[string]$IncludeNotPresentProcessors = "True",
[string]$IncludeNotPresentFans = "True",
[string]$IncludeNotPresentPowerSupplies = "True"

)

$ScriptApi = New-Object -comObject "MOM.ScriptAPI"
if ($ScriptApi -eq $Null) { Exit -1 }

$discoveryData = $ScriptApi.CreateDiscoveryData(0, "$MPElement$", "$Target/Id$")

# set CONSTANT variables (can not be changed):
set-variable -name PoShScriptName -value "ServerDiscovery.ps1" -option constant

[int]$ERROR_UNSUPPORTED_FIRMWARE = 8009 # a prime

[int]$SCRIPT_EVENT_NUMBER = 8017 # a prime

[int]$ERROR_MEMORY_INFORMATION_NOT_INITIALIZED = 8039 # a prime

# Note: Keep in sync with monitoring scripts
[int]$ERROR_NO_MEMORY_INFORMATION = 8059 # a prime
[int]$ERROR_NO_PROCESSOR_INFORMATION = 8069 # a prime
[int]$ERROR_NO_COMPONENT_STATUS_INFORMATION = 8089 # a prime

[int]$ERROR_NO_POWER_SUPPLY_INFORMATION = 8079 # not a prime
[int]$ERROR_NO_FAN_INFORMATION = 8049 # not a prime

[int]$ERROR_NO_CONFIG_INFORMATION = 8123 # a prime


# we need to make multiple authenticated HTTP requests...
[System.Net.NetworkCredential]$NetworkCredential = New-Object System.Net.NetworkCredential ($username, $password)
[System.Net.ServicePointManager]::DefaultConnectionLimit = 1000

[bool]$global:iRMCDetected = $False
[bool]$global:HpSimValid = $False

$hostURL = "https://" + $IP + ":" + $Port

# Note: Keep in sync with cookdown monitoring script (Host_ID)
$ProcessorGroupName = 'Processors'
$MemoryGroupName = 'Memory'
$FanGroupName = 'Fans (Cooling)'
$PowerSupplyGroupName = 'Power Supplies'
$MainboardName = 'Mainboard'

[xml]$xml = New-Object XML
[System.Xml.XmlElement]$elem = $Null

$BmcFirmwareVersion = "N/A"
$BiosVersion = "N/A"

# Server Properties
$ServerModel = "N/A"
$ServerSerialNumber = "N/A"
$ServerPartNumber = "N/A"
$ServerManufacturer = "N/A"
$ServerManufacturingDate = "N/A"
$ServerUuid = "N/A"
$ServerOperatingSystem = "N/A"

# System Board Properties
$BoardModel = "N/A"
$BoardVersion = "N/A"
$BoardSerialNumber = "N/A"
$BoardPartNumber = "N/A"
$BoardManufacturer = "N/A"
$BoardManufacturingDate = "N/A"

# Chassis Properties
$ChassisModel = "N/A"
$ChassisSerialNumber = "N/A"
$ChassisPartNumber = "N/A"

$OtherComponentsGroupInstance = $Null

$ServerDnsName = "N/A"
$ServerDnsDomain = "N/A"
$NetworkName = $IP # default to IP Address
$DnsName = $IP # default to IP Address

# Strip any potential garbage at the and of the XML string
Function Clean-XmlString ([string]$xmlString, [string]$endTag) {
if ($xmlString.contains( $endTag )) {
$xmlString.TrimEnd( $xmlString.Substring( ($xmlString.IndexOf($endTag) +$endTag.Length) ))
} else {
$xmlString
}
}

# Due to various problems we support iRMC S4 firmware 8.2x and later (e.g. 8.23F)
# Note: internal pre-releases are marked as 96.xx / 97.xx / 98.xx / 99.xx and are considered unsupported
Function FirmwareVersionSupported ([string]$Version)
{
# iRMC S4
if ( ($Version -match "^8.([2-9][0-9])") -or ($Version -match "^9.([0-9][0-9])") -or ($Version -match "^[1-8][0-9].([0-9][0-9])")) {
return $True
}
# iRMC S5 re-started version numbering from 1.xx
if ( ($Version -match "^1.([0-9][0-9])") ) {
return $True
}

return $False
}

# Check if there is already an existing iRMC object for this discovery.
# If so, mark discovery
Function BailOutAndTestForExisting
{
# Load Extensions
$OMPSInstallKey = "HKLM:\Software\Microsoft\System Center Operations Manager\12\Setup\Powershell\V2"
$regKey = get-item $OMPSInstallKey
$OMPSInstallPath = $regKey.GetValue("InstallDirectory")
$omModule = $OMPSInstallPath + "OperationsManager"
Import-Module -Name $omModule

$discoveryData.IsSnapshot = $True # default to not found ...
try {
$MyObj = Get-SCOMClass -Name 'Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice' | Get-SCOMClassInstance | Where {$_.'[Microsoft.SystemCenter.OOB.WSManDevice].IP'.Value -eq $IP}
if ($MyObj -ne $Null) {
DebugOut "$IP - Found existing SCOM object - marking discovery incomplete..."
$discoveryData.IsSnapshot = $False
} else {
DebugOut "$IP - NOT found as existing SCOM object - giving up"
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not determine existing object. Exception: $_"
}

$discoveryData
Exit
}

# Totally unsupported
Function BailOut
{
$discoveryData.IsSnapshot = $True
$discoveryData
Exit
}

# something went wrong
Function EarlyExit
{
$discoveryData.IsSnapshot = $False
$discoveryData
Exit
}

Function Main {

Set-CurrentManagementPackVersion -MpName "Fujitsu.Servers.PRIMERGY.OutOfBand"

PrepareLogging -Section $SectionServerDiscovery -HostTag $TagHostsDiscovery -ServerName $IP -CreateSampleLogFile -MpName "Fujitsu.Servers.PRIMERGY.OutOfBand"

DebugOut "Start discovery of Fujitsu Out-Of-Band Server"
DebugOut "$IP - Port=$Port TimeoutSeconds=$TimeoutSeconds SkipCACheck=$SkipCACheck SkipCNCheck=$SkipCNCheck"
DebugOut "$IP - UseDnsNameAsDisplayName=$($UseDnsNameAsDisplayName) UseDnsNameAsNetworkName=$($UseDnsNameAsNetworkName)"
DebugOut "$IP - Include NotPresent Processors=$($IncludeNotPresentProcessors) Fans=$($IncludeNotPresentFans) PowerSupplies=$($IncludeNotPresentPowerSupplies)"


# Check if HP-SIM Integration response is delivered from the BMC, we can use this to identify the server type etc.
# and returns 404 when disabled. Used to distinguish Fujitsu iRMC from other vendor WsMan/BMC devices
$Response = DoWebRequest -url ($hostURL + "/xmldata?item=All") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;RIMP") ) {
try {
$HPSIM_XML = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/RIMP&gt;" )
if ($HPSIM_XML -ne $Null -and $HPSIM_XML.HasChildNodes) {
$ServerModel = $($HPSIM_XML.RIMP.HSI.SPN);
$ServerSerialNumber = $($HPSIM_XML.RIMP.HSI.SBSN);
$ServerUuid = $($HPSIM_XML.RIMP.HSI.UUID);
$BmcFirmwareVersion = $($HPSIM_XML.RIMP.MP.FWRI);
$global:HpSimValid = $True
DebugOut "$IP - HP-SIM Integration Response is valid: ServerModel=$ServerModel Serial=$ServerSerialNumber UUID=$ServerUuid Firmware=$BmcFirmwareVersion"
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Invalid HP-SIM Integration Response. Exception: $_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Invalid HP-SIM Integration Response. Exception: $_")
}
} else {
DebugOut "$IP - HP-SIM Integration Response not available to identify the Fujitsu Out-Of-Band Server"
}

if ($global:iRMCDetected -eq $False) { # we are not talking to an iRMC - get out
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("is not a supported Fujitsu Out-Of-Band Server")
DebugOut "$IP - is NOT a supported Fujitsu Out-Of-Band Server - giving up"
BailOutAndTestForExisting
}

if ($global:HpSimValid -eq $True) {
if ($ServerModel -match "PRIMEQUEST") {
DebugOut "$IP - $ServerModel $BmcFirmwareVersion is not supported"
BailOut
}

if ( (FirmwareVersionSupported -Version $BmcFirmwareVersion) -eq $False ) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_UNSUPPORTED_FIRMWARE -Message ("Unsupported Firmware $BmcFirmwareVersion")
DebugOut "$IP - Unsupported Firmware $BmcFirmwareVersion"
BailOut
}
}

# Get the iRMC System Report
try {
# Try to get Component Status information which is not part of the full System Report
# Note: Generating the full report can take some time (especially when RAID data is available) - so use the total timeout value here
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Components") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $TimeoutSeconds
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[System.Xml.XmlElement]$compinst = $xml.Root.System.Components

# Check if single items are supported.
# Single items have no Summary section in the generated XML, if it's an old firmware the full report including summary will be generated,
$elem = $xml.Root.Summary

$BmcFirmwareVersion = $xml.Root.GetAttribute("Version")
if ($BmcFirmwareVersion -eq $Null -or $BmcFirmwareVersion -eq "") {
$BmcFirmwareVersion = "N/A"
}
}
} catch {
DebugErr $ERROR_NO_COMPONENT_STATUS_INFORMATION "$IP - Could not process Component Status information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_COMPONENT_STATUS_INFORMATION -Message ("Component Status Information not available")
DebugErr $ERROR_NO_COMPONENT_STATUS_INFORMATION "$IP - Component Status Information not available"
}

if ($elem -ne $Null) {
# We do have a 'Summary' section in the XML which means a partial System Report is not supported.
DebugOut "$IP - Selective System Report requests are NOT supported with Firmware $BmcFirmwareVersion"
$BiosVersion = $xml.Root.System.BIOS.SMBIOS.Type0.BiosVersion
[System.Xml.XmlElement]$cpuinst = $xml.Root.System.Processor
[System.Xml.XmlElement]$meminst = $xml.Root.System.Memory
[System.Xml.XmlElement]$faninst = $xml.Root.System.Fans
[System.Xml.XmlElement]$tempinst = $xml.Root.System.Temperatures
[System.Xml.XmlElement]$voltinst = $xml.Root.System.Voltages
[System.Xml.XmlElement]$psuinst = $xml.Root.System.PowerSupplies
[System.Xml.XmlElement]$fruinst = $xml.Root.System.IDPROMS
} else {
# Single items are supported by the firmware, request them separately one by one (Note: timeout per request can be much shorter)
DebugOut "$IP - Selective System Report requests are supported with Firmware $BmcFirmwareVersion"

# Get overall Status, which contains the server power state
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Status") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[bool]$bPowerOn = [bool]($xml.Root.System.Status.PowerState.InnerText -eq 1)
[bool]$bInPost = $False # Assume system is fully running when no information is available
if ($xml.Root.System.Status.PowerState.HasAttribute('PostState')) {
$bInPost = [bool]$xml.Root.System.Status.PowerState.GetAttribute('PostState').ToLower().Equals('true')
}

DebugOut "$IP - Status: $($xml.Root.System.Status.SystemStatus.Description) Error LED: $($xml.Root.System.Status.ErrorLED.Description) CSS LED: $($xml.Root.System.Status.CssLED.Description) Identify LED: $($xml.Root.System.Status.IdentifyLED.Description)"
if ($bPowerOn -eq $True) {
DebugOut "$IP - Power is ON; in BIOS/POST: $($bInPost)"
if ($bInPost -eq $True) {
DebugOut "$IP - System is in BIOS/POST/Setup - aborting discovery"
EarlyExit
}
} else {
DebugOut "$IP - Power is OFF - aborting discovery"
EarlyExit
}
}
} catch {
DebugWarn "$IP - Could not process Status information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
}

$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/BIOS") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
$BiosVersion = $xml.Root.System.BIOS.SMBIOS.Type0.BiosVersion
}
} catch {
DebugWarn "$IP - Could not process BIOS information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
}

$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Processor") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[System.Xml.XmlElement]$cpuinst = $xml.Root.System.Processor
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not process Processor information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_PROCESSOR_INFORMATION -Message ("Processor Information not available")
DebugErr $ERROR_NO_PROCESSOR_INFORMATION "$IP - Processor Information not available"
$discoveryData.IsSnapshot = $False
}

# Note: Allow more time for the maximum of 128 Memory Modules (reading the 512 Byte SPD Data takes some time)
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Memory") -Method "GET" -Credentials $NetworkCredential -RequestTimeout (2*$DEFAULT_REQUEST_TIMEOUT)
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[System.Xml.XmlElement]$meminst = $xml.Root.System.Memory
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not process Memory information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_MEMORY_INFORMATION -Message ("Memory Information not available")
DebugErr $ERROR_NO_MEMORY_INFORMATION "$IP - Memory Information not available"
$discoveryData.IsSnapshot = $False
}

$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/Fans") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[System.Xml.XmlElement]$faninst = $xml.Root.System.Fans
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not process Fan information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_FAN_INFORMATION -Message ("Fan Information not available")
DebugErr $ERROR_NO_FAN_INFORMATION "$IP - Fan Information not available"
$discoveryData.IsSnapshot = $False
}

$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/PowerSupplies") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[System.Xml.XmlElement]$psuinst = $xml.Root.System.PowerSupplies
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not process Power Supply information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_POWER_SUPPLY_INFORMATION -Message ("Power Supply Information not available")
DebugErr $ERROR_NO_POWER_SUPPLY_INFORMATION "$IP - Power Supply Information not available"
$discoveryData.IsSnapshot = $False
}

$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/IDPROMS") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xml = [xml] ( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
[System.Xml.XmlElement]$fruinst = $xml.Root.System.IDPROMS
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not process IDPROM information. Exception=$_"
$discoveryData.IsSnapshot = $False
}
}

}
} catch {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Discovery: Could not read System Report Exception=$_")
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Fujitsu Out-Of-Band Server Discovery: Could not read System Report Exception=$_"
EarlyExit
}

# Test (again) for supported firmware version based on system report response in case HP-SIM was disabled
if ($BmcFirmwareVersion -ne "N/A") {
if ( (FirmwareVersionSupported -Version $BmcFirmwareVersion ) -eq $True ) {
DebugOut "$IP - Firmware $BmcFirmwareVersion is supported"
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_UNSUPPORTED_FIRMWARE -Message ("Unsupported Firmware $BmcFirmwareVersion")
DebugOut "$IP - Unsupported Firmware $BmcFirmwareVersion - giving up"
BailOut
}
} else {
DebugOut "$IP - Could not determine Firmware Version - giving up"
BailOutAndTestForExisting
}

#############################################################################################
$NetworkName = $IP # default is plain IP until otherwise proven

# Get the iRMC Configuration
try {
$Response = DoWebRequest -url ($hostURL + "/iRMC_Settings.pre?SAVE_ALL=1") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;CMDSEQ") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/CMDSEQ&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {

# Associated ConfigSpace Value Id symbolic names (hexadecimal)
$ConfServerOperatingSystem = '20F'
$ConfBMCAssetTag = '210' # System Asset Tag: OI=0

# ConfServerOperatingSystem
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq $ConfServerOperatingSystem -and $_.OI -eq '0'}
if (($a.DATA.Type -eq "xsd::string") -and ($a.DATA.InnerText -ne "") ){
DebugOut "$IP - Server Operating System '$($a.DATA.InnerText)'"
$ServerOperatingSystem = $a.DATA.InnerText
} else {
DebugOut "$IP - Server Operating System NOT configured (empty)!"
}
# ConfBMCAssetTag
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq $ConfBMCAssetTag -and $_.OI -eq '0'}
if (($a.DATA.Type -eq "xsd::string") -and ($a.DATA.InnerText -ne "") ){
DebugOut "$IP - Asset Tag '$($a.DATA.InnerText)'"
$ServerAssetTag = $a.DATA.InnerText
} else {
DebugOut "$IP - Asset Tag NOT configured (empty)!"
}

# ConfBMCDNSDomain
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '144D' -and $_.OI -eq '0'}
if (($a.DATA.Type -eq "xsd::string") -and ($a.DATA.InnerText -ne "") ){
DebugOut "$IP - DNS Domain '$($a.DATA.InnerText)'"
$ServerDnsDomain = $a.DATA.InnerText
} else {
DebugOut "$IP - DNS Domain NOT configured (empty)!"
}

# ConfBmcDnsNameString
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '2550' -and $_.OI -eq '0'}
if (($a.DATA.Type -eq 'xsd::string') -and ($a.DATA.InnerText -ne "") ) {
DebugOut "$IP - DNS Name '$($a.DATA.InnerText)'"
$ServerDnsName = $a.DATA.InnerText
} else {
DebugOut "$IP - DNS name NOT reported - building from scratch ..."
[bool]$DnsNameInvalid = $False

# ConfBMCUseNetworkName
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '1431' -and $_.OI -eq '0'}
if ($a.DATA.Type -eq 'xsd::integer') {
if ($a.DATA.InnerText -eq '1') {
DebugOut "$IP - DNS Use BMC Name ..."
# ConfBMCNetworkName
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '1430' -and $_.OI -eq '0'}
if (($a.DATA.Type -eq 'xsd::string') -and ($a.DATA.InnerText -ne "")) {
$ServerDnsName = $($a.DATA.InnerText)
}
} else {
# ConfSystemName
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '201' -and $_.OI -eq '0'}
if (($a.DATA.Type -eq 'xsd::string') -and ($a.DATA.InnerText -ne "")) {
$HostName = $($a.DATA.InnerText)
if ($HostName.contains( '.' )) {
$ServerDnsName = $HostName.Substring( 0, ($HostName.IndexOf('.')))
} else {
$ServerDnsName = $HostName
}
}
}
} else {
$DnsNameInvalid = $True
}

# ConfBMCAddSerialNumber
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '1433' -and $_.OI -eq '0'}
if ($a.DATA.Type -eq 'xsd::integer') {
if ($a.DATA.InnerText -eq '1') {
DebugOut "$IP - DNS Add Serial ..."

# We need to get the MAC Address of the iRMC, last 3 Bytes are used as serial
$Response = DoWebRequest -url ($hostURL + "/report.xml?Item=System/ManagementControllers") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $TimeoutSeconds
if ($Response -ne $Null -and $Response.Contains("&lt;Root") ) {
try {
$xmlCtrl = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/Root&gt;" )
if ($xmlCtrl -ne $Null -and $xmlCtrl.HasChildNodes ) {
[System.Xml.XmlElement]$bmcinst = $xmlCtrl.Root.System.ManagementControllers.iRMC
[string]$MacAddress = $bmcInst.MACAddress
$ServerDnsName += ($MacAddress.Replace('-','')).SubString(6)
}
} catch {
DebugErr $ERROR_NO_CONFIG_INFORMATION "$IP - Could not process Management Controller Information. Exception=$_"
$DnsNameInvalid = $True
}
} else {
DebugWarn $ERROR_NO_CONFIG_INFORMATION "$IP - Management Controller Information not available for MAC address based serial"
$DnsNameInvalid = $True
}
}
} else {
$DnsNameInvalid = $True
}

# ConfBMCAddExtension
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '1434' -and $_.OI -eq '0'}
if ($a.DATA.Type -eq 'xsd::integer') {
if ($a.DATA.InnerText -eq '1') {
DebugOut "$IP - DNS Add Extension ..."
# ConfBMCNameExtension
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq '1432' -and $_.OI -eq '0'}
if (($a.DATA.Type -eq "xsd::string") -and ($a.DATA.InnerText -ne "") ){
DebugOut "$IP - DNS Name Extension $($a.DATA.InnerText)"
$ServerDnsName += $($a.DATA.InnerText)
}
}
} else {
$DnsNameInvalid = $True
}

if ($ServerDnsName.contains( ' ' )) {
$ServerDnsName = $ServerDnsName.Replace(' ','-')
}

DebugOut "$IP - Final DNS Name: '$($ServerDnsName)'"
}

DebugOut "$IP - DnsNameInvalid=$($DnsNameInvalid) ServerDnsName='$($ServerDnsName)' ServerDnsDomain='$($ServerDnsDomain)'"

if ( ($DnsNameInvalid -eq $False) -and ($ServerDnsName -ne 'N/A') -and ($ServerDnsName -ne 'iRMC') -and ($ServerDnsName -ne '- unknown -')) {
if ($ServerDnsDomain -ne 'N/A') {
$DnsName = $ServerDnsName +"." +$ServerDnsDomain
} else {
$DnsName = $ServerDnsName
}
} else {
$DnsName = $IP
}
}

} catch {
DebugErr $ERROR_NO_CONFIG_INFORMATION "$IP - Could not process iRMC Configuration information."
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_CONFIG_INFORMATION -Message ("iRMC Configuration Information not available")
DebugErr $ERROR_NO_CONFIG_INFORMATION "$IP - iRMC Configuration Information not available"
$discoveryData.IsSnapshot = $False
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - iRMC Configuration Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Configuration Discovery: Exception=$_ ")
$discoveryData.IsSnapshot = $False
}

&lt;# Typical IDPROM content
Product Information
0600 Product Serial Number YLVT000098
0601 Product Part Number ABN:K1495-VXXX-XX
0608 Product Model PRIMERGY RX2540 M1
060A Product Manufacturer FUJITSU
060B Product Manufacturing Date 2014/07/16 17:31:00
060C Product File ID 0
Chassis Information
0100 Chassis Serial Number bbbbbbbb
0101 Chassis Part Number 340C24800011
0108 Chassis Model TX140S2FZ
System Board Information
0200 System Board Serial Number 45283645
0201 System Board Part Number S26361-D3279-D11
0203 System Board Version WGS02 GS50
0208 System Board Model D3279
020A System Board Manufacturer FUJITSU
020B System Board Manufacturing Date 2014/08/08 03:43:00
#&gt;
try {
# Product (SCCI Class 6) Information from FRU/IDPROM
$a = $fruinst.Class | where { $_.Code -eq "6" }
if ($a -ne $Null) {
DebugOut "$IP - $($a.GetAttribute('Name')) FRU Information"
$b = @($a.Instance.Data.Decoded.String)
for($i = 0; $i -lt $b.Count; $i++){
DebugOut "$IP -`t$($b[$i].ValueID) $($b[$i].ValueName) $($b[$i].InnerText)"

if ($b[$i].ValueID -eq "0600") { $ServerSerialNumber = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0601") { $ServerPartNumber = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0608") { $ServerModel = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0609") { $ServerManufacturer = $b[$i].InnerText} # Older Firmware 7.50F (Vendor vs. Manufacturer)
if ($b[$i].ValueID -eq "060A") { $ServerManufacturer = $b[$i].InnerText}
if ($b[$i].ValueID -eq "060B") { $ServerManufacturingDate = $b[$i].InnerText}
}
}

# Chassis (SCCI Class 1) Information from FRU/IDPROM
$a = $fruinst.Class | where { $_.Code -eq "1" }
if ($a -ne $Null) {
DebugOut "$IP - $($a.GetAttribute('Name')) FRU Information"
$b = @($a.Instance.Data.Decoded.String)
for($i = 0; $i -lt $b.Count; $i++){
DebugOut "$IP -`t$($b[$i].ValueID) $($b[$i].ValueName) $($b[$i].InnerText)"

if ($b[$i].ValueID -eq "0100") { $ChassisSerialNumber = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0101") { $ChassisPartNumber = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0108") { $ChassisModel = $b[$i].InnerText}
}
}

# Extract Systemboard (SCCI Class 2) Information from FRU/IDPROM
$a = $fruinst.Class | where { $_.Code -eq "2" }
if ($a -ne $Null) {
$b = @($a.Instance.Data.Decoded.String)

DebugOut "$IP - $($a.GetAttribute('Name')) FRU Information"
for($i = 0; $i -lt $b.Count; $i++){
DebugOut "$IP -`t$($b[$i].ValueID) $($b[$i].ValueName) $($b[$i].InnerText)"
}

$c_200 = @($b | where { $_.ValueId -eq "0200"}) # Serial Number
$c_201 = @($b | where { $_.ValueId -eq "0201"}) # Part Number
$c_203 = @($b | where { $_.ValueId -eq "0203"}) # Version
$c_208 = @($b | where { $_.ValueId -eq "0208"}) # Model
$c_209 = @($b | where { $_.ValueId -eq "0209"}) # Vendor (Manufacturer) in old Firmware version e.g. 7.50F
$c_20A = @($b | where { $_.ValueId -eq "020A"}) # Manufacturer
$c_20B = @($b | where { $_.ValueId -eq "020B"}) # Manufacturing Date
$c_20C = @($b | where { $_.ValueId -eq "020C"}) # File ID
# Note: Due to a bug, Blades (BX) and Multi Node Systems (CX) deliver Product and Mainboard information in one FRU section
if ($c_200.Count -eq 2) {
$ServerSerialNumber = $c_200[0].InnerText
$BoardSerialNumber = $c_200[1].InnerText
} else {
$BoardSerialNumber = $c_200[0].InnerText
}
if ($c_201.Count -eq 2) {
$ServerPartNumber = $c_201[0].InnerText
$BoardPartNumber = $c_201[1].InnerText
} else {
$BoardPartNumber = $c_201[0].InnerText
}
if ($c_203.Count -eq 2) {
$ServerVersion = $c_203[0].InnerText
$BoardVersion = $c_203[1].InnerText
} else {
$BoardVersion = $c_203[0].InnerText
}
if ($c_208.Count -eq 2) {
$ServerModel = $c_208[0].InnerText
$BoardModel = $c_208[1].InnerText
} else {
$BoardModel = $c_208[0].InnerText
}
if ($c_209.Count -eq 2) { # Old Firmware Vendor instead of Manufacturer
$ServerManufacturer = $c_209[0].InnerText
$BoardManufacturer = $c_209[1].InnerText
} else {
$BoardManufacturer = $c_209[0].InnerText
}
if ($c_20A.Count -eq 2) {
$ServerManufacturer = $c_20A[0].InnerText
$BoardManufacturer = $c_20A[1].InnerText
} else {
$BoardManufacturer = $c_20A[0].InnerText
}
if ($c_20B.Count -eq 2) {
$ServerManufacturingDate = $c_20B[0].InnerText
$BoardManufacturingDate = $c_20B[1].InnerText
} else {
$BoardManufacturingDate = $c_20B[0].InnerText
}
}

# Power Supply (SCCI Class 8) Information from FRU/IDPROM
$a = $fruinst.Class | where { $_.Code -eq "8" }
if ($a -ne $Null -and $a.HasChildNodes) {
$b = @( $a.Instance )
for ($j=0; $j -lt $b.Count; $j++) {
if ($b -ne $Null -and $b.HasChildNodes) {
DebugOut "$IP - $($b[$j].GetAttribute('ClassName')) FRU Information Index: $($b[$j].GetAttribute('Index'))"
$c = $b[$j].Data.Decoded.String
for($i = 0; $i -lt $c.Count; $i++){
DebugOut "$IP -`t$($c[$i].ValueID) $($c[$i].ValueName) $($c[$i].InnerText)"
}
}
}
}

} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - FRU/IDPROM Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server IDPROM Discovery: Exception=$_ ")
}

#############################################################################################

# We have all information we need, create discovered Instances
$bmcInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice']$")
$bmcInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP)
$bmcInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $IP)
$discoveryData.AddInstance($bmcInstance)

if ($ServerModel -ne "N/A") {
if ($ServerModel -match "PRIMERGY BX" ) {
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer']$")
} elseif ($ServerModel -match "PRIMERGY CX" ) {
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer']$")
} elseif ($ServerModel -match "PRIMERGY RX" ) {
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer']$")
} elseif ($ServerModel -match "PRIMERGY SX" ) {
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer']$")
} elseif ($ServerModel -match "PRIMERGY TX" ) {
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer']$")
} else { # Any other: use generic XX Type
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer']$")
}
} else {
DebugOut "$IP - Could not determine Server Model!"
$serverInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer']$")
}

$serverInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host

if ($UseDnsNameAsNetworkName -eq $True) {
$NetworkName = $DnsName
$serverInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $DnsName) # key
} else {
$serverInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $IP) # key
}
if ($UseDnsNameAsDisplayName -eq $True) {
$ServerName = $DnsName
} else {
$ServerName = $IP
}
$serverInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.System']/Model$", $ServerModel)
$serverInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.System']/SerialNumber$", $ServerSerialNumber)
$serverInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.System']/OperatingSystem$", $ServerOperatingSystem)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/ManagementUrl$", $hostURL)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/BmcFirmware$", $BmcFirmwareVersion)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/Manufacturer$", $ServerManufacturer)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/ManufacturingDate$", $ServerManufacturingDate)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/PartNumber$", $ServerPartNumber)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/ChassisModel$", $ChassisModel)
if ($BiosVersion -ne $Null -and $BiosVersion -ne "") {
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/SystemFirmware$", $BiosVersion)
}

$physicalMemory = 'N/A'
if ($meminst -ne $Null -and $meminst.HasChildNodes) {
if ($meminst.Installed -ne $Null -and $meminst.Installed -ne 0) {
# We do have a valid total, so the modules will have information as well
DebugOut "$IP - Total installed memory is $($meminst.Installed)"
try {
[int]$totalMemory = $meminst.Installed # in MB
[string]$physicalMemory = ''
if ($totalMemory -lt 1024) {
$physicalMemory = "$($totalMemory) MB"
} else {
if (($totalMemory % 1024) -eq 0) {
$physicalMemory = "{0:d} GB" -f ($totalMemory/1024)
} else {
$physicalMemory = "{0:f} GB" -f ($totalMemory/1024)
}
}
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/PhysicalMemory$", $physicalMemory) # actual value
DebugOut "$IP - Physical Memory: $($physicalMemory)"

} catch {}
}
}

$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/PhysicalMemory$", $physicalMemory)
$serverInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Server']/DnsName$", $DnsName)
$serverInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $ServerName)
$discoveryData.AddInstance($serverInstance)

# BMC hosts Out-Of-Band Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDeviceHostsServer']$")
$relationship.Source = $bmcInstance
$relationship.Target = $serverInstance
$discoveryData.AddInstance($relationship)

# Communication Monitor
$commName = 'Communication Monitor'
$commInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor']$")
# key(s) of hosting chain object(s)
$commInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$commInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$commInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor']/ID$", $commName)
$commInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $commName)
$discoveryData.AddInstance($commInstance)

# Communication Component hosted by Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsCommunicationMonitor']$")
$relationship.Source = $serverInstance
$relationship.Target = $commInstance
$discoveryData.AddInstance($relationship)

try {
if ($BoardModel -ne "N/A") {
$DisplayName = $MainboardName
$mainBoardInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']$")

# key(s) of hosting chain object(s)
$mainBoardInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$mainBoardInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)

$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ID$", $DisplayName) # key
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ManagementUrl$", $hostURL)
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ServerName$", $ServerName)

$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']/Model$" , $BoardModel)
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']/Manufacturer$" , $BoardManufacturer)
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']/ManufacturingDate$", $BoardManufacturingDate)
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']/PartNumber$" , $BoardPartNumber)
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']/SerialNumber$" , $BoardSerialNumber)
$mainBoardInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard']/Version$" , $BoardVersion)
$mainBoardInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($mainBoardInstance)

# Mainboard hosted by server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMainboard']$")
$relationship.Source = $serverInstance
$relationship.Target = $mainBoardInstance
$discoveryData.AddInstance($relationship)
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Mainboard Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Mainboard Discovery: Exception=$_ ")
}

try {
if ($cpuinst -ne $Null -and $cpuinst.HasChildNodes) {
# Processor Group
$groupName = $ProcessorGroupName
$cpuGroupInst = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup']$")
$cpuGroupInst.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$cpuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName) # key of hosting object

# HealthCollection Class Properties: Get List of devices
$Devices = ""
$DevicesInfo = ""
$index = 0
foreach ($elem in $cpuinst.CPU) {
$DisplayName = $elem.SocketDesignation
$Status = $elem.Status.GetAttribute("Description")

$Devices += "$($index): '$($DisplayName)'; "
if ($Status -ne "empty") {
$Model = 'N/A'
$NumLogicalCores = 'N/A'
$NumPhysicalCores = 'N/A'
if ($elem.LogicalCpuNumber -ne $Null) { $NumLogicalCores = $elem.LogicalCpuNumber}
if ($elem.CoreNumber -ne $Null) { $NumPhysicalCores = $elem.CoreNumber}
if ($elem.Model.Version -ne $Null) { $Model = $elem.Model.Version}

if ($Model -ne 'N/A' -and $NumPhysicalCores -ne 'N/A' -and $NumLogicalCores -ne 'N/A' ) {
$DevicesInfo += "$($index): $($Model) Phys. Cores: $($NumPhysicalCores), Log. Threads: $($NumLogicalCores); "
} else {
$DevicesInfo += "$($index): '$($DisplayName)'; "
}
} else {
if ($IncludeNotPresentProcessors -eq $True) {
$DevicesInfo += "$($index): '$($DisplayName)' (Empty socket); "
}
}
$index++
}

$cpuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/ServerName$" , $IP)
$cpuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/Devices$" , $Devices)
$cpuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/DevicesInfo$", $DevicesInfo)

$cpuGroupInst.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)
$cpuGroupInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $groupName)
$discoveryData.AddInstance($cpuGroupInst)

# Processor Group hosted by Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsProcessorGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $cpuGroupInst
$discoveryData.AddInstance($relationship)

foreach ($elem in $cpuinst.CPU) {
$DisplayName = $elem.SocketDesignation
$Status = $elem.Status.GetAttribute("Description")
if ($Status -ne "empty") {
DebugOut "$IP - Processor '$DisplayName' Model: '$($elem.Model.Version)' Vendor: '$($elem.Manufacturer)' Speed: $($elem.Speed) Logical Cores: $($elem.LogicalCpuNumber) Status: '$Status'"

# Default to 'N/A' in case the iRMC has lost this information and needs a server reboot/POST
$Model = 'N/A'
$Manufacturer = 'N/A'
$NumLogicalCores = 'N/A'
$NumPhysicalCores = 'N/A'
$MaxClockSpeed = 'N/A'

$L1Cache = 'N/A'
$L2Cache = 'N/A'
$L3Cache = 'N/A'

if ($elem.Model.Version -ne $Null) { $Model = $elem.Model.Version}
if ($elem.Manufacturer -ne $Null) { $Manufacturer = $elem.Manufacturer}
if ($elem.LogicalCpuNumber -ne $Null) { $NumLogicalCores = $elem.LogicalCpuNumber}
if ($elem.CoreNumber -ne $Null) { $NumPhysicalCores = $elem.CoreNumber}
if ($elem.Speed -ne $Null) { $MaxClockSpeed = $elem.Speed}

if ($elem.Level1CacheSize.InnerText -ne $Null) { $L1Cache = $elem.Level1CacheSize.InnerText +" " +$elem.Level1CacheSize.GetAttribute("Unit") }
if ($elem.Level2CacheSize.InnerText -ne $Null) { $L2Cache = $elem.Level2CacheSize.InnerText +" " +$elem.Level2CacheSize.GetAttribute("Unit") }
if ($elem.Level3CacheSize.InnerText -ne $Null) { $L3Cache = $elem.Level3CacheSize.InnerText +" " +$elem.Level3CacheSize.GetAttribute("Unit") }

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']$")

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/Model$" , $Model)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/Manufacturer$" , $Manufacturer)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/NumLogicalCores$" , $NumLogicalCores)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/NumPhysicalCores$", $NumPhysicalCores)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/MaxClockSpeed$" , $MaxClockSpeed)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/L1Cache$" , $L1Cache)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/L2Cache$" , $L2Cache)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Processor']/L3Cache$" , $L3Cache)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)

$discoveryData.AddInstance($instance)

# Processor Group hosted by Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessor']$")
$relationship.Source = $cpuGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

} else {
DebugOut "$IP - Processor '$DisplayName' Status: '$Status'"
if ($IncludeNotPresentProcessors -eq $True) {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent']$")

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent']/Status$", "CPU not installed")
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.SocketDesignation)
$discoveryData.AddInstance($instance)

# Group hosts Non Present component
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessorNotPresent']$")
$relationship.Source = $cpuGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}
}
} else {
# Every Server has at least one active CPU or it won't boot.
# Mark Discovery as incomplete if we don't have any CPU information
$discoveryData.IsSnapshot = $False
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Processor Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Processor Discovery: Exception=$_ ")
$discoveryData.IsSnapshot = $False
}

try {
# Memory
if ($meminst -ne $Null -and $meminst.HasChildNodes) {

# HealthCollection Class Properties: Get List of devices
# try to match other MP's Device and Device Info
if ($meminst.Installed -ne $Null -and $meminst.Installed -ne 0){
# We do have a valid total, so the modules will have information as well
DebugOut "$IP - Total installed memory is $($meminst.Installed)"
$Devices = ""
$DevicesInfo = ""
try {
[int]$totalMemory = $meminst.Installed # in MB
if ($totalMemory -lt 1024) {
$Devices = "Overall Memory: $($totalMemory) MB"
} else {
if (($totalMemory % 1024) -eq 0) {
$Devices = "Overall Memory: {0:d} GB" -f ($totalMemory/1024)
} else {
$Devices = "Overall Memory: {0:f} GB" -f ($totalMemory/1024)
}
}
} catch {}

# Build Device Info (list and count of size XX memory modules)
$index = 0
$mem_types = @{}
foreach ($elem in $meminst.Modules.Module) {
$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
if ($Status -ne "empty" -and $Status -ne "hidden") {
if ($elem.ConfigStatus -ne $Null) {
$ConfigStatus= $elem.ConfigStatus.GetAttribute("Description")
} else {
$ConfigStatus = 'N/A'
}

if ($ConfigStatus -ne 'Not usable') {
if (($elem.Size.InnerText -ne $Null) -and ($elem.Size.Unit -ne $Null)) { # Old Version with Unit attribute
$MemSize = $elem.Size.InnerText +" " +$elem.Size.Unit
} else {
[int]$size = [int]$elem.Size
if ($size -lt 1024) {
$MemSize = [string]$elem.Size +" MB"
} else {
$MemSize = [string]($size/1024) +" GB"
}
}
} else {
$MemSize = $ConfigStatus # also count/list 'Not usable' modules
}

if ($mem_types.ContainsKey($MemSize)) {
$count = $mem_types.Get_Item($MemSize) + 1
$mem_types.Set_Item($MemSize, $count)
} else {
$mem_types.Add($MemSize, 1)
}
$index++
}
}

if ($index -ne 0) {
$DevicesInfo = "Memory Types: "
foreach ($key in $mem_types.Keys) {
$DevicesInfo += "'$($key)': $($mem_types[$key]), "
}
}

} else {
# Memory information incomplete, list devices
DebugOut "$IP - installed memory information not available"
$Devices = ""
$DevicesInfo = ""
$index = 0
foreach ($elem in $meminst.Modules.Module) {
$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
if ($Status -ne "empty" -and $Status -ne "hidden") {
$DevicesInfo += "$($index): '$($DisplayName)'; "
$index++
}
}
if ($index -ne 0) {
$Devices = "Number of Memory Devices: $($index)"
} else {
$Devices = "N/A"
$DevicesInfo = "N/A"
}
}

# Memory Group
$groupName = $MemoryGroupName
$memGroupInst = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup']$")
$memGroupInst.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$memGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName) # key of hosting object

$memGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/ServerName$" , $IP)
$memGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/Devices$" , $Devices)
$memGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/DevicesInfo$", $DevicesInfo)

$memGroupInst.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)
$memGroupInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $groupName)
$discoveryData.AddInstance($memGroupInst)

# Memory Group hosted by Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMemoryGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $memGroupInst
$discoveryData.AddInstance($relationship)

$index = 0
foreach ($elem in $meminst.Modules.Module) {
$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Memory Module '$($DisplayName)' Status: '$($Status)'"

if ($Status -ne "empty" -and $Status -ne "hidden") {
if ($elem.ConfigStatus -ne $Null) {
$ConfigStatus= $elem.ConfigStatus.GetAttribute("Description")
} else {
$ConfigStatus = 'N/A'
}

if ($ConfigStatus -ne 'Not usable') {
if ($elem.BusFrequency -ne $Null) {
$BusFrequency = [string]($elem.BusFrequency.InnerText +" " +$elem.BusFrequency.Unit)
}
if (($elem.Size -ne $Null) -and ($elem.Size.Unit -ne $Null)) {
# Old Firmware Version with Unit attribute
$MemSize = $elem.Size.InnerText +" " +$elem.Size.Unit
} else {
[int]$size = [int]$elem.Size
if ($size -lt 1024) {
$MemSize = [string]$elem.Size +" MByte"
} else {
$MemSize = [string]($size/1024) +" GByte"
}
}
if ( ($elem.Type-ne $Null) -and ($elem.SPD.ModuleType -ne $Null) ) {
$MemType = $elem.Type +" / " + $elem.SPD.ModuleType
} else {
$MemType = $elem.Type
}

# Note: The JEDEC Spec does not specify how the serial number bytes has to be interpreted (as integer or hex or proprietary).
# Match the iRMC Web Interface which interprets this as unsigned integer.
#$MemSerialNumber = $elem.SPD.ModuleSerialNumber.AsString # hex string version
if ($elem.SPD.ModuleSerialNumber -ne $Null) {
$MemSerialNumber = $elem.SPD.ModuleSerialNumber.InnerText
if ($MemSerialNumber.EndsWith('l')) {
# Work around for a formatting bug in some iRMC Firmware versions (%ul instead of %lu)
$MemSerialNumber = $MemSerialNumber.SubString(0, $MemSerialNumber.Length -1)
}

if ($MemSerialNumber.StartsWith('-')) {
# Work around for another formatting bug in some iRMC Firmware versions (%d instead of %u)
try {
[UInt32]$uVal = [Convert]::ToUInt32($elem.SPD.ModuleSerialNumber.AsString, 16)
$MemSerialNumber = [string]$uVal
} catch {
$MemSerialNumber ='N/A'
}
}
}

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']$")

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/Type$", $MemType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/Size$", $MemSize)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/BusFrequency$", $BusFrequency)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/Voltage$", $elem.SPD.VoltageInterface)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/Manufacturer$", $elem.SPD.ModuleManufacturer)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/ManufacturingDate$", $elem.SPD.ModuleManufacturingDate)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/PartNumber$", $elem.SPD.ModulePartNumber)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/SerialNumber$", $MemSerialNumber)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/RevisionCode$", $elem.SPD.ModuleRevisionCode)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule']/ConfigStatus$", $ConfigStatus)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# Memory Group hosts memory
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemory']$")
$relationship.Source = $memGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

} else {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable']$")

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable']/ConfigStatus$", $ConfigStatus)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# Memory Group hosts not usable memory
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotUsable']$")
$relationship.Source = $memGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

}

$index++

} else {
# TODO: currently do not report empty memory modules (can be up to 128 Modules)
}
}

# No valid module information detected (BMC has not gotten any information from BIOS during POST)
if ($index -eq 0){
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_MEMORY_INFORMATION_NOT_INITIALIZED -Message ("Memory Information not initialized - please reboot the Fujitsu Out-Of-Band Server")
DebugWarn "$IP - Memory Information not initialized - please reboot the Fujitsu Out-Of-Band Server"
}
} else {
# Every Server has at least one Memory Module or it won't boot.
# Mark Discovery as incomplete if we don't have any Memory information
$discoveryData.IsSnapshot = $False
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Memory Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Memory Discovery: Exception=$_ ")
$discoveryData.IsSnapshot = $False
}

try {
# Fans
if ($faninst -ne $Null -and $faninst.Count -ne 0) {
DebugOut "$IP - has $($fanInst.Count) Fans"
# Fan Group
$groupName = $FanGroupName
$fanGroupInst = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup']$")
$fanGroupInst.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$fanGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName) # key of hosting object

# HealthCollection Class Properties: Get List of devices
$Devices = ""
$DevicesInfo = ""
$index = 0
foreach ($elem in $faninst.Fan) {
$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
if ($Status -ne "not present") {
$DevicesInfo += "$($index): '$($DisplayName)'; "
} else {
if ($IncludeNotPresentFans -eq $True) {
$DevicesInfo += "$($index): '$($DisplayName)' Fan not installed; "
}
}
$index++
}
# Match other MP's Device Info
$Devices = "Number of Fan Devices: $($index)"

$fanGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/ServerName$" , $IP)
$fanGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/Devices$" , $Devices)
$fanGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/DevicesInfo$", $DevicesInfo)

$fanGroupInst.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)
$fanGroupInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $groupName)
$discoveryData.AddInstance($fanGroupInst)

# Fan Group hosted by Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsFanGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $fanGroupInst
$discoveryData.AddInstance($relationship)

foreach ($elem in $faninst.Fan) {
$CurrentSpeed = "N/A"
$CurrentMaximalSpeed = "N/A"
$NominalMaximalSpeed = "N/A"

$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Fan '$DisplayName' Status: '$Status'"
if ($Status -ne "not present") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.Fan']$")
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ServerName$", $ServerName)

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# Fan Group hosts Fan
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFan']$")
$relationship.Source = $fanGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

} else {
if ($IncludeNotPresentFans -eq $True) {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent']$")

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent']/Status$", "Fan not installed")
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# Group hosts Non Present component
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFanNotPresent']$")
$relationship.Source = $fanGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}
}
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Fan Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Fan Discovery: Exception=$_ ")
$discoveryData.IsSnapshot = $False
}

try {
# Power Supplies
if ($psuinst -ne $Null -and $psuInst.Count -ne 0) {
DebugOut "$IP - has $($psuInst.Count) Power Supplies"
# Power Supplies Group
$groupName = $PowerSupplyGroupName
$psuGroupInst = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup']$")
$psuGroupInst.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$psuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName) # key of hosting object

# HealthCollection Class Properties: Get List of devices
$Devices = ""
$DevicesInfo = ""
$index = 0
foreach ($elem in $psuinst.PowerSupply) {
$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
if ($Status -ne "not present") {
$DevicesInfo += "$($index): '$($DisplayName)'; "
} else {
if ($IncludeNotPresentPowerSupplies -eq $True) {
$DevicesInfo += "$($index): '$($DisplayName)' PSU not installed; "
}
}
$index++
}
# Match other MP's Device Info
$Devices = "Number of Power Supplies: $($index)"

$psuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/ServerName$" , $IP)
$psuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/Devices$" , $Devices)
$psuGroupInst.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/DevicesInfo$", $DevicesInfo)

$psuGroupInst.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)
$psuGroupInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $groupName)
$discoveryData.AddInstance($psuGroupInst)

# Power Supply Group hosted by Server
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsPowerSupplyGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $psuGroupInst
$discoveryData.AddInstance($relationship)

$idx = 0
foreach ($elem in $psuinst.PowerSupply) {
$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Power Supply '$DisplayName' Status: '$Status'"

if ($Status -ne "not present") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']$")
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent']/ServerName$", $ServerName)

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$PsuModel = "N/A"
$PsuVersion = "N/A"
$PsuSerialNumber = "N/A"
$PsuPartNumber = "N/A"
$PsuManufacturer = "N/A"
$PsuManufacturingDate = "N/A"

$a = $fruinst.Class.Instance | where { $_.ClassCode -eq "8" -and $_.Index -eq $idx }
$b = @($a.Data.Decoded.String)
for($i = 0; $i -lt $b.Count; $i++) {
if ($b[$i].ValueID -eq "0800") { $PsuSerialNumber = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0801") { $PsuPartNumber = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0803") { $PsuVersion = $b[$i].InnerText}
if ($b[$i].ValueID -eq "0808") { $PsuModel = $b[$i].InnerText}
if ($b[$i].ValueID -eq "080A") { $PsuManufacturer = $b[$i].InnerText}
if ($b[$i].ValueID -eq "080B") { $PsuManufacturingDate = $b[$i].InnerText}
}

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']/Model$" , $PsuModel)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']/Version$" , $PsuVersion)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']/Manufacturer$" , $PsuManufacturer)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']/ManufacturingDate$", $PsuManufacturingDate)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']/PartNumber$" , $PsuPartNumber)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply']/SerialNumber$" , $PsuSerialNumber)

$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# PSU Group hosts PSU
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupply']$")
$relationship.Source = $psuGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

} else {
if ($IncludeNotPresentPowerSupplies -eq $True) {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent']$")

# key(s) of hosting chain object(s)
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup']/ID$", $groupName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent']/Status$", "PSU not installed")
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# Group hosts Non Present component
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupplyNotPresent']$")
$relationship.Source = $psuGroupInst
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}
$idx++
}
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Power Supply Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Power Supply Discovery: Exception=$_ ")
$discoveryData.IsSnapshot = $False
}

try {

# Other Component Group and Component Status
if ($compInst -ne $Null -and $compinst.HasChildNodes) {

$OtherComponentsGroupDisplayName = "Other Component Status"
$OtherComponentsGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']$")
$OtherComponentsGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$OtherComponentsGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName) # key of hosting object

$OtherComponentsGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName) # key
$OtherComponentsGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $OtherComponentsGroupDisplayName)
$discoveryData.AddInstance($OtherComponentsGroupInstance)

# Server hosts other component status group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsOtherComponentStatusGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $OtherComponentsGroupInstance
$discoveryData.AddInstance($relationship)

$a = @( $compinst.Component | where { $_.SensorType -eq "Temperature" } )
if ($a -ne $Null -and $a.Count -gt 0) {
$componentGroupDisplayName ="Temperature Component Status"
$componentGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup']$")
# key(s) of hosting object(s) chain
$componentGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)

# HealthCollection Class Properties: Get List of devices
$Devices = ""
$DevicesInfo = ""
$index = 0
for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$Status = $a[$i].Status.GetAttribute("Description")
$DevicesInfo += "$($index): '$($DisplayName)'; "
$index++
}
# (Try to) match other MP's Device Info
$Devices = "Number of Temperature Component Status: $($index)"

$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/ServerName$" , $IP)
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/Devices$" , $Devices)
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/DevicesInfo$", $DevicesInfo)

$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup']/ID$", $componentGroupDisplayName ) # key
$componentGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $componentGroupDisplayName)
$discoveryData.AddInstance($componentGroupInstance)

# Server/ Other Component Group hosts component status group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsTemperatureComponentGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$SensorType = $a[$i].SensorType
$EntityIdString = $a[$i].EntityIdString
$EntityInstance = $a[$i].EntityInstance
$Status = $a[$i].Status.GetAttribute("Description")
DebugOut "$IP - Temperature Component Status: '$DisplayName' EntityId: '$EntityIdString' SensorType: '$SensorType' Status: '$Status'"

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureStatusGroupHostsTemperatureComponentStatus']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}

$a = @( $compinst.Component | where { ($_.SensorType -eq "Voltage") -or ($_.SensorType -eq "Battery") } )
if ($a -ne $Null -and $a.Count -gt 0) {
$componentGroupDisplayName = "Voltage Component Status"
$componentGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup']$")
# key(s) of hosting object(s) chain
$componentGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)

# HealthCollection Class Properties: Get List of devices
$Devices = ""
$DevicesInfo = ""
$index = 0
for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$Status = $a[$i].Status.GetAttribute("Description")
$DevicesInfo += "$($index): '$($DisplayName)'; "
$index++
}
# (Try to) match other MP's Device Info
$Devices = "Number of Voltage Component Status: $($index)"

$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/ServerName$" , $IP)
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/Devices$" , $Devices)
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.HealthCollection']/DevicesInfo$", $DevicesInfo)

$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup']/ID$", $componentGroupDisplayName ) # key
$componentGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $componentGroupDisplayName)
$discoveryData.AddInstance($componentGroupInstance)

# Server / Other Component Group hosts component status group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsVoltageComponentGroup']$")
$relationship.Source = $serverInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

# Additional Mainboard / Voltage Group Relationship
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardReferencesVoltageComponentGroup']$")
$relationship.Source = $mainBoardInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$SensorType = $a[$i].SensorType
$EntityIdString = $a[$i].EntityIdString
$EntityInstance = $a[$i].EntityInstance
$Status = $a[$i].Status.GetAttribute("Description")
DebugOut "$IP - Voltage Component Status: '$DisplayName' EntityId: '$EntityIdString' SensorType: '$SensorType' Status: '$Status'"

if ($EntityIdString -eq "Battery") {
if ($Status -ne 'Not present') {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus']$")
# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

} else {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryNotPresent']$")
# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/EntityId$", $EntityIdString) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/EntityInstance$", $EntityInstance) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/Status$", $Status)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

}
} else {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus']$")
# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)
}


# Component Status Sub-Group hosts specific component status
if ($EntityIdString -eq "Battery") {
if ($Status -ne 'Not present') {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryComponentStatus']$")
} else {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryNotPresent']$")
}
} else {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsVoltageComponentStatus']$")
}
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}

# PCI/PCIe Slot Components
$a = @( $compinst.Component | where { $_.SensorType -eq "Critical Interrupt" } )
if ($a -ne $Null -and $a.Count -gt 0) {
$componentGroupDisplayName = "PCIe Slot Component Status"
$componentGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup']$")
# key(s) of hosting object(s) chain
$componentGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)

$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup']/ID$", $componentGroupDisplayName ) # key
$componentGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $componentGroupDisplayName)
$discoveryData.AddInstance($componentGroupInstance)

# Other Component Group hosts component status sub-group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPciSlotComponentGroup']$")
$relationship.Source = $OtherComponentsGroupInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$SensorType = $a[$i].SensorType
$EntityIdString = $a[$i].EntityIdString
$EntityInstance = $a[$i].EntityInstance
$Status = $a[$i].Status.GetAttribute("Description")
DebugOut "$IP - PCIe Slot Component Status: '$DisplayName' EntityId: '$EntityIdString' SensorType: '$SensorType' Status: '$Status'"

if ($Status -ne "Not Present") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotComponentStatus']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

} else {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/EntityId$", $EntityIdString) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/EntityInstance$", $EntityInstance) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/Status$", "Empty Slot")
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotNotPresent']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}
}

# Drive Slot Component Status instances
# Note: requires special backplane
$a = @( $compinst.Component | where { $_.SensorType -match "Drive Slot" } )
if ($a -ne $Null -and $a.Count -gt 0) {
$componentGroupDisplayName = "Drive Slot Component Status"
$componentGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup']$")
# key(s) of hosting object(s) chain
$componentGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)

$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup']/ID$", $componentGroupDisplayName ) # key
$componentGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $componentGroupDisplayName)
$discoveryData.AddInstance($componentGroupInstance)

# Other Component Group hosts component status sub-group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsDriveSlotComponentGroup']$")
$relationship.Source = $OtherComponentsGroupInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$SensorType = $a[$i].SensorType
$EntityIdString = $a[$i].EntityIdString
$EntityInstance = $a[$i].EntityInstance
$Status = $a[$i].Status.GetAttribute("Description")
DebugOut "$IP - Drive Slot Component Status: '$DisplayName' EntityId: '$EntityIdString' SensorType: '$SensorType' Status: '$Status'"

if ($Status -ne "Not Present") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotComponentStatus']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)

} else {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/EntityId$", $EntityIdString) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/EntityInstance$", $EntityInstance) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/ServerName$", $ServerName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent']/Status$", "Empty Slot")
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotNotPresent']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}
}

# System Management Software Component Status instances
$a = @( $compinst.Component | where { $_.EntityIdString -eq "System Management Software" } )
if ($a -ne $Null -and $a.Count -gt 0) {
$componentGroupDisplayName = "Software Component Status"
$componentGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup']$")
# key(s) of hosting object(s) chain
$componentGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)

$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup']/ID$", $componentGroupDisplayName ) # key
$componentGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $componentGroupDisplayName)
$discoveryData.AddInstance($componentGroupInstance)

# Other Component Group hosts component sub-group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtSoftwareComponentGroup']$")
$relationship.Source = $OtherComponentsGroupInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$SensorType = $a[$i].SensorType
$EntityIdString = $a[$i].EntityIdString
$EntityInstance = $a[$i].EntityInstance
$Status = $a[$i].Status.GetAttribute("Description")
DebugOut "$IP - Software Component Status: '$DisplayName' EntityId: '$EntityIdString' SensorType: '$SensorType' Status: '$Status'"

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareStatusGroupHostsMgmtSoftwareComponentStatus']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}

# Power Unit Component Status instances
$a = @( $compinst.Component | where { $_.EntityIdString -match "Power Unit" } )
if ($a -ne $Null -and $a.Count -gt 0) {
$componentGroupDisplayName = "Power Unit Components"
$componentGroupInstance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup']$")
# key(s) of hosting object(s) chain
$componentGroupInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$componentGroupInstance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)

$componentGroupInstance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup']/ID$", $componentGroupDisplayName ) # key
$componentGroupInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $componentGroupDisplayName)
$discoveryData.AddInstance($componentGroupInstance)

# Other Component Group hosts component sub-group
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerUnitComponentGroup']$")
$relationship.Source = $OtherComponentsGroupInstance
$relationship.Target = $componentGroupInstance
$discoveryData.AddInstance($relationship)

for($i = 0; $i -lt $a.Count; $i++){
$DisplayName = $a[$i].Name
$SensorType = $a[$i].SensorType
$EntityIdString = $a[$i].EntityIdString
$EntityInstance = $a[$i].EntityInstance
$Status = $a[$i].Status.GetAttribute("Description")
DebugOut "$IP - Power Unit Component Status: '$DisplayName' EntityId: '$EntityIdString' SensorType: '$SensorType' Status: '$Status'"

$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus']$")

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup']/ID$", $componentGroupDisplayName )

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $DisplayName)
$discoveryData.AddInstance($instance)

# Component Status Sub-Group hosts specific component status
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitStatusGroupHostsPowerUnitComponentStatus']$")
$relationship.Source = $componentGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
}

# Remaining Component Status instances
foreach ($elem in $compinst.Component) {
if ($elem.EntityIdString -eq "Memory Device" -and $elem.SensorType -eq "Memory") { continue } # handled separately
if ($elem.EntityIdString -eq "Processor" -and $elem.SensorType -eq "Processor") { continue } # handled separately
if ($elem.SensorType -eq "Fan") { continue } # handled separately
if ($elem.SensorType -eq "Power Supply") { continue } # handled separately
if ($elem.SensorType -eq "Voltage") { continue } # handled above within Voltages Sub-Group
if ($elem.SensorType -eq "Battery") { continue } # handled above within Voltages Sub-Group
if ($elem.SensorType -eq "Temperature") { continue } # handled above as Sub-Group
if ($elem.SensorType -eq "Critical Interrupt") { continue } # handled above as Sub-Group (PCIe Slots)
if ($elem.SensorType -match "Drive Slot") { continue } # handled above as Sub-Group (Drive Slots)
if ($elem.EntityIdString -match "Power Unit") { continue } # handled above as Sub-Group
if ($elem.EntityIdString -eq "System Management Software") { continue } # handled above as Sub-Group


$DisplayName = $elem.Name
$Status = $elem.Status.GetAttribute("Description")
DebugOut "$IP - Other Component Status: '$DisplayName' EntityId: '$($elem.EntityIdString)' SensorType: '$($elem.SensorType)' Status: '$Status'"

if ($elem.EntityIdString -eq "Power Monitoring") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus']$")
} elseif ($elem.EntityIdString -match "System Firmware") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus']$")
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus']/BiosVersion$", $BiosVersion)

} elseif ($elem.EntityIdString -match "System Management Module") {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus']$")
if ($elem.Name -match 'iRMC') {
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus']/FirmwareVersion$", $BmcFirmwareVersion)
} else {
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus']/FirmwareVersion$", 'N/A')
}
} else {
$instance = $discoveryData.CreateClassInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus']$")
}

# key(s) of hosting object(s) chain
$instance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP) # host
$instance.AddProperty("$MPElement[Name='FTSLIB!Fujitsu.ServerView.Server']/NetworkName$", $NetworkName)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup']/ID$", $OtherComponentsGroupDisplayName)

$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ID$", $DisplayName) # key
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/SensorType$", $elem.SensorType)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityId$", $elem.EntityIdString)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/EntityInstance$", $elem.EntityInstance)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ManagementUrl$", $hostURL)
$instance.AddProperty("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus']/ServerName$", $ServerName)
$instance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $elem.Name)
$discoveryData.AddInstance($instance)

# Other Component Group hosts specific component status
if ($elem.EntityIdString -eq "Power Monitoring") {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerMonitoringComponentStatus']$")
} elseif ($elem.EntityIdString -match "System Firmware") {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsBiosComponentStatus']$")
} elseif ($elem.EntityIdString -match "System Management Module") {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtCtrlComponentStatus']$")
} else {
$relationship = $discoveryData.CreateRelationshipInstance("$MPElement[Name='Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsOtherComponentStatus']$")
}

$relationship.Source = $OtherComponentsGroupInstance
$relationship.Target = $instance
$discoveryData.AddInstance($relationship)
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_COMPONENT_STATUS_INFORMATION -Message ("Component Status Information not available")
DebugWarn "$IP - Component Status Information not available"
$discoveryData.IsSnapshot = $False
}

} catch {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Server Component Status Discovery: Exception=$_")
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Component Status Discovery: Exception=$_"
$discoveryData.IsSnapshot = $False
}

DebugOut "$IP - Finished discovery of Fujitsu Out-Of-Band Server"
$discoveryData
}

# This script part contains helper functions to perform web based requests
# and is embedded into the final script via Visual Studio Authoring Extensions

[int]$DEFAULT_REQUEST_TIMEOUT = 30 # seconds
[int]$DEFAULT_RETRY_INCREMENT = 10 # seconds
[int]$MAX_REQUEST_RETRIES = 3

[int]$ERROR_SSL_CA_ERROR = 8399 # is not a prime
[int]$ERROR_SSL_CN_ERROR = 8499 # is not a prime

[int]$ERROR_BMC_NO_RESPONSE = 8599 # is a prime
[int]$ERROR_BMC_NO_ACCESS = 8699 # is a prime
[int]$ERROR_BMC_TIMEOUT = 8799 # is not a prime
[int]$ERROR_BMC_BUSY = 8999 # is a prime

# Subset of possible HTTP error codes
[int]$HTTP_RC_CONTINUE = 100
[int]$HTTP_RC_OK = 200
[int]$HTTP_RC_CREATED = 201
[int]$HTTP_RC_ACCEPTED = 202
[int]$HTTP_RC_NO_CONTENT = 204
[int]$HTTP_RC_RESET_CONTENT = 205
[int]$HTTP_RC_PARTIAL_CONTENT = 206

[int]$HTTP_RC_MULTIPLE_CHOICES = 300
[int]$HTTP_RC_MOVED_PERMANENTLY = 301
[int]$HTTP_RC_MOVED_TEMPORARILY = 302
[int]$HTTP_RC_NOT_MODIFIED = 304
[int]$HTTP_RC_BAD_REQUEST = 400
[int]$HTTP_RC_UNAUTHORIZED = 401
[int]$HTTP_RC_FORBIDDEN = 403
[int]$HTTP_RC_NOT_FOUND = 404
[int]$HTTP_RC_METHOD_NOT_ALLOWED = 405
[int]$HTTP_RC_NOT_ACCEPTABLE = 406
[int]$HTTP_RC_REQ_TIMEOUT = 408

[int]$HTTP_RC_SERVER_ERROR = 500
[int]$HTTP_RC_NOT_IMPLEMENTED = 501
[int]$HTTP_RC_SERVICE_UNAVAILABLE = 503

[bool]$global:SSL_CA_ERROR = $False
[bool]$global:SSL_CN_ERROR = $False
[bool]$global:SSL_NO_CERT_ERROR = $False


$SslCertificateValidator =
{
Param (
[System.Object] $obj,
[System.Security.Cryptography.X509Certificates.X509Certificate] $certificate,
[System.Security.Cryptography.X509Certificates.X509Chain] $chain,
[System.Net.Security.SslPolicyErrors] $errors
)

if ($errors -eq [System.Net.Security.SslPolicyErrors]::None) {
return $True
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateChainErrors) -and ($SkipCACheck -eq $False)) {
$global:SSL_CA_ERROR = $True
return $False
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNameMismatch) -and ($SkipCNCheck -eq $False)) {
$global:SSL_CN_ERROR = $True
return $False
}

# No cert provided
if ($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNotAvailable) {
$global:SSL_NO_CERT_ERROR = $True
return $False
}

# All checks passed
return $True
}

# Will return $Null on error
Function DoWebRequest(
[String]$url,
[string]$Method = "GET",
[System.Net.NetworkCredential]$Credentials = $NetworkCredential ,
[String]$requestData = $Null,
[int] $RequestTimeout = $DEFAULT_REQUEST_TIMEOUT,
[string]$AuthType = "Basic"
)
{
[int]$retries = 0;
for ($retries = 0; $retries -lt $MAX_REQUEST_RETRIES; $retries++) {
try {
[string]$errorMsg = $Null

$global:SSL_CN_ERROR = $False
$global:SSL_CA_ERROR = $False
$global:SSL_NO_CERT_ERROR = $False

$webRequest = [System.Net.WebRequest]::Create($url)
if ($Credentials -ne $Null) {
if ($AuthType -eq "Basic") {
# Do not wait for the 401 response, send the credentials with the initial request
$AuthData = [Convert]::ToBase64String([Text.Encoding]::Default.GetBytes($Credentials.UserName + ':' + $Credentials.Password));
$webRequest.Headers.Add('Authorization', "Basic $AuthData")

$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $False
$webRequest.KeepAlive = $False # make sure the connection is not re-used
} else {
$webRequest.Credentials = $Credentials
$webRequest.PreAuthenticate = $True
}
} else {
$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
}
# $webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $false

$webRequest.Timeout = ($RequestTimeout *1000)
$webRequest.ReadWriteTimeout = ($RequestTimeout *1000)
$webRequest.Method = $Method
$webRequest.Accept = "*/*"
$webRequest.KeepAlive = $False # make sure the connection is not re-used
try {
$webRequest.ServicePoint.ConnectionLimit = 1000
$webRequest.ServicePoint.ConnectionLeaseTimeout = 0 # Close Connection after servicing a request
$webRequest.ServicePoint.MaxIdleTime = 1 # in MilliSeconds, close connection afterwards
$webRequest.ServerCertificateValidationCallback = $SslCertificateValidator
} catch {
DebugErr 9999 "$IP - '$url' - Could not set extended config Exception=$_"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = $SslCertificateValidator
}

if ($requestData.Length -gt 0) {
$buffer = [System.Text.Encoding]::UTF8.GetBytes($requestData)
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
}

[System.Timespan]$resTime = Measure-Command {

try {
$webResponse= $webRequest.GetResponse()
} catch [System.Net.WebException] {
$webResponse = $_.Exception.Response
$errorMsg = $_.Exception.Message
$stackTrace = $_.Exception.StackTrace
$innerException = $_.Exception.InnerException
} catch {
$webResponse = $Null
}
}

if ($webResponse -ne $Null) {
[string]$Location = $webResponse.GetResponseHeader("Location") # $webResponse.Headers.Get("Location")
[string]$Server = $webResponse.GetResponseHeader("Server") # $webResponse.Headers.Get("Server")
[System.Net.HttpStatusCode] $statusCode = $($webResponse.StatusCode.value__)

if ( $global:iRMCDetected -eq $False ){
if ($Server -match "iRMC") {
$global:iRMCDetected = $True
}
}
$responseStream = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $responseStream.ReadToEnd()
$responseStream.Close()
$webResponse.Close()

switch ( $($webResponse.StatusCode.value__) ) {
$HTTP_RC_OK { # 200
DebugOut "$IP - $url request handled within $($resTime.TotalSeconds) seconds..."
return $result
}
$HTTP_RC_MOVED_PERMANENTLY { # 301
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_MOVED_TEMPORARILY { # 302
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_UNAUTHORIZED { # 401
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
return
}
$HTTP_RC_FORBIDDEN { # 403
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("No permission (403)")
return
}
$HTTP_RC_NOT_FOUND { # 404
return
}
$HTTP_RC_SERVER_ERROR { # 500
return
}
$HTTP_RC_NOT_IMPLEMENTED { # 501
return
}
$HTTP_RC_SERVICE_UNAVAILABLE { # 503
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_BUSY -Message ("iRMC is too busy (503)")
DebugErr $ERROR_BMC_BUSY "$IP - '$url' - iRMC is too busy to handle request"
return
}

default {
return $result
}
}
} else {

# Check for SSL related errors
if ($global:SSL_CN_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CN_ERROR -Message ("Certificate Common Name (CN) Mismatch")
DebugOut "$IP - $url Certificate Name (CN) Mismatch ..."
return
} elseif ($global:SSL_CA_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CA_ERROR -Message ("Certificate Authority (CA) or Certificate Chain Error")
DebugOut "$IP - $url Certificate Authority (CA) or Chain Error ..."
return
} elseif ($global:SSL_NO_CERT_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_ERROR -Message ("No Certificate present")
DebugOut "$IP - $url No Certificate present ..."
return
}

# no response (object), check for the timeout value.
# If the connection gets closed during early send/receive,
# this is typically within a few seconds, otherwise the configured timeout will have expired
if ($resTime -ne $Null -and [int]$resTime.TotalSeconds -lt 5) {
[int]$retryDelay = (($retries +1) * $DEFAULT_RETRY_INCREMENT)
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response / connection closed ")
if ($errorMsg -ne $Null) { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds ($errorMsg)"}
else { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds (no details available)"}
if ($innerException -ne $Null) { DebugWarn "InnerException:`r`n$innerException" }
if ($stackTrace -ne $Null ) { DebugWarn "Stack Trace:`r`n$stackTrace" }
Start-Sleep -Seconds $retryDelay
} else {
# Note: do no report actual timeout seconds here, or alert suppression will not fully work due to different text
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_TIMEOUT -Message ("'$url' no response. Timeout was $RequestTimeout seconds")
DebugOut "$IP - '$url' no response within $($resTime.TotalSeconds) seconds. Timeout was $RequestTimeout seconds"
return
}
}
} catch {
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("'$url' generic Exception=$_")
DebugWarn "$IP - '$url' generic Exception=$_"
}
}
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response after $retries retries (last error: $errorMsg)")
DebugOut "$IP - '$url' no response after $retries retries (last error: $errorMsg)"
}



# This script part contains helper functions to perform various logging activities
# and is embedded into the final script via Visual Studio Authoring Extensions

# Log an event into the registry, Source will be 'Health Service Script'
# See https://msdn.microsoft.com/en-us/library/bb437630.aspx
[int]$WARNING_LEVEL = 2
[int]$ERROR_LEVEL = 1
[int]$INFO_LEVEL = 0

$LOGFILE_VERSION = 8.1.0.0

# Generic version
Function RaiseEvent {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)

$channel = "Operations Manager"

if ([System.Diagnostics.EventLog]::SourceExists($EventSource) -eq $False) {
try {
[System.Diagnostics.EventLog]::CreateEventSource($EventSource, $channel)
} catch {

}
}

$eventLog = new-object System.Diagnostics.EventLog -ArgumentList @($channel)
$eventLog.Source = $EventSource

$eventData = @()
$eventData += $EventSource
$eventData += $Message
$eventData += $PoShScriptName

# Note: map different enum values
if($EventLevel -eq $INFO_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Information
} elseif($EventLevel -eq $WARNING_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Warning
} elseif($EventLevel -eq $ERROR_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Error
}

$eventInstance = new-object System.Diagnostics.EventInstance -ArgumentList @($EventNumber, 0, $EventLevel)
$eventLog.WriteEvent($eventInstance, $eventData)
}

Function LogScriptEventWithEventSource {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
DebugOut "Writing Event $($EventNumber) Level=($EventLevel) Source='$($EventSource)' Message='$($Message)'"
if ($ScriptApi -ne $Null) {
$ScriptApi.LogScriptEvent($EventSource, $EventNumber, $EventLevel, $Message)
}
}

# Backwards compatible wrapper
Function LogScriptEvent {
Param (
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
# Note: Log will be written always with Event Source 'Health Service Script'
if ($ScriptApi -ne $Null) {
# Note: do not use actual script name to consolidate Alert Suppression from parallel scripts
$ScriptApi.LogScriptEvent("Fujitsu Out-Of-Band", $EventNumber, $EventLevel, $Message)
# $ScriptApi.LogScriptEvent($PoShScriptName, $EventNumber, $EventLevel, $Message)
}
}

# set CONSTANT variables (can not be changed):
set-variable -name SVISCOMLogXmlName -value "SVISCOM-OutOfBand.xml" -option constant
set-variable -name SVISCOMLogXm_Name -value "SVISCOM-OutOfBand.xm_" -option constant
set-variable -name SectionRoot -value "root" -option constant
set-variable -name SectionCommentSection -value "CommentSection" -option constant

# Traces for Discoveries
set-variable -name SectionServerDiscovery -value "ServerDiscovery" -option constant
set-variable -name SectionSmashDiscovery -value "SmashDiscovery" -option constant
set-variable -name SectionRaidDiscovery -value "RaidDiscovery" -option constant
set-variable -name SectionPerformanceDiscovery -value "PerformanceDiscovery" -option constant

# Traces for Monitors
set-variable -name SectionHardwareComponentMonitor -value "HardwareComponentsMonitor" -option constant
set-variable -name SectionComponentStatusMonitor -value "ComponentStatusMonitor" -option constant
set-variable -name SectionRaidMonitor -value "RaidMonitor" -option constant
set-variable -name SectionPerformanceMonitor -value "PerformanceMonitor" -option constant

set-variable -name SectionCommentHosts -value "CommentHosts" -option constant
set-variable -name TagDebugMode -value "DebugMode" -option constant
set-variable -name TagOverWrite -value "OverWrite" -option constant
set-variable -name TagHostsDiscovery -value "HostsForDiscovery" -option constant
set-variable -name TagHostsMonitoring -value "HostsForMonitoring" -option constant

# --------------------------------------------------------------------------
# Global variables = variables, which are changed in different functions ...
# ... and the changed value shall be available in the calling function
# --------------------------------------------------------------------------
$global:DebugMode = $False
$global:DebugFile = $False
$global:OverWrite = $True
$global:DebugHosts = ""
$global:DebugForHost = "$False"
$global:ErrFilePrefix = "ERRORTrace"
$global:WarnFilePrefix = "WARNINGTrace"
$global:LogTargetName = ""
$global:LogFilePrefix = ""
$global:LogFilePath = "$Env:TEMP\SVISCOM\SVISCOM-OutOfBand"
$global:LogFileName = "$LogFilePath\$($LogFilePrefix).log"

$global:MPVERSION = "N/A" # default
$global:MP_NAME = "N/A" # default

# --------------------------------------------------------------------------
Function Set-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
# Load SCOM Extensions if not already done
$OMPSInstallKey = "HKLM:\Software\Microsoft\System Center Operations Manager\12\Setup\Powershell\V2"
$regKey = get-item $OMPSInstallKey
$OMPSInstallPath = $regKey.GetValue("InstallDirectory")
$omModule = $OMPSInstallPath + "OperationsManager"
Import-Module -Name $omModule

$MP = Get-SCOMManagementPack -Name $MpName
if ($MP -ne $Null) {
$MpVersion = "$($MP.Version.Major).$($MP.Version.Minor).$($MP.Version.Build).$($MP.Version.Revision)"
DebugOut "'$($MP.DisplayName)' Management Pack Version is $MpVersion"
try {
if (!(Test-Path -Path $RegistryPath)) {
New-Item -Path $RegistryPath | Out-Null
}
Set-ItemProperty -Path $RegistryPath -Name ( "$($MpName).CurrentVersion") -Value $MpVersion -Type String -ErrorAction Stop
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "Error writing Management Pack CurrentVersion. Exception: $_"
}
}
}
}

Function Get-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)
if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
try {
$regKey = get-item $RegistryPath
$global:MPVERSION = $regKey.GetValue( "$($MpName).CurrentVersion" )
} catch {}
}
}

Function PrepareLogging
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName,
[switch] $CreateSampleLogFile,
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

$global:LogFilePrefix = GiveBaseName $PoShScriptName
$global:LogFileName = "$global:LogFilePath\$($global:LogFilePrefix)Trace_$ServerName.log"
$global:MP_NAME = $MpName

Get-CurrentManagementPackVersion -MpName $MpName

if ($CreateSampleLogFile) {
CreateLogXmlFile
}
if ($global:DebugMode -eq $False) {
GetLogXmlFile $Section $HostTag $ServerName
}

CreateLogFile

#DebugOut "SYSTEMDRIVE = $env:SYSTEMDRIVE"
#DebugOut "TEMP = $env:TEMP"
DebugOut "LogFilePath = $global:LogFilePath"
DebugOut "LogFileName = $global:LogFileName"

$global:LogTargetName = $ServerName
}

Function GiveBaseName
{
Param (
[string] $in
)

$a = $in.split('.')
Write-Output "$($a[0])"
}

Function CreateLogXmlFile
{
$fileOK = $False
$pathOK = $False
$Xm_FileName = "$global:LogFilePath\$SVISCOMLogXm_Name"

# create the target directory, if it does not exist
if ( ! (Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}
if (Test-Path -Path $global:LogFilePath) {
$pathOK = $True
}

if (Test-Path -Path $Xm_FileName) {
$txt = get-content $Xm_FileName
foreach ($line in $txt) {
if ($line.contains($LOGFILE_VERSION)) {
$fileOK = $True
break
}
}
}

if (($pathOK -eq $True) -and ($fileOK -eq $False)) {
# we write a new SVISCOM-OutOfBand.xm_ file every time the MP is changed to make sure all
# INI-Values are documented for use by the customer if anything changes.
if (Test-Path -Path $Xm_FileName) {
Remove-Item -Path $Xm_FileName -Force | Out-Null
}
#Create xm_ file
New-Item -Path $Xm_FileName -ItemType File | Out-Null

Add-Content -Path $Xm_FileName -Value @"
&lt;$SectionRoot&gt;
&lt;!--
$SVISCOMLogXmlName Debug XML file Version $LOGFILE_VERSION

With this file logging for PowerShell scripts within the
- Fujitsu Out-Of-Band Management Pack and
- Optional Extension Management Packs for the Fujitsu Out-Of-Band Management Pack
can be enabled.

Rename the file type from '.xm_' to '.xml' to enable reading this file.

Note: You have to enable debug for a script and also select the server in
the '&lt;$TagHostsDiscovery&gt;' or '&lt;$TagHostsMonitoring&gt;' section to generate traces (see below).

The following sections specify for which PowerShell scripts the traces will be generated;
Each of the sections represents a single PowerShell script.

'&lt;$TagDebugMode&gt;' enables logging (yes) or disables logging (no)
'&lt;$TagOverWrite&gt;' defines continuous logging (no) or single script run logging (yes)
--&gt;
&lt;!-- DISCOVERIES --&gt;
&lt;!-- The following section enables trace files for the Out-Of-Band Server discovery script --&gt;
&lt;$SectionServerDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionServerDiscovery&gt;
&lt;!-- The following section enables trace files for the SMASH device discovery script --&gt;
&lt;$SectionSmashDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionSmashDiscovery&gt;
&lt;!-- The following section enables trace files for the RAID discovery script --&gt;
&lt;$SectionRaidDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidDiscovery&gt;
&lt;!-- The following section enables trace files for the Performance Monitor discovery script --&gt;
&lt;$SectionPerformanceDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceDiscovery&gt;

&lt;!-- MONITORS --&gt;
&lt;!-- The following section enables trace files for the main server Hardware Components (CPU/Memory/Fan/PowerSupply) monitoring script --&gt;
&lt;$SectionHardwareComponentMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionHardwareComponentMonitor&gt;
&lt;!-- The following section enables trace files for the 'Component Status' monitoring script --&gt;
&lt;$SectionComponentStatusMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionComponentStatusMonitor&gt;
&lt;!-- The following section enables trace files for the RAID monitoring script --&gt;
&lt;$SectionRaidMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidMonitor&gt;
&lt;!-- The following section enables trace files for the Performance monitoring script --&gt;
&lt;$SectionPerformanceMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceMonitor&gt;

&lt;!--
The following sections specify for which servers the traces will be generated:

In the '&lt;$TagHostsDiscovery&gt;' and '&lt;$TagHostsMonitoring&gt;' sections
single or multiple servers can be specified for verbose debug output
during the discovery and/or during monitoring.

Use '&lt;$TagHostsDiscovery&gt;' for selecting hosts for the discovery trace.
Use '&lt;$TagHostsMonitoring&gt;' for selecting hosts for the monitoring trace.

Use 'all' (without quote signs) for all Fujitsu Out-Of-Band Servers monitored by SCOM.
Use a single IP address or a comma separated list to select multiple single servers
Example:
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;192.168.1.100,192.168.1.101,192.168.1.102&lt;/$TagHostsMonitoring&gt;

will generate discovery traces for all Fujitsu Out-Of-Band Servers and
will generate monitoring traces only for servers with the IP address
192.168.1.100 192.168.1.101 and 192.168.1.102
--&gt;
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;all&lt;/$TagHostsMonitoring&gt;
&lt;/$SectionRoot&gt;
"
@
}
}

Function GetLogXmlFile
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName
)

$XmlFileName = "$global:LogFilePath\$SVISCOMLogXmlName"
$ListOfHosts = ""

if (Test-Path -Path $global:LogFilePath) {
if (Test-Path -Path $XmlFileName) {
[xml]$xmlfile = Get-Content $XmlFileName

if ($xmlfile.$SectionRoot.$section.$TagDebugMode -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagDebugMode).ToUpper() -eq "YES") {
$global:DebugMode = $True
$global:DebugFile = $True
}
}

if ($xmlfile.$SectionRoot.$section.$TagOverWrite -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagOverWrite).ToUpper() -eq "NO") {
$global:OverWrite = $False
}
}

if ($xmlfile.$SectionRoot.$HostTag -ne $null) {
$global:DebugHosts = $($xmlfile.$SectionRoot.$HostTag).ToLower()
}

# Check if DEBUG shall run for this server.
# There are two possibilities to check: "all" server DEBUG is on or this server is in the list.
if ($global:DebugHosts -eq "all") {
$global:DebugForHost = $True
} else {
# Check if this host is in the list of DebugHosts
$ListOfHosts = $($global:DebugHosts).split(',')
DebugOut "Searching for host: $ServerName"
DebugOut "in list of DebugHosts: $global:DebugHosts"

if ($ServerName.ToLower() -in $ListOfHosts) {
$global:DebugForHost = $True
}
}

} # else file does not exist
} # else directory does not exist
}

Function CreateLogFile
{
# For some reason checking for "$True" with "if ($global:a -and $global:b)" is not evaluated correctly!!!
# It works OK in a test with a simple PS script ... no idea why ... Thus we use:
if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
# Create the target directory, if it does not exist
if (!(Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}

# Check if file exists and delete if it does and OverWrite is set to TRUE
if (Test-Path -Path $global:LogFileName) {
DebugOut ""
DebugOut "Log file already exists at: $global:LogFileName"
if ($global:OverWrite -eq $True) {
Remove-Item -Path $global:LogFileName -Force | Out-Null
}
}
# If the file has just been removed (OverWrite = YES) or the file does not exist: create it
if (!(Test-Path -Path $global:LogFileName)) {
#Create log file
New-Item -Path $global:LogFileName -ItemType File | Out-Null
}

Add-Content -Path $global:LogFileName -Value @"
********** $(Get-Date -Format F) **********`r
********** $($global:LogFileName) **********`r
********** Management Pack '$($global:MP_NAME)' Version: $($global:MPVERSION)`r
"
@
}
}
}

Function DebugOut
{
Param (
[string] $Text
)

if ($global:DebugForHost -eq $True) {
if ($global:DebugMode -eq $True) {
Write-Host $Text
}

if ($global:DebugFile -eq $True) {
if ($global:LogFileName.Length -gt 0) {
if (Test-Path -Path $global:LogFileName) {
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $global:LogFileName -Value "$DateTime $Text"
}
}
}
}
}

Function DebugWarn
{
Param (
[string] $Text
)

DebugOut "Warning: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$WarnLogFile = "$global:LogFilePath\$($WarnFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $WarnLogFile -Value "[$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}

Function DebugErr
{
Param (
[int] $ErrNo,
[string] $Text
)

DebugOut "Error: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$ErrLogFile = "$global:LogFilePath\$($ErrFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $ErrLogFile -Value "[$($ErrNo)] [$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}




Main
</Script></ScriptBody>
<!--
Note:
Generating the full System Report used for the discovery can take quite long,
especially when partial System Report is not supported and RAID data is present
-->

<TimeoutSeconds>600</TimeoutSeconds>
<StrictErrorHandling>false</StrictErrorHandling>
<!-- Out-Of-Band Server iRMC Access Parameters -->
<IP>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/IP$</IP>
<Port>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/Port$</Port>
<UserName>$RunAs[Name='OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile']/UserName$</UserName>
<Password>$RunAs[Name='OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile']/Password$</Password>
<SkipCACheck>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<!-- Additional Discovery Script Parameters -->
<UseDnsNameAsNetworkName>false</UseDnsNameAsNetworkName>
<UseDnsNameAsDisplayName>true</UseDnsNameAsDisplayName>
<IncludeNotPresentProcessors>true</IncludeNotPresentProcessors>
<IncludeNotPresentFans>true</IncludeNotPresentFans>
<IncludeNotPresentPowerSupplies>true</IncludeNotPresentPowerSupplies>
</DataSource>
</Discovery>
<Discovery ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SmashDeviceDiscovery" Target="OOB!Microsoft.SystemCenter.OOB.WSManDevice" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" Comment="Discovers a Microsoft SMASH device with correct properties">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="OOB!Microsoft.SystemCenter.OOB.SMASHDevice">
<Property TypeID="OOB!Microsoft.SystemCenter.OOB.SMASHDevice" PropertyID="Name" />
<Property TypeID="OOB!Microsoft.SystemCenter.OOB.SMASHDevice" PropertyID="SMBIOSGuid" />
<Property TypeID="OOB!Microsoft.SystemCenter.OOB.SMASHDevice" PropertyID="ServiceTag" />
<Property TypeID="OOB!Microsoft.SystemCenter.OOB.WSManDevice" PropertyID="IP" />
<Property TypeID="System!System.Entity" PropertyID="DisplayName" />
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider">
<!-- Note: default is every 12 hours -->
<IntervalSeconds>43200</IntervalSeconds>
<SyncTime>1:45</SyncTime>
<!-- Note: spread discovery over 15 minutes -->
<SpreadInitializationOverInterval>900</SpreadInitializationOverInterval>
<ScriptName>SmashDeviceDiscovery.ps1</ScriptName>
<ScriptBody><Script>
##################################################################################
# #
# NOTICE #
# #
# COPYRIGHT 2014 - 2016 Fujitsu Technology Solutions #
# ALL RIGHTS RESERVED #
# #
# This computer program is CONFIDENTIAL and contains TRADE SECRETS of #
# Fujitsu Technology Solutions. The receipt or possession of this program does #
# not convey any rights to reproduce or disclose its contents, or to #
# manufacture, use, or sell anything that it may describe, in whole or #
# in part, without the specific written consent of Fujitsu Technology Solutions. #
# Any reproduction of this program without the express written consent #
# of Fujitsu Technology Solutions is a violation of the copyright laws and may #
# subject you to civil liability and criminal prosecution. #
# #
##################################################################################


# Note: The original Microsoft SMASH discovery cannot retrieve UUID and Asset Tag (Service Tag) from CIM via winrm due to different namespace
# Create a SMASH device with correct values if we have these information

param(
[string]$IP,
[int] $Port,
[string]$UserName,
[string]$Password,
[string]$SkipCACheck = "False",
[string]$SkipCNCheck = "False",
[int] $TimeoutSeconds = 300
)

$ScriptApi = New-Object -comObject "MOM.ScriptAPI"
if ($ScriptApi -eq $Null) { Exit -1 }

$discoveryData = $ScriptApi.CreateDiscoveryData(0, "$MPElement$", "$Target/Id$")

# set CONSTANT variables (can not be changed):
set-variable -name PoShScriptName -value "SmashDeviceDiscovery.ps1" -option constant

[int]$SCRIPT_EVENT_NUMBER = 8117 # a prime
[int]$ERROR_NO_CONFIG_INFORMATION = 8123 # a prime

$ServerUuid = 'N/A' # from the HP-SIM Integration data
$ServerAssetTag = 'N/A' # from exported configuration

# Associated ConfigSpace Value Id symbolic names (hexadecimal)
$ConfBMCAssetTag = '210' # System Asset Tag: OI=0

# we need to make multiple authenticated HTTP requests...
$hostURL = "https://" + $IP + ":" + $Port
[System.Net.NetworkCredential]$NetworkCredential = New-Object System.Net.NetworkCredential ($username, $password)
[System.Net.ServicePointManager]::DefaultConnectionLimit = 1000

[bool]$global:iRMCDetected = $False

[xml]$xml = New-Object XML

# Strip any potential garbage at the and of the XML string
Function Clean-XmlString ([string]$xmlString, [string]$endTag) {
if ($xmlString.contains( $endTag )) {
$xmlString.TrimEnd( $xmlString.Substring( ($xmlString.IndexOf($endTag) +$endTag.Length) ))
} else {
$xmlString
}
}

Function Main {

PrepareLogging -Section $SectionSmashDiscovery -HostTag $TagHostsDiscovery -ServerName $IP -CreateSampleLogFile -MpName "Fujitsu.Servers.PRIMERGY.OutOfBand"

DebugOut "Start discovery Microsoft SMASH device for Fujitsu Out-Of-Band Server"
DebugOut "$IP - Port=$Port TimeoutSeconds=$TimeoutSeconds SkipCACheck=$SkipCACheck SkipCNCheck=$SkipCNCheck"

# Get HP-SIM Integration response
# Note: returns 404 when disabled.
$Response = DoWebRequest -url ($hostURL + "/xmldata?item=All") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;RIMP") ) {
try {
$HPSIM_XML = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/RIMP&gt;" )
if ($HPSIM_XML -ne $Null -and $HPSIM_XML.HasChildNodes) {
$ServerUuid = $($HPSIM_XML.RIMP.HSI.UUID);
$BmcFirmwareVersion = $($HPSIM_XML.RIMP.MP.FWRI);
DebugOut "$IP - HP-SIM Integration Response is valid: Firmware=$BmcFirmwareVersion UUID=$ServerUuid "
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Invalid HP-SIM Integration Response. Exception: $_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Invalid HP-SIM Integration Response. Exception: $_")
}
} else {
DebugOut "$IP - HP-SIM Integration Response not available"
}

#############################################################################################
# Get the Asset Tag from the iRMC Configuration (Note: no need to read if we have no UUID)
if ($ServerUuid -ne 'N/A') {
try {
$Response = DoWebRequest -url ($hostURL + "/iRMC_Settings.pre?SAVE_ALL=1") -Method "GET" -Credentials $NetworkCredential -RequestTimeout $DEFAULT_REQUEST_TIMEOUT
if ($Response -ne $Null -and $Response.Contains("&lt;CMDSEQ") ) {
try {
$xml = [xml]( Clean-XmlString -xmlString $Response -endTag "&lt;/CMDSEQ&gt;" )
if ($xml -ne $Null -and $xml.HasChildNodes ) {
# ConfBMCAssetTag
$a = $xml.CMDSEQ.CMD | where { $_.OE -eq $ConfBMCAssetTag -and $_.OI -eq '0'}
if (($a.DATA.Type -eq "xsd::string") -and ($a.DATA.InnerText -ne "") ){
DebugOut "$IP - Asset Tag '$($a.DATA.InnerText)'"
$ServerAssetTag = $a.DATA.InnerText
} else {
DebugOut "$IP - Asset Tag NOT configured (empty)!"
}
}
} catch {
# DebugErr $ERROR_NO_CONFIG_INFORMATION "$IP - Could not process iRMC Configuration information. Exception=$_"
DebugErr $ERROR_NO_CONFIG_INFORMATION "$IP - Could not process iRMC Configuration information."
$discoveryData.IsSnapshot = $False
}
} else {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_NO_CONFIG_INFORMATION -Message ("iRMC Configuration Information not available")
DebugErr $ERROR_NO_CONFIG_INFORMATION "$IP - iRMC Configuration Information not available"
$discoveryData.IsSnapshot = $False
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - iRMC Configuration Discovery: Exception=$_"
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("Fujitsu Out-Of-Band Configuration Discovery: Exception=$_ ")
$discoveryData.IsSnapshot = $False
}
}

if (($ServerUuid -ne 'N/A') -and ($ServerAssetTag -ne 'N/A')) {
DebugOut "$IP - Creating SMASH device with UUID=$($ServerUuid) and AssetTag=$($ServerAssetTag)"

$smashInstance = $discoveryData.CreateClassInstance("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.SMASHDevice']$")
$smashInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.WSManDevice']/IP$", $IP)

$smashInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.SMASHDevice']/Name$", $IP)
$smashInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.SMASHDevice']/SMBIOSGuid$", $ServerUuid)
$smashInstance.AddProperty("$MPElement[Name='OOB!Microsoft.SystemCenter.OOB.SMASHDevice']/ServiceTag$", $ServerAssetTag)

$smashInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", $IP)
$discoveryData.AddInstance($smashInstance)
} else {
# Check if there is already an existing SMASH object for this discovery.
# If so, mark discovery incomplete

$OMPSInstallKey = "HKLM:\Software\Microsoft\System Center Operations Manager\12\Setup\Powershell\V2"
$regKey = get-item $OMPSInstallKey
$OMPSInstallPath = $regKey.GetValue("InstallDirectory")
$omModule = $OMPSInstallPath + "OperationsManager"
Import-Module -Name $omModule

$discoveryData.IsSnapshot = $True # default to not found ...
try {
$MyObj = Get-SCOMClass -Name 'Microsoft.SystemCenter.OOB.SMASHDevice' | Get-SCOMClassInstance | Where {$_.'[Microsoft.SystemCenter.OOB.WSManDevice].IP'.Value -eq $IP}
if ($MyObj -ne $Null) {
DebugOut "$IP - Found existing SMASH object - marking discovery incomplete..."
$discoveryData.IsSnapshot = $False
} else {
DebugOut "$IP - NOT found as existing SMASH object - giving up"
}
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "$IP - Could not determine existing object. Exception: $_"
}

}

DebugOut "$IP - Finished discovery of Microsoft SMASH device for Fujitsu Out-Of-Band Server"
$discoveryData
}

# This script part contains helper functions to perform web based requests
# and is embedded into the final script via Visual Studio Authoring Extensions

[int]$DEFAULT_REQUEST_TIMEOUT = 30 # seconds
[int]$DEFAULT_RETRY_INCREMENT = 10 # seconds
[int]$MAX_REQUEST_RETRIES = 3

[int]$ERROR_SSL_CA_ERROR = 8399 # is not a prime
[int]$ERROR_SSL_CN_ERROR = 8499 # is not a prime

[int]$ERROR_BMC_NO_RESPONSE = 8599 # is a prime
[int]$ERROR_BMC_NO_ACCESS = 8699 # is a prime
[int]$ERROR_BMC_TIMEOUT = 8799 # is not a prime
[int]$ERROR_BMC_BUSY = 8999 # is a prime

# Subset of possible HTTP error codes
[int]$HTTP_RC_CONTINUE = 100
[int]$HTTP_RC_OK = 200
[int]$HTTP_RC_CREATED = 201
[int]$HTTP_RC_ACCEPTED = 202
[int]$HTTP_RC_NO_CONTENT = 204
[int]$HTTP_RC_RESET_CONTENT = 205
[int]$HTTP_RC_PARTIAL_CONTENT = 206

[int]$HTTP_RC_MULTIPLE_CHOICES = 300
[int]$HTTP_RC_MOVED_PERMANENTLY = 301
[int]$HTTP_RC_MOVED_TEMPORARILY = 302
[int]$HTTP_RC_NOT_MODIFIED = 304
[int]$HTTP_RC_BAD_REQUEST = 400
[int]$HTTP_RC_UNAUTHORIZED = 401
[int]$HTTP_RC_FORBIDDEN = 403
[int]$HTTP_RC_NOT_FOUND = 404
[int]$HTTP_RC_METHOD_NOT_ALLOWED = 405
[int]$HTTP_RC_NOT_ACCEPTABLE = 406
[int]$HTTP_RC_REQ_TIMEOUT = 408

[int]$HTTP_RC_SERVER_ERROR = 500
[int]$HTTP_RC_NOT_IMPLEMENTED = 501
[int]$HTTP_RC_SERVICE_UNAVAILABLE = 503

[bool]$global:SSL_CA_ERROR = $False
[bool]$global:SSL_CN_ERROR = $False
[bool]$global:SSL_NO_CERT_ERROR = $False


$SslCertificateValidator =
{
Param (
[System.Object] $obj,
[System.Security.Cryptography.X509Certificates.X509Certificate] $certificate,
[System.Security.Cryptography.X509Certificates.X509Chain] $chain,
[System.Net.Security.SslPolicyErrors] $errors
)

if ($errors -eq [System.Net.Security.SslPolicyErrors]::None) {
return $True
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateChainErrors) -and ($SkipCACheck -eq $False)) {
$global:SSL_CA_ERROR = $True
return $False
}

if (($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNameMismatch) -and ($SkipCNCheck -eq $False)) {
$global:SSL_CN_ERROR = $True
return $False
}

# No cert provided
if ($errors -band [System.Net.Security.SslPolicyErrors]::RemoteCertificateNotAvailable) {
$global:SSL_NO_CERT_ERROR = $True
return $False
}

# All checks passed
return $True
}

# Will return $Null on error
Function DoWebRequest(
[String]$url,
[string]$Method = "GET",
[System.Net.NetworkCredential]$Credentials = $NetworkCredential ,
[String]$requestData = $Null,
[int] $RequestTimeout = $DEFAULT_REQUEST_TIMEOUT,
[string]$AuthType = "Basic"
)
{
[int]$retries = 0;
for ($retries = 0; $retries -lt $MAX_REQUEST_RETRIES; $retries++) {
try {
[string]$errorMsg = $Null

$global:SSL_CN_ERROR = $False
$global:SSL_CA_ERROR = $False
$global:SSL_NO_CERT_ERROR = $False

$webRequest = [System.Net.WebRequest]::Create($url)
if ($Credentials -ne $Null) {
if ($AuthType -eq "Basic") {
# Do not wait for the 401 response, send the credentials with the initial request
$AuthData = [Convert]::ToBase64String([Text.Encoding]::Default.GetBytes($Credentials.UserName + ':' + $Credentials.Password));
$webRequest.Headers.Add('Authorization', "Basic $AuthData")

$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $False
$webRequest.KeepAlive = $False # make sure the connection is not re-used
} else {
$webRequest.Credentials = $Credentials
$webRequest.PreAuthenticate = $True
}
} else {
$webRequest.Credentials = $Null
$webRequest.PreAuthenticate = $False
}
# $webRequest.PreAuthenticate = $False
# $webRequest.UseDefaultCredentials = $false

$webRequest.Timeout = ($RequestTimeout *1000)
$webRequest.ReadWriteTimeout = ($RequestTimeout *1000)
$webRequest.Method = $Method
$webRequest.Accept = "*/*"
$webRequest.KeepAlive = $False # make sure the connection is not re-used
try {
$webRequest.ServicePoint.ConnectionLimit = 1000
$webRequest.ServicePoint.ConnectionLeaseTimeout = 0 # Close Connection after servicing a request
$webRequest.ServicePoint.MaxIdleTime = 1 # in MilliSeconds, close connection afterwards
$webRequest.ServerCertificateValidationCallback = $SslCertificateValidator
} catch {
DebugErr 9999 "$IP - '$url' - Could not set extended config Exception=$_"
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = $SslCertificateValidator
}

if ($requestData.Length -gt 0) {
$buffer = [System.Text.Encoding]::UTF8.GetBytes($requestData)
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
}

[System.Timespan]$resTime = Measure-Command {

try {
$webResponse= $webRequest.GetResponse()
} catch [System.Net.WebException] {
$webResponse = $_.Exception.Response
$errorMsg = $_.Exception.Message
$stackTrace = $_.Exception.StackTrace
$innerException = $_.Exception.InnerException
} catch {
$webResponse = $Null
}
}

if ($webResponse -ne $Null) {
[string]$Location = $webResponse.GetResponseHeader("Location") # $webResponse.Headers.Get("Location")
[string]$Server = $webResponse.GetResponseHeader("Server") # $webResponse.Headers.Get("Server")
[System.Net.HttpStatusCode] $statusCode = $($webResponse.StatusCode.value__)

if ( $global:iRMCDetected -eq $False ){
if ($Server -match "iRMC") {
$global:iRMCDetected = $True
}
}
$responseStream = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $responseStream.ReadToEnd()
$responseStream.Close()
$webResponse.Close()

switch ( $($webResponse.StatusCode.value__) ) {
$HTTP_RC_OK { # 200
DebugOut "$IP - $url request handled within $($resTime.TotalSeconds) seconds..."
return $result
}
$HTTP_RC_MOVED_PERMANENTLY { # 301
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_MOVED_TEMPORARILY { # 302
if ($Location -match "login") {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
}
return
}
$HTTP_RC_UNAUTHORIZED { # 401
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("Invalid credentials")
return
}
$HTTP_RC_FORBIDDEN { # 403
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_ACCESS -Message ("No permission (403)")
return
}
$HTTP_RC_NOT_FOUND { # 404
return
}
$HTTP_RC_SERVER_ERROR { # 500
return
}
$HTTP_RC_NOT_IMPLEMENTED { # 501
return
}
$HTTP_RC_SERVICE_UNAVAILABLE { # 503
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_BUSY -Message ("iRMC is too busy (503)")
DebugErr $ERROR_BMC_BUSY "$IP - '$url' - iRMC is too busy to handle request"
return
}

default {
return $result
}
}
} else {

# Check for SSL related errors
if ($global:SSL_CN_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CN_ERROR -Message ("Certificate Common Name (CN) Mismatch")
DebugOut "$IP - $url Certificate Name (CN) Mismatch ..."
return
} elseif ($global:SSL_CA_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_CA_ERROR -Message ("Certificate Authority (CA) or Certificate Chain Error")
DebugOut "$IP - $url Certificate Authority (CA) or Chain Error ..."
return
} elseif ($global:SSL_NO_CERT_ERROR -eq $True) {
LogScriptEventWithEventSource -EventSource $IP -EventLevel $INFO_LEVEL -EventNumber $ERROR_SSL_ERROR -Message ("No Certificate present")
DebugOut "$IP - $url No Certificate present ..."
return
}

# no response (object), check for the timeout value.
# If the connection gets closed during early send/receive,
# this is typically within a few seconds, otherwise the configured timeout will have expired
if ($resTime -ne $Null -and [int]$resTime.TotalSeconds -lt 5) {
[int]$retryDelay = (($retries +1) * $DEFAULT_RETRY_INCREMENT)
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response / connection closed ")
if ($errorMsg -ne $Null) { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds ($errorMsg)"}
else { DebugWarn "$IP - '$url' no response / connection closed within $($resTime.TotalSeconds) seconds - will retry in $retryDelay seconds (no details available)"}
if ($innerException -ne $Null) { DebugWarn "InnerException:`r`n$innerException" }
if ($stackTrace -ne $Null ) { DebugWarn "Stack Trace:`r`n$stackTrace" }
Start-Sleep -Seconds $retryDelay
} else {
# Note: do no report actual timeout seconds here, or alert suppression will not fully work due to different text
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_TIMEOUT -Message ("'$url' no response. Timeout was $RequestTimeout seconds")
DebugOut "$IP - '$url' no response within $($resTime.TotalSeconds) seconds. Timeout was $RequestTimeout seconds"
return
}
}
} catch {
# LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $SCRIPT_EVENT_NUMBER -Message ("'$url' generic Exception=$_")
DebugWarn "$IP - '$url' generic Exception=$_"
}
}
LogScriptEventWithEventSource -EventSource $IP -EventLevel $WARNING_LEVEL -EventNumber $ERROR_BMC_NO_RESPONSE -Message ("'$url' no response after $retries retries (last error: $errorMsg)")
DebugOut "$IP - '$url' no response after $retries retries (last error: $errorMsg)"
}



# This script part contains helper functions to perform various logging activities
# and is embedded into the final script via Visual Studio Authoring Extensions

# Log an event into the registry, Source will be 'Health Service Script'
# See https://msdn.microsoft.com/en-us/library/bb437630.aspx
[int]$WARNING_LEVEL = 2
[int]$ERROR_LEVEL = 1
[int]$INFO_LEVEL = 0

$LOGFILE_VERSION = 8.1.0.0

# Generic version
Function RaiseEvent {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)

$channel = "Operations Manager"

if ([System.Diagnostics.EventLog]::SourceExists($EventSource) -eq $False) {
try {
[System.Diagnostics.EventLog]::CreateEventSource($EventSource, $channel)
} catch {

}
}

$eventLog = new-object System.Diagnostics.EventLog -ArgumentList @($channel)
$eventLog.Source = $EventSource

$eventData = @()
$eventData += $EventSource
$eventData += $Message
$eventData += $PoShScriptName

# Note: map different enum values
if($EventLevel -eq $INFO_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Information
} elseif($EventLevel -eq $WARNING_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Warning
} elseif($EventLevel -eq $ERROR_LEVEL) {
$EventLevel = [System.Diagnostics.EventLogEntryType]::Error
}

$eventInstance = new-object System.Diagnostics.EventInstance -ArgumentList @($EventNumber, 0, $EventLevel)
$eventLog.WriteEvent($eventInstance, $eventData)
}

Function LogScriptEventWithEventSource {
Param (
[parameter(Mandatory=$true)]
[string]$EventSource = "Fujitsu Out-Of-Band",
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
DebugOut "Writing Event $($EventNumber) Level=($EventLevel) Source='$($EventSource)' Message='$($Message)'"
if ($ScriptApi -ne $Null) {
$ScriptApi.LogScriptEvent($EventSource, $EventNumber, $EventLevel, $Message)
}
}

# Backwards compatible wrapper
Function LogScriptEvent {
Param (
[parameter(Mandatory=$true)]
[ValidateRange(0,2)]
[int]$EventLevel,
[parameter(Mandatory=$true)]
[int]$EventNumber,
[parameter(Mandatory=$true)]
[string]$Message
)
# Note: Log will be written always with Event Source 'Health Service Script'
if ($ScriptApi -ne $Null) {
# Note: do not use actual script name to consolidate Alert Suppression from parallel scripts
$ScriptApi.LogScriptEvent("Fujitsu Out-Of-Band", $EventNumber, $EventLevel, $Message)
# $ScriptApi.LogScriptEvent($PoShScriptName, $EventNumber, $EventLevel, $Message)
}
}

# set CONSTANT variables (can not be changed):
set-variable -name SVISCOMLogXmlName -value "SVISCOM-OutOfBand.xml" -option constant
set-variable -name SVISCOMLogXm_Name -value "SVISCOM-OutOfBand.xm_" -option constant
set-variable -name SectionRoot -value "root" -option constant
set-variable -name SectionCommentSection -value "CommentSection" -option constant

# Traces for Discoveries
set-variable -name SectionServerDiscovery -value "ServerDiscovery" -option constant
set-variable -name SectionSmashDiscovery -value "SmashDiscovery" -option constant
set-variable -name SectionRaidDiscovery -value "RaidDiscovery" -option constant
set-variable -name SectionPerformanceDiscovery -value "PerformanceDiscovery" -option constant

# Traces for Monitors
set-variable -name SectionHardwareComponentMonitor -value "HardwareComponentsMonitor" -option constant
set-variable -name SectionComponentStatusMonitor -value "ComponentStatusMonitor" -option constant
set-variable -name SectionRaidMonitor -value "RaidMonitor" -option constant
set-variable -name SectionPerformanceMonitor -value "PerformanceMonitor" -option constant

set-variable -name SectionCommentHosts -value "CommentHosts" -option constant
set-variable -name TagDebugMode -value "DebugMode" -option constant
set-variable -name TagOverWrite -value "OverWrite" -option constant
set-variable -name TagHostsDiscovery -value "HostsForDiscovery" -option constant
set-variable -name TagHostsMonitoring -value "HostsForMonitoring" -option constant

# --------------------------------------------------------------------------
# Global variables = variables, which are changed in different functions ...
# ... and the changed value shall be available in the calling function
# --------------------------------------------------------------------------
$global:DebugMode = $False
$global:DebugFile = $False
$global:OverWrite = $True
$global:DebugHosts = ""
$global:DebugForHost = "$False"
$global:ErrFilePrefix = "ERRORTrace"
$global:WarnFilePrefix = "WARNINGTrace"
$global:LogTargetName = ""
$global:LogFilePrefix = ""
$global:LogFilePath = "$Env:TEMP\SVISCOM\SVISCOM-OutOfBand"
$global:LogFileName = "$LogFilePath\$($LogFilePrefix).log"

$global:MPVERSION = "N/A" # default
$global:MP_NAME = "N/A" # default

# --------------------------------------------------------------------------
Function Set-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
# Load SCOM Extensions if not already done
$OMPSInstallKey = "HKLM:\Software\Microsoft\System Center Operations Manager\12\Setup\Powershell\V2"
$regKey = get-item $OMPSInstallKey
$OMPSInstallPath = $regKey.GetValue("InstallDirectory")
$omModule = $OMPSInstallPath + "OperationsManager"
Import-Module -Name $omModule

$MP = Get-SCOMManagementPack -Name $MpName
if ($MP -ne $Null) {
$MpVersion = "$($MP.Version.Major).$($MP.Version.Minor).$($MP.Version.Build).$($MP.Version.Revision)"
DebugOut "'$($MP.DisplayName)' Management Pack Version is $MpVersion"
try {
if (!(Test-Path -Path $RegistryPath)) {
New-Item -Path $RegistryPath | Out-Null
}
Set-ItemProperty -Path $RegistryPath -Name ( "$($MpName).CurrentVersion") -Value $MpVersion -Type String -ErrorAction Stop
} catch {
DebugErr $SCRIPT_EVENT_NUMBER "Error writing Management Pack CurrentVersion. Exception: $_"
}
}
}
}

Function Get-CurrentManagementPackVersion
{
Param (
[string] $RegistryPath = "HKLM:\SOFTWARE\Fujitsu\ServerView Suite\SCOM Integration\SVISCOM-OutOfBand",
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)
if ($RegistryPath -ne $Null -and $MpName -ne $Null) {
try {
$regKey = get-item $RegistryPath
$global:MPVERSION = $regKey.GetValue( "$($MpName).CurrentVersion" )
} catch {}
}
}

Function PrepareLogging
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName,
[switch] $CreateSampleLogFile,
[string] $MpName = "Fujitsu.Servers.PRIMERGY.OutOfBand"
)

$global:LogFilePrefix = GiveBaseName $PoShScriptName
$global:LogFileName = "$global:LogFilePath\$($global:LogFilePrefix)Trace_$ServerName.log"
$global:MP_NAME = $MpName

Get-CurrentManagementPackVersion -MpName $MpName

if ($CreateSampleLogFile) {
CreateLogXmlFile
}
if ($global:DebugMode -eq $False) {
GetLogXmlFile $Section $HostTag $ServerName
}

CreateLogFile

#DebugOut "SYSTEMDRIVE = $env:SYSTEMDRIVE"
#DebugOut "TEMP = $env:TEMP"
DebugOut "LogFilePath = $global:LogFilePath"
DebugOut "LogFileName = $global:LogFileName"

$global:LogTargetName = $ServerName
}

Function GiveBaseName
{
Param (
[string] $in
)

$a = $in.split('.')
Write-Output "$($a[0])"
}

Function CreateLogXmlFile
{
$fileOK = $False
$pathOK = $False
$Xm_FileName = "$global:LogFilePath\$SVISCOMLogXm_Name"

# create the target directory, if it does not exist
if ( ! (Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}
if (Test-Path -Path $global:LogFilePath) {
$pathOK = $True
}

if (Test-Path -Path $Xm_FileName) {
$txt = get-content $Xm_FileName
foreach ($line in $txt) {
if ($line.contains($LOGFILE_VERSION)) {
$fileOK = $True
break
}
}
}

if (($pathOK -eq $True) -and ($fileOK -eq $False)) {
# we write a new SVISCOM-OutOfBand.xm_ file every time the MP is changed to make sure all
# INI-Values are documented for use by the customer if anything changes.
if (Test-Path -Path $Xm_FileName) {
Remove-Item -Path $Xm_FileName -Force | Out-Null
}
#Create xm_ file
New-Item -Path $Xm_FileName -ItemType File | Out-Null

Add-Content -Path $Xm_FileName -Value @"
&lt;$SectionRoot&gt;
&lt;!--
$SVISCOMLogXmlName Debug XML file Version $LOGFILE_VERSION

With this file logging for PowerShell scripts within the
- Fujitsu Out-Of-Band Management Pack and
- Optional Extension Management Packs for the Fujitsu Out-Of-Band Management Pack
can be enabled.

Rename the file type from '.xm_' to '.xml' to enable reading this file.

Note: You have to enable debug for a script and also select the server in
the '&lt;$TagHostsDiscovery&gt;' or '&lt;$TagHostsMonitoring&gt;' section to generate traces (see below).

The following sections specify for which PowerShell scripts the traces will be generated;
Each of the sections represents a single PowerShell script.

'&lt;$TagDebugMode&gt;' enables logging (yes) or disables logging (no)
'&lt;$TagOverWrite&gt;' defines continuous logging (no) or single script run logging (yes)
--&gt;
&lt;!-- DISCOVERIES --&gt;
&lt;!-- The following section enables trace files for the Out-Of-Band Server discovery script --&gt;
&lt;$SectionServerDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionServerDiscovery&gt;
&lt;!-- The following section enables trace files for the SMASH device discovery script --&gt;
&lt;$SectionSmashDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionSmashDiscovery&gt;
&lt;!-- The following section enables trace files for the RAID discovery script --&gt;
&lt;$SectionRaidDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidDiscovery&gt;
&lt;!-- The following section enables trace files for the Performance Monitor discovery script --&gt;
&lt;$SectionPerformanceDiscovery&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceDiscovery&gt;

&lt;!-- MONITORS --&gt;
&lt;!-- The following section enables trace files for the main server Hardware Components (CPU/Memory/Fan/PowerSupply) monitoring script --&gt;
&lt;$SectionHardwareComponentMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionHardwareComponentMonitor&gt;
&lt;!-- The following section enables trace files for the 'Component Status' monitoring script --&gt;
&lt;$SectionComponentStatusMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionComponentStatusMonitor&gt;
&lt;!-- The following section enables trace files for the RAID monitoring script --&gt;
&lt;$SectionRaidMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionRaidMonitor&gt;
&lt;!-- The following section enables trace files for the Performance monitoring script --&gt;
&lt;$SectionPerformanceMonitor&gt;
&lt;$TagDebugMode&gt;yes&lt;/$TagDebugMode&gt;
&lt;$TagOverWrite&gt;no&lt;/$TagOverWrite&gt;
&lt;/$SectionPerformanceMonitor&gt;

&lt;!--
The following sections specify for which servers the traces will be generated:

In the '&lt;$TagHostsDiscovery&gt;' and '&lt;$TagHostsMonitoring&gt;' sections
single or multiple servers can be specified for verbose debug output
during the discovery and/or during monitoring.

Use '&lt;$TagHostsDiscovery&gt;' for selecting hosts for the discovery trace.
Use '&lt;$TagHostsMonitoring&gt;' for selecting hosts for the monitoring trace.

Use 'all' (without quote signs) for all Fujitsu Out-Of-Band Servers monitored by SCOM.
Use a single IP address or a comma separated list to select multiple single servers
Example:
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;192.168.1.100,192.168.1.101,192.168.1.102&lt;/$TagHostsMonitoring&gt;

will generate discovery traces for all Fujitsu Out-Of-Band Servers and
will generate monitoring traces only for servers with the IP address
192.168.1.100 192.168.1.101 and 192.168.1.102
--&gt;
&lt;$TagHostsDiscovery&gt;all&lt;/$TagHostsDiscovery&gt;
&lt;$TagHostsMonitoring&gt;all&lt;/$TagHostsMonitoring&gt;
&lt;/$SectionRoot&gt;
"
@
}
}

Function GetLogXmlFile
{
Param (
[string] $Section,
[string] $HostTag,
[string] $ServerName
)

$XmlFileName = "$global:LogFilePath\$SVISCOMLogXmlName"
$ListOfHosts = ""

if (Test-Path -Path $global:LogFilePath) {
if (Test-Path -Path $XmlFileName) {
[xml]$xmlfile = Get-Content $XmlFileName

if ($xmlfile.$SectionRoot.$section.$TagDebugMode -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagDebugMode).ToUpper() -eq "YES") {
$global:DebugMode = $True
$global:DebugFile = $True
}
}

if ($xmlfile.$SectionRoot.$section.$TagOverWrite -ne $null) {
if ($($xmlfile.$SectionRoot.$Section.$TagOverWrite).ToUpper() -eq "NO") {
$global:OverWrite = $False
}
}

if ($xmlfile.$SectionRoot.$HostTag -ne $null) {
$global:DebugHosts = $($xmlfile.$SectionRoot.$HostTag).ToLower()
}

# Check if DEBUG shall run for this server.
# There are two possibilities to check: "all" server DEBUG is on or this server is in the list.
if ($global:DebugHosts -eq "all") {
$global:DebugForHost = $True
} else {
# Check if this host is in the list of DebugHosts
$ListOfHosts = $($global:DebugHosts).split(',')
DebugOut "Searching for host: $ServerName"
DebugOut "in list of DebugHosts: $global:DebugHosts"

if ($ServerName.ToLower() -in $ListOfHosts) {
$global:DebugForHost = $True
}
}

} # else file does not exist
} # else directory does not exist
}

Function CreateLogFile
{
# For some reason checking for "$True" with "if ($global:a -and $global:b)" is not evaluated correctly!!!
# It works OK in a test with a simple PS script ... no idea why ... Thus we use:
if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
# Create the target directory, if it does not exist
if (!(Test-Path -Path $global:LogFilePath)) {
New-Item -ItemType directory -Path $global:LogFilePath | Out-Null
}

# Check if file exists and delete if it does and OverWrite is set to TRUE
if (Test-Path -Path $global:LogFileName) {
DebugOut ""
DebugOut "Log file already exists at: $global:LogFileName"
if ($global:OverWrite -eq $True) {
Remove-Item -Path $global:LogFileName -Force | Out-Null
}
}
# If the file has just been removed (OverWrite = YES) or the file does not exist: create it
if (!(Test-Path -Path $global:LogFileName)) {
#Create log file
New-Item -Path $global:LogFileName -ItemType File | Out-Null
}

Add-Content -Path $global:LogFileName -Value @"
********** $(Get-Date -Format F) **********`r
********** $($global:LogFileName) **********`r
********** Management Pack '$($global:MP_NAME)' Version: $($global:MPVERSION)`r
"
@
}
}
}

Function DebugOut
{
Param (
[string] $Text
)

if ($global:DebugForHost -eq $True) {
if ($global:DebugMode -eq $True) {
Write-Host $Text
}

if ($global:DebugFile -eq $True) {
if ($global:LogFileName.Length -gt 0) {
if (Test-Path -Path $global:LogFileName) {
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $global:LogFileName -Value "$DateTime $Text"
}
}
}
}
}

Function DebugWarn
{
Param (
[string] $Text
)

DebugOut "Warning: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$WarnLogFile = "$global:LogFilePath\$($WarnFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $WarnLogFile -Value "[$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}

Function DebugErr
{
Param (
[int] $ErrNo,
[string] $Text
)

DebugOut "Error: $Text"

if ($global:DebugForHost -eq $True) {
if ($global:DebugFile -eq $True) {
$ErrLogFile = "$global:LogFilePath\$($ErrFilePrefix)_$($global:LogTargetName).log"
$DateTime = Get-Date -format "yyyy-MM-dd HH:mm:ss"
Add-Content -Path $ErrLogFile -Value "[$($ErrNo)] [$($DateTime)] [$($PoShScriptName)] $($Text)"
}
}
}




Main
</Script></ScriptBody>
<Parameters>
<Parameter>
<Name>sourceId</Name>
<Value>$MPElement$</Value>
</Parameter>
<Parameter>
<Name>managedEntityId</Name>
<Value>$Target/Id$</Value>
</Parameter>
<Parameter>
<Name>IP</Name>
<Value>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/IP$</Value>
</Parameter>
<Parameter>
<Name>Port</Name>
<Value>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/Port$</Value>
</Parameter>
<Parameter>
<Name>UserName</Name>
<Value>$RunAs[Name='OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile']/UserName$</Value>
</Parameter>
<Parameter>
<Name>Password</Name>
<Value>$RunAs[Name='OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile']/Password$</Value>
</Parameter>
<Parameter>
<Name>SkipCACheck</Name>
<Value>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</Value>
</Parameter>
<Parameter>
<Name>SkipCNCheck</Name>
<Value>$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</Value>
</Parameter>
<Parameter>
<Name>TimeoutSeconds</Name>
<Value>300</Value>
</Parameter>
</Parameters>
<TimeoutSeconds>300</TimeoutSeconds>
<StrictErrorHandling>false</StrictErrorHandling>
</DataSource>
</Discovery>
</Discoveries>
<Rules>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ScriptError.EventRule" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- Logged by monitoring scripts -->
<Value Type="UnsignedInteger">8011</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- Logged by Discovery -->
<Value Type="UnsignedInteger">8017</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ScriptError.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<!-- Event Text -->
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<!-- NetworkName/IP Address -->
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<!-- DisplayName of the Out-Of-Band Server instance -->
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
</AlertParameters>
<Suppression>
<!-- NetworkName/IP Address -->
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Error.EventRule" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_BMC_NO_RESPONSE -->
<Value Type="UnsignedInteger">8599</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Error.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Timeout.EventRule" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_BMC_TIMEOUT -->
<Value Type="UnsignedInteger">8799</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Timeout.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.BmcBusy.EventRule" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_BMC_BUSY -->
<Value Type="UnsignedInteger">8999</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.BmcBusy.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.NoAccess.EventRule" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">8699</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.NoAccess.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDescription$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
<SuppressionValue>$Data/EventNumber$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.NotInitialized.EventRule" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">8039</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.NotInitialized.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
<AlertParameter3>$Target/Property[Type="System!System.Entity"]/DisplayName$</AlertParameter3>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDescription$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
<SuppressionValue>$Data/EventNumber$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.UnsupportedFirmware.EventRule" Enabled="true" Target="SC!Microsoft.SystemCenter.ManagementServer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">8009</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">4</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<!-- 0: Informational 1: Warning -->
<Severity>0</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.UnsupportedFirmware.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CA.EventRule" Enabled="true" Target="SC!Microsoft.SystemCenter.ManagementServer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">8399</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">4</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<!-- 0: Informational 1: Warning -->
<Severity>0</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CA.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CN.EventRule" Enabled="true" Target="SC!Microsoft.SystemCenter.ManagementServer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Health Service Script</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">8499</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">4</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<!-- 0: Informational 1: Warning -->
<Severity>0</Severity>
<AlertMessageId>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CN.AlertMessageID"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
<AlertParameter2>$Data/Params/Param[1]$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/EventLevel$</SuppressionValue>
</Suppression>
<Custom1 />
<Custom2 />
<Custom3 />
<Custom4 />
<Custom5 />
<Custom6 />
<Custom7 />
<Custom8 />
<Custom9 />
<Custom10 />
</WriteAction>
</WriteActions>
</Rule>
</Rules>
<Monitors>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Data/Context/Count$</AlertParameter2>
<AlertParameter3>$Data/Context/TimeWindowStart$</AlertParameter3>
<AlertParameter4>$Data/Context/TimeWindowEnd$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeFirst$</AlertParameter5>
<AlertParameter6>$Data/Context/TimeLast$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning" />
<OperationalState ID="RepeatedEventReset" MonitorTypeStateID="RepeatedEventReset" HealthState="Success" />
</OperationalStates>
<Configuration>
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<FilterExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_NO_PROCESSOR_INFORMATION ...-->
<Value Type="UnsignedInteger">8069</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FilterExpression>
<ConsolidationEventDisplayNumber>EventDisplayNumber</ConsolidationEventDisplayNumber>
<ConsolidationPublisherName>PublisherName</ConsolidationPublisherName>
<RepeatedEventCount>3</RepeatedEventCount>
<IntervalSeconds>3600</IntervalSeconds>
<!-- slightly larger than 3 times default monitoring interval -->
<NoEventIntervalSeconds>1000</NoEventIntervalSeconds>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Data/Context/Count$</AlertParameter2>
<AlertParameter3>$Data/Context/TimeWindowStart$</AlertParameter3>
<AlertParameter4>$Data/Context/TimeWindowEnd$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeFirst$</AlertParameter5>
<AlertParameter6>$Data/Context/TimeLast$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning" />
<OperationalState ID="RepeatedEventReset" MonitorTypeStateID="RepeatedEventReset" HealthState="Success" />
</OperationalStates>
<Configuration>
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<FilterExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_NO_MEMORY_INFORMATION ...-->
<Value Type="UnsignedInteger">8059</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FilterExpression>
<ConsolidationEventDisplayNumber>EventDisplayNumber</ConsolidationEventDisplayNumber>
<ConsolidationPublisherName>PublisherName</ConsolidationPublisherName>
<RepeatedEventCount>3</RepeatedEventCount>
<IntervalSeconds>3600</IntervalSeconds>
<!-- slightly larger than 3 times default monitoring interval -->
<NoEventIntervalSeconds>1000</NoEventIntervalSeconds>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Data/Context/Count$</AlertParameter2>
<AlertParameter3>$Data/Context/TimeWindowStart$</AlertParameter3>
<AlertParameter4>$Data/Context/TimeWindowEnd$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeFirst$</AlertParameter5>
<AlertParameter6>$Data/Context/TimeLast$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning" />
<OperationalState ID="RepeatedEventReset" MonitorTypeStateID="RepeatedEventReset" HealthState="Success" />
</OperationalStates>
<Configuration>
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<FilterExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_NO_FAN_INFORMATION ...-->
<Value Type="UnsignedInteger">8049</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FilterExpression>
<ConsolidationEventDisplayNumber>EventDisplayNumber</ConsolidationEventDisplayNumber>
<ConsolidationPublisherName>PublisherName</ConsolidationPublisherName>
<RepeatedEventCount>3</RepeatedEventCount>
<IntervalSeconds>3600</IntervalSeconds>
<!-- slightly larger than 3 times default monitoring interval -->
<NoEventIntervalSeconds>1000</NoEventIntervalSeconds>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Data/Context/Count$</AlertParameter2>
<AlertParameter3>$Data/Context/TimeWindowStart$</AlertParameter3>
<AlertParameter4>$Data/Context/TimeWindowEnd$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeFirst$</AlertParameter5>
<AlertParameter6>$Data/Context/TimeLast$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning" />
<OperationalState ID="RepeatedEventReset" MonitorTypeStateID="RepeatedEventReset" HealthState="Success" />
</OperationalStates>
<Configuration>
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<FilterExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_NO_POWER_SUPPLY_INFORMATION ...-->
<Value Type="UnsignedInteger">8079</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FilterExpression>
<ConsolidationEventDisplayNumber>EventDisplayNumber</ConsolidationEventDisplayNumber>
<ConsolidationPublisherName>PublisherName</ConsolidationPublisherName>
<RepeatedEventCount>3</RepeatedEventCount>
<IntervalSeconds>3600</IntervalSeconds>
<!-- slightly larger than 3 times default monitoring interval -->
<NoEventIntervalSeconds>1000</NoEventIntervalSeconds>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter1>
<AlertParameter2>$Data/Context/Count$</AlertParameter2>
<AlertParameter3>$Data/Context/TimeWindowStart$</AlertParameter3>
<AlertParameter4>$Data/Context/TimeWindowEnd$</AlertParameter4>
<AlertParameter5>$Data/Context/TimeFirst$</AlertParameter5>
<AlertParameter6>$Data/Context/TimeLast$</AlertParameter6>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning" />
<OperationalState ID="RepeatedEventReset" MonitorTypeStateID="RepeatedEventReset" HealthState="Success" />
</OperationalStates>
<Configuration>
<ComputerName>.</ComputerName>
<LogName>Operations Manager</LogName>
<FilterExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<!-- ERROR_NO_COMPONENT_STATUS_INFORMATION ...-->
<Value Type="UnsignedInteger">8089</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<!-- IP Address ... -->
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FilterExpression>
<ConsolidationEventDisplayNumber>EventDisplayNumber</ConsolidationEventDisplayNumber>
<ConsolidationPublisherName>PublisherName</ConsolidationPublisherName>
<!-- Component Status is used for hardware and component status monitoring in parallel -->
<RepeatedEventCount>10</RepeatedEventCount>
<IntervalSeconds>3600</IntervalSeconds>
<!-- slightly larger than 3 times default monitoring interval -->
<NoEventIntervalSeconds>1000</NoEventIntervalSeconds>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.MonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ManagementUrl$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='IP']$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthOK" MonitorTypeStateID="HealthOK" HealthState="Success" />
<OperationalState ID="HealthWarning" MonitorTypeStateID="HealthWarning" HealthState="Warning" />
<OperationalState ID="HealthError" MonitorTypeStateID="HealthError" HealthState="Error" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>ComponentStatusHealth.ps1</ScriptName>
<!-- Note: Sufficient for a single web request with optional retries -->
<TimeoutSeconds>125</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ManagementUrl$</ManagementUrl>
<!-- Note: Fixed since we cannot determine actual values for all hosted Component Status elements (hosted on different levels) -->
<SkipCACheck>true</SkipCACheck>
<SkipCNCheck>true</SkipCNCheck>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ID$</ID>
<SensorType>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/SensorType$</SensorType>
<EntityId>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/EntityId$</EntityId>
<EntityInstance>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/EntityInstance$</EntityInstance>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateValid.Monitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.HealthStateValid.MonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateInvalid_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ManagementUrl$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='IP']$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthStateValid" MonitorTypeStateID="HealthStateValid" HealthState="Success" />
<OperationalState ID="HealthStateUnknown" MonitorTypeStateID="HealthStateUnknown" HealthState="Warning" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>ComponentStatusHealth.ps1</ScriptName>
<!-- Note: Sufficient for a single web request with optional retries -->
<TimeoutSeconds>125</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ManagementUrl$</ManagementUrl>
<!-- Note: Fixed since we cannot determine actual values for all hosted Component Status elements (hosted on different levels) -->
<SkipCACheck>true</SkipCACheck>
<SkipCNCheck>true</SkipCNCheck>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/ID$</ID>
<SensorType>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/SensorType$</SensorType>
<EntityId>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/EntityId$</EntityId>
<EntityInstance>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus"]/EntityInstance$</EntityInstance>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponentMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthOK" MonitorTypeStateID="HealthOK" HealthState="Success" />
<OperationalState ID="HealthWarning" MonitorTypeStateID="HealthWarning" HealthState="Warning" />
<OperationalState ID="HealthError" MonitorTypeStateID="HealthError" HealthState="Error" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponentMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthOK" MonitorTypeStateID="HealthOK" HealthState="Success" />
<OperationalState ID="HealthWarning" MonitorTypeStateID="HealthWarning" HealthState="Warning" />
<OperationalState ID="HealthError" MonitorTypeStateID="HealthError" HealthState="Error" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponentMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthOK" MonitorTypeStateID="HealthOK" HealthState="Success" />
<OperationalState ID="HealthWarning" MonitorTypeStateID="HealthWarning" HealthState="Warning" />
<OperationalState ID="HealthError" MonitorTypeStateID="HealthError" HealthState="Error" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponentMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthOK" MonitorTypeStateID="HealthOK" HealthState="Success" />
<OperationalState ID="HealthWarning" MonitorTypeStateID="HealthWarning" HealthState="Warning" />
<OperationalState ID="HealthError" MonitorTypeStateID="HealthError" HealthState="Error" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponent.HealthStateValid.Monitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent.HealthStateInvalid_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthStateValid" MonitorTypeStateID="HealthStateValid" HealthState="Success" />
<OperationalState ID="HealthStateUnknown" MonitorTypeStateID="HealthStateUnknown" HealthState="Warning" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponent.HealthStateValid.Monitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent.HealthStateInvalid_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthStateValid" MonitorTypeStateID="HealthStateValid" HealthState="Success" />
<OperationalState ID="HealthStateUnknown" MonitorTypeStateID="HealthStateUnknown" HealthState="Warning" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponent.HealthStateValid.Monitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent.HealthStateInvalid_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthStateValid" MonitorTypeStateID="HealthStateValid" HealthState="Success" />
<OperationalState ID="HealthStateUnknown" MonitorTypeStateID="HealthStateUnknown" HealthState="Warning" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<UnitMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponent.HealthStateValid.Monitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent.HealthStateInvalid_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Property[Type="FTSLIB!Fujitsu.ServerView.Server"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</AlertParameter3>
<AlertParameter4>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ServerName$</AlertParameter4>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="HealthStateValid" MonitorTypeStateID="HealthStateValid" HealthState="Success" />
<OperationalState ID="HealthStateUnknown" MonitorTypeStateID="HealthStateUnknown" HealthState="Warning" />
</OperationalStates>
<Configuration>
<IntervalSeconds>300</IntervalSeconds>
<ScriptName>HardwareComponentHealth.ps1</ScriptName>
<TimeoutSeconds>200</TimeoutSeconds>
<!-- Fixed Parameter Set -->
<UserName>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/UserName$</UserName>
<Password>$RunAs[Name="OOB!Microsoft.SystemCenter.OOB.SMASHMonitoringProfile"]/Password$</Password>
<ManagementUrl>$Target/Host/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</ManagementUrl>
<SkipCACheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCACheck$</SkipCACheck>
<SkipCNCheck>$Target/Host/Host/Host/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/SkipCNCheck$</SkipCNCheck>
<UseComponentStatus>true</UseComponentStatus>
<!-- Cookdown Filter Parameter -->
<ID>$Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent"]/ID$</ID>
<Host_ID>$Target/Host/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup"]/ID$</Host_ID>
</Configuration>
</UnitMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupPRIMERGYServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="FTSLIB!Fujitsu.ServerView.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsPYServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupBXServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsBXServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupCXServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsCXServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupRXServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsRXServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupSXServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsSXServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupTXServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsTXServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupXXServersGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsXXServersGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupPRIMERGYBXServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupContainsBXServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupPRIMERGYCXServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupContainsCXServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupPRIMERGYRXServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupContainsRXServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupPRIMERGYSXServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupContainsSXServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupPRIMERGYTXServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupContainsTXServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupPRIMERGYXXServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Remotable="true" Priority="Normal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupContainsXXServer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessor" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemory" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFan" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupply" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitorToServerStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsCommunicationMonitor" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupToServerStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsProcessorGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupToServerStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMemoryGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupToServerStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsFanGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupToServerStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsPowerSupplyGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerToiRmcDeviceStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDeviceHostsServer" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureStatusGroupHostsTemperatureComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsVoltageComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitStatusGroupHostsPowerUnitComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatusToGroupStatusHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareStatusGroupHostsMgmtSoftwareComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroupToServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsTemperatureComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroupToServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsVoltageComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroupToMainboardHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardReferencesVoltageComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroupToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsDriveSlotComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroupToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPciSlotComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroupToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerUnitComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroupToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtSoftwareComponentGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatusToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtCtrlComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatusToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerMonitoringComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatusToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsBiosComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusToOtherComponentStatusGroupHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsOtherComponentStatus" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
<DependencyMonitor ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupToOutOfBandServerHealthRollupMonitor" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsOtherComponentStatusGroup" MemberMonitor="SystemHealth!System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
</DependencyMonitor>
</Monitors>
</Monitoring>
<Presentation>
<ConsoleTasks>
<ConsoleTask ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebInterface.Server.Task" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" RequireOutput="false">
<Criteria></Criteria>
<Assembly>Res.DummyAssembly.Server.WebInterface</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="WorkingDirectory">%HOMEDRIVE%%HOMEPATH%</Argument>
<Argument Name="Application">"%SystemRoot%\System32\rundll32.exe"</Argument>
<Argument>url.dll,FileProtocolHandler $Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$</Argument>
</Parameters>
</ConsoleTask>
<ConsoleTask ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SystemReport.Server.Task" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" RequireOutput="false">
<Criteria></Criteria>
<Assembly>Res.DummyAssembly.Server.SystemReport</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="WorkingDirectory">%HOMEDRIVE%%HOMEPATH%</Argument>
<Argument Name="Application">"%SystemRoot%\System32\rundll32.exe"</Argument>
<Argument>url.dll,FileProtocolHandler $Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$/report.xml</Argument>
</Parameters>
</ConsoleTask>
<ConsoleTask ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Avr.Server.Task" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" RequireOutput="false">
<Criteria></Criteria>
<Assembly>Res.DummyAssembly.Server.Avr</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="WorkingDirectory">%HOMEDRIVE%%HOMEPATH%</Argument>
<Argument Name="Application">"%SystemRoot%\System32\rundll32.exe"</Argument>
<Argument>url.dll,FileProtocolHandler $Target/Property[Type="Fujitsu.Servers.PRIMERGY.OutOfBand.Server"]/ManagementUrl$/avr.jnlp</Argument>
</Parameters>
</ConsoleTask>
<ConsoleTask ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebInterface.BMC.Task" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice" RequireOutput="false">
<Criteria></Criteria>
<Assembly>Res.DummyAssembly.BMC.WebInterface</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="WorkingDirectory">%HOMEDRIVE%%HOMEPATH%</Argument>
<Argument Name="Application">"%SystemRoot%\System32\rundll32.exe"</Argument>
<Argument>url.dll,FileProtocolHandler https://$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/IP$:$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/Port$</Argument>
</Parameters>
</ConsoleTask>
<ConsoleTask ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SystemReport.BMC.Task" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice" RequireOutput="false">
<Criteria></Criteria>
<Assembly>Res.DummyAssembly.BMC.SystemReport</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="WorkingDirectory">%HOMEDRIVE%%HOMEPATH%</Argument>
<Argument Name="Application">"%SystemRoot%\System32\rundll32.exe"</Argument>
<Argument>url.dll,FileProtocolHandler https://$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/IP$:$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/Port$/report.xml</Argument>
</Parameters>
</ConsoleTask>
<ConsoleTask ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Avr.BMC.Task" Accessibility="Public" Enabled="true" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice" RequireOutput="false">
<Criteria></Criteria>
<Assembly>Res.DummyAssembly.BMC.Avr</Assembly>
<Handler>ShellHandler</Handler>
<Parameters>
<Argument Name="WorkingDirectory">%HOMEDRIVE%%HOMEPATH%</Argument>
<Argument Name="Application">"%SystemRoot%\System32\rundll32.exe"</Argument>
<Argument>url.dll,FileProtocolHandler https://$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/IP$:$Target/Property[Type="OOB!Microsoft.SystemCenter.OOB.WSManDevice"]/Port$/avr.jnlp</Argument>
</Parameters>
</ConsoleTask>
</ConsoleTasks>
<Views>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ActiveAlertsView" Accessibility="Public" Enabled="true" Target="System!System.LogicalEntity" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Visible="true">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="200" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
</Presentation>
<Target>$MPElement[Name="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup"]$</Target>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>BiosVersion</Name>
<Id>BiosVersion</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>FirmwareVersion</Name>
<Id>FirmwareVersion</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHealthView" Accessibility="Public" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" TypeID="SC!Microsoft.SystemCenter.StateViewType" Visible="true">
<Category>AvailabilityHealth</Category>
<Criteria>
<InMaintenanceMode>false</InMaintenanceMode>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.Server</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Model</Name>
<Id>Model</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SerialNumber</Name>
<Id>SerialNumber</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ProcessorGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>MemoryGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>FanGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>PowerSupplyGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ComponentStatusTemperatureGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ComponentStatusVoltageGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>OtherComponentStatusGroup</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup</Id>
</ColumnInfo>
</Presentation>
<Target></Target>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.Fan</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Type</Name>
<Id>Type</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Size</Name>
<Id>Size</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Manufacturer</Name>
<Id>Manufacturer</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ManufacturingDate</Name>
<Id>ManufacturingDate</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>BusFrequency</Name>
<Id>BusFrequency</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Voltage</Name>
<Id>Voltage</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>PartNumber</Name>
<Id>PartNumber</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SerialNumber</Name>
<Id>SerialNumber</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>RevisionCode</Name>
<Id>RevisionCode</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ConfigStatus</Name>
<Id>ConfigStatus</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Model</Name>
<Id>Model</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Manufacturer</Name>
<Id>Manufacturer</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ManufacturingDate</Name>
<Id>ManufacturingDate</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>PartNumber</Name>
<Id>PartNumber</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SerialNumber</Name>
<Id>SerialNumber</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Version</Name>
<Id>Version</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.Processor</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="200" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Model</Name>
<Id>Model</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Manufacturer</Name>
<Id>Manufacturer</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>NumLogicalCores</Name>
<Id>NumLogicalCores</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>NumPhysicalCores</Name>
<Id>NumPhysicalCores</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>MaxClockSpeed</Name>
<Id>MaxClockSpeed</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>L1Cache</Name>
<Id>L1Cache</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>L2Cache</Name>
<Id>L2Cache</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>L3Cache</Name>
<Id>L3Cache</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Dashboard.View" Accessibility="Internal" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" TypeID="SC!Microsoft.SystemCenter.DashboardViewType" Visible="false">
<Category>Operations</Category>
<PanelConfiguration Columns="1" Rows="2">
<Cell Column="1" Row="1" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.State.View" />
<Cell Column="1" Row="2" ViewID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Alerts.View" />
</PanelConfiguration>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.State.View" TypeID="SC!Microsoft.SystemCenter.StateViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria />
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>InMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>State</Name>
<Id>Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="150" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>ServerName</Name>
<Id>ServerName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>SensorType</Name>
<Id>SensorType</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityId</Name>
<Id>EntityId</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>EntityInstance</Name>
<Id>EntityInstance</Id>
</ColumnInfo>
</Presentation>
</View>
<View ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Alerts.View" TypeID="SC!Microsoft.SystemCenter.AlertViewType" Target="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" Visible="false" Accessibility="Public">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="0" Width="60" Grouped="true" Sorted="false" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="28" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Source</Name>
<Id>MonitoringObjectDisplayName</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="22" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Maintenance Mode</Name>
<Id>MonitoringObjectInMaintenanceMode</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="250" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Resolution State</Name>
<Id>ResolutionState</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="1" Width="150" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="false" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Type</Name>
<Id>Category</Id>
</ColumnInfo>
<ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Owner</Name>
<Id>Owner</Id>
</ColumnInfo>
<ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Priority</Name>
<Id>Priority</Id>
</ColumnInfo>
<ColumnInfo Index="12" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Latency</Name>
<Id>Latency</Id>
</ColumnInfo>
<ColumnInfo Index="13" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="14" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Connector</Name>
<Id>ConnectorId</Id>
</ColumnInfo>
<ColumnInfo Index="15" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Forwarding Status</Name>
<Id>ConnectorStatus</Id>
</ColumnInfo>
<ColumnInfo Index="16" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Class</Name>
<Id>Class</Id>
</ColumnInfo>
<ColumnInfo Index="17" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time in State</Name>
<Id>TimeInState</Id>
</ColumnInfo>
<ColumnInfo Index="18" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 1</Name>
<Id>CustomField1</Id>
</ColumnInfo>
<ColumnInfo Index="19" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 2</Name>
<Id>CustomField2</Id>
</ColumnInfo>
<ColumnInfo Index="20" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 3</Name>
<Id>CustomField3</Id>
</ColumnInfo>
<ColumnInfo Index="21" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 4</Name>
<Id>CustomField4</Id>
</ColumnInfo>
<ColumnInfo Index="22" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 5</Name>
<Id>CustomField5</Id>
</ColumnInfo>
<ColumnInfo Index="23" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 6</Name>
<Id>CustomField6</Id>
</ColumnInfo>
<ColumnInfo Index="24" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 7</Name>
<Id>CustomField7</Id>
</ColumnInfo>
<ColumnInfo Index="25" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 8</Name>
<Id>CustomField8</Id>
</ColumnInfo>
<ColumnInfo Index="26" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 9</Name>
<Id>CustomField9</Id>
</ColumnInfo>
<ColumnInfo Index="27" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Custom Field 10</Name>
<Id>CustomField10</Id>
</ColumnInfo>
<ColumnInfo Index="28" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Resolved By</Name>
<Id>ResolvedBy</Id>
</ColumnInfo>
<ColumnInfo Index="29" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Time Resolved</Name>
<Id>TimeResolved</Id>
</ColumnInfo>
<ColumnInfo Index="30" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last State Change</Name>
<Id>TimeResolutionStateLastModified</Id>
</ColumnInfo>
<ColumnInfo Index="31" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="32" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Last Modified By</Name>
<Id>LastModifiedBy</Id>
</ColumnInfo>
<ColumnInfo Index="33" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Management Group</Name>
<Id>ManagementGroup</Id>
</ColumnInfo>
<ColumnInfo Index="34" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Site</Name>
<Id>SiteName</Id>
</ColumnInfo>
<ColumnInfo Index="35" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="36" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
<Name>Ticket ID</Name>
<Id>TicketId</Id>
</ColumnInfo>
</Presentation>
</View>
</Views>
<Folders>
<Folder ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ViewFolder" Accessibility="Public" ParentFolder="FTSLIB!Fujitsu.ServerView.Folder" />
<Folder ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" Accessibility="Public" ParentFolder="Fujitsu.Servers.PRIMERGY.OutOfBand.ViewFolder" />
<Folder ID="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" Accessibility="Public" ParentFolder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" />
</Folders>
<FolderItems>
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ActiveAlertsView" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerStatus.ActiveAlertsView.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHealthView" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHealthView.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Dashboard.View.FolderItem" />
<FolderItem ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Dashboard.View" Folder="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder" ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Dashboard.View.FolderItem" />
</FolderItems>
<ImageReferences>
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ImageID="FTSLIB!Fujitsu.ServerView.Server.80x80Image" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" ImageID="FTSLIB!Fujitsu.ServerView.Server.16x16Image" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer" ImageID="FTSIMG!Fujitsu.BXServer.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer" ImageID="FTSIMG!Fujitsu.BXServer.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer" ImageID="FTSIMG!Fujitsu.CXServer.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer" ImageID="FTSIMG!Fujitsu.CXServer.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer" ImageID="FTSIMG!Fujitsu.RXServer.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer" ImageID="FTSIMG!Fujitsu.RXServer.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer" ImageID="FTSIMG!Fujitsu.SXServer.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer" ImageID="FTSIMG!Fujitsu.SXServer.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer" ImageID="FTSIMG!Fujitsu.TXServer.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer" ImageID="FTSIMG!Fujitsu.TXServer.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer" ImageID="FTSIMG!Fujitsu.XXServer.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer" ImageID="FTSIMG!Fujitsu.XXServer.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" ImageID="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardDiagramIcon" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" ImageID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard16Icon" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" ImageID="FTSIMG!Processor.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup" ImageID="FTSIMG!Processor.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" ImageID="FTSIMG!Processor.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" ImageID="FTSIMG!Processor.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" ImageID="FTSIMG!MemoryModule.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup" ImageID="FTSIMG!MemoryModule.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" ImageID="FTSIMG!MemoryModule.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" ImageID="FTSIMG!MemoryModule.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable" ImageID="FTSIMG!MemoryModule.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable" ImageID="FTSIMG!MemoryModule.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" ImageID="FTSIMG!Fan.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup" ImageID="FTSIMG!Fan.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" ImageID="FTSIMG!Fan.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan" ImageID="FTSIMG!Fan.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" ImageID="FTSIMG!PowerSupply.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup" ImageID="FTSIMG!PowerSupply.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" ImageID="FTSIMG!PowerSupply.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" ImageID="FTSIMG!PowerSupply.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ImageID="FTSIMG!CommunicationMonitor.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" ImageID="FTSIMG!CommunicationMonitor.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" ImageID="FTSLIB!Fujitsu.ServerView.Group.80x80Image" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" ImageID="FTSIMG!Fujitsu.BXServer.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" ImageID="FTSIMG!Fujitsu.CXServer.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" ImageID="FTSIMG!Fujitsu.RXServer.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" ImageID="FTSIMG!Fujitsu.SXServer.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" ImageID="FTSIMG!Fujitsu.TXServer.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" ImageID="FTSIMG!Fujitsu.XXServer.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup" ImageID="FTSLIB!Fujitsu.ServerView.Group.16x16Image" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup" ImageID="FTSIMG!Fujitsu.BXServer.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup" ImageID="FTSIMG!Fujitsu.CXServer.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup" ImageID="FTSIMG!Fujitsu.RXServer.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup" ImageID="FTSIMG!Fujitsu.SXServer.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup" ImageID="FTSIMG!Fujitsu.TXServer.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup" ImageID="FTSIMG!Fujitsu.XXServer.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent" ImageID="FTSIMG!Processor.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent" ImageID="FTSIMG!Processor.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotPresent" ImageID="FTSIMG!MemoryModule.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotPresent" ImageID="FTSIMG!MemoryModule.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent" ImageID="FTSIMG!Fan.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent" ImageID="FTSIMG!Fan.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent" ImageID="FTSIMG!PowerSupply.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent" ImageID="FTSIMG!PowerSupply.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent" ImageID="FTSIMG!PhysicalDrive.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent" ImageID="FTSIMG!PhysicalDrive.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent" ImageID="FTSIMG!CtrlCard.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent" ImageID="FTSIMG!CtrlCard.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryNotPresent" ImageID="FTSIMG!Battery.NotPresent.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryNotPresent" ImageID="FTSIMG!Battery.NotPresent.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ImageID="FTSIMG!OtherState.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" ImageID="FTSIMG!OtherState.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus" ImageID="FTSIMG!TemperatureSensor.Blue.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus" ImageID="FTSIMG!TemperatureSensor.Blue.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus" ImageID="FTSIMG!VoltageSensor.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus" ImageID="FTSIMG!VoltageSensor.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus" ImageID="FTSIMG!Battery.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus" ImageID="FTSIMG!Battery.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" ImageID="FTSIMG!Bios.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" ImageID="FTSIMG!Bios.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" ImageID="FTSIMG!EmbeddedCard.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" ImageID="FTSIMG!EmbeddedCard.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" ImageID="FTSIMG!Software.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus" ImageID="FTSIMG!Software.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" ImageID="FTSIMG!PowerConsumption.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus" ImageID="FTSIMG!PowerConsumption.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" ImageID="FTSIMG!PhysicalDrive.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus" ImageID="FTSIMG!PhysicalDrive.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" ImageID="FTSIMG!CtrlCard.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus" ImageID="FTSIMG!CtrlCard.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" ImageID="FTSIMG!PrintedCircuitBoard.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus" ImageID="FTSIMG!PrintedCircuitBoard.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" ImageID="FTSIMG!TemperatureSensor.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" ImageID="FTSIMG!TemperatureSensor.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" ImageID="FTSIMG!VoltageSensor.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" ImageID="FTSIMG!VoltageSensor.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" ImageID="FTSIMG!PhysicalDrive.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" ImageID="FTSIMG!PhysicalDrive.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" ImageID="FTSIMG!CtrlCard.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" ImageID="FTSIMG!CtrlCard.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" ImageID="FTSIMG!Software.Group.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" ImageID="FTSIMG!Software.Group.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorComponentStatus" ImageID="FTSIMG!Processor.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorComponentStatus" ImageID="FTSIMG!Processor.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryComponentStatus" ImageID="FTSIMG!MemoryModule.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryComponentStatus" ImageID="FTSIMG!MemoryModule.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanComponentStatus" ImageID="FTSIMG!Fan.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanComponentStatus" ImageID="FTSIMG!Fan.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyComponentStatus" ImageID="FTSIMG!PowerSupply.80x80" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyComponentStatus" ImageID="FTSIMG!PowerSupply.16x16" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" ImageID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentDiagramIcon" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus" ImageID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponent16Icon" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" ImageID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroupDiagramIcon" />
<ImageReference ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" ImageID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroup16Icon" />
</ImageReferences>
<StringResources>
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ScriptError.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Error.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.NoAccess.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Timeout.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.BmcBusy.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.NotInitialized.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.UnsupportedFirmware.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CA.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CN.AlertMessageID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateInvalid_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent.HealthStateInvalid_AlertMessageResourceID" />
<StringResource ID="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent_AlertMessageResourceID" />
</StringResources>
</Presentation>
<LanguagePacks>
<LanguagePack ID="ENU" IsDefault="true">
<DisplayStrings>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem">
<Name>Repeated 'Processor' Communication Problem Monitor</Name>
<Description>This monitor checks if there are multiple communication problems related to the Processor information of the Fujitsu Out-Of-Band Server within a defined timespan.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem" SubElementID="RepeatedEventReset">
<Name>Repeated Event Reset</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem" SubElementID="RepeatedEventRaised">
<Name>Repeated Event Raised</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {0}: Repeated 'Processor' Communication Problem</Name>
<Description>
There have been at least {1} communication problems retrieving the Processor Information from the Fujitsu Out-Of-Band Server {0} within the following time window:
Time Window Start: {2}
Time Window End: {3}
Time First Event: {4}
Time Last Event: {5}
</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem">
<Name>Repeated 'Memory' Communication Problem Monitor</Name>
<Description>This monitor checks if there are multiple communication problems related to the Memory information of the Fujitsu Out-Of-Band Server within a defined timespan.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem" SubElementID="RepeatedEventReset">
<Name>Repeated Event Reset</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem" SubElementID="RepeatedEventRaised">
<Name>Repeated Event Raised</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {0}: Repeated 'Memory' Communication Problem</Name>
<Description>
There have been at least {1} communication problems retrieving the Memory Information from the Fujitsu Out-Of-Band Server {0} within the following time window:
Time Window Start: {2}
Time Window End: {3}
Time First Event: {4}
Time Last Event: {5}
</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem">
<Name>Repeated 'Fan' Communication Problem Monitor</Name>
<Description>This monitor checks if there are multiple communication problems related to the Fan information of the Fujitsu Out-Of-Band Server within a defined timespan.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem" SubElementID="RepeatedEventReset">
<Name>Repeated Event Reset</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem" SubElementID="RepeatedEventRaised">
<Name>Repeated Event Raised</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {0}: Repeated 'Fan' Communication Problem</Name>
<Description>
There have been at least {1} communication problems retrieving the Fan Information from the Fujitsu Out-Of-Band Server {0} within the following time window:
Time Window Start: {2}
Time Window End: {3}
Time First Event: {4}
Time Last Event: {5}
</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem">
<Name>Repeated 'Power Supply' Communication Problem Monitor</Name>
<Description>This monitor checks if there are multiple communication problems related to the Power Supply information of the Fujitsu Out-Of-Band Server within a defined timespan.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem" SubElementID="RepeatedEventReset">
<Name>Repeated Event Reset</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem" SubElementID="RepeatedEventRaised">
<Name>Repeated Event Raised</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {0}: Repeated 'Power Supply' Communication Problem</Name>
<Description>
There have been at least {1} communication problems retrieving the Power Supply Information from the Fujitsu Out-Of-Band Server {0} within the following time window:
Time Window Start: {2}
Time Window End: {3}
Time First Event: {4}
Time Last Event: {5}
</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem">
<Name>Repeated 'Component Status' Communication Problem Monitor</Name>
<Description>This monitor checks if there are multiple communication problems related to the Component Status information of the Fujitsu Out-Of-Band Server within a defined timespan.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem" SubElementID="RepeatedEventReset">
<Name>Repeated Event Reset</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem" SubElementID="RepeatedEventRaised">
<Name>Repeated Event Raised</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {0}: Repeated 'Component Status' Communication Problem</Name>
<Description>
There have been at least {1} communication problems retrieving the Component Status Information from the Fujitsu Out-Of-Band Server {0} within the following time window:
Time Window Start: {2}
Time Window End: {3}
Time First Event: {4}
Time Last Event: {5}
</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType">
<Name>Fujitsu Out-Of-Band Repeated Event Log Monitor Type</Name>
<Description>Fujitsu Out-Of-Band Repeated Event Log Monitor Type</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" SubElementID="RepeatedEventCount">
<Name>Event Count</Name>
<Description>Number of repeated identical events to trigger the Fujitsu Out-Of-Band Repeated Event Log Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Time Interval in Seconds where repeated events will trigger the Fujitsu Out-Of-Band Repeated Event Log Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SelfResolvingRepeatedEventsMonitorType" SubElementID="NoEventIntervalSeconds">
<Name>No Event Interval Seconds</Name>
<Description>Time Interval in Seconds where - when no more events occur - this will reset the Fujitsu Out-Of-Band Repeated Event Log Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ScriptError.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Script Error' Event Rule</Name>
<Description>Generate an alert from a non informational Event Log Entry generated by one of the Fujitsu Out-Of-Band Server Management Pack scripts</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ScriptError.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: Script Error</Name>
<Description>A script for the Fujitsu Out-Of-Band Server '{2}' with IP address {1} has logged the following problem details in the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Error.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Web Request Error' Event Rule</Name>
<Description>Generate an alert from a non informational Event Log Entry generated by one of the Fujitsu Out-Of-Band Server scripts when accessing the iRMC over HTTPS</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Error.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: Web Request Error </Name>
<Description>There was a problem with the HTTPS communication to the Fujitsu Out-Of-Band Server '{2}' with IP address {1} which could not be solved with retries. A script has logged the following problem details in the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Timeout.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Web Request Timeout' Event Rule</Name>
<Description>Generate an alert from a non informational Event Log Entry generated by one of the Fujitsu Out-Of-Band Server scripts when accessing the iRMC over HTTPS exceeded a configured timeout value.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Timeout.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: Web Request Timeout</Name>
<Description>There was no response from the Fujitsu Out-Of-Band Server '{2}' with IP address {1} within a configured timeout value. A script has logged the following problem details in the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.BmcBusy.EventRule">
<Name>Fujitsu Out-Of-Band Server 'iRMC Busy' Event Rule</Name>
<Description>Generate an alert from a non informational Event Log Entry when the iRMC of the Fujitsu Out-Of-Band Server is too busy to handle the request.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.BmcBusy.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: iRMC too busy to handle request</Name>
<Description>The iRMC of the Fujitsu Out-Of-Band Server '{2}' with IP address {1} is too busy to handle the request. A script has logged the following problem details in the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.NoAccess.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Web Request No Access' Event Rule</Name>
<Description>Generate an alert from a non informational Event Log Entry generated by one of the scripts of this Management Pack when accessing the iRMC over HTTPS</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.NoAccess.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: No Access Error</Name>
<Description>There was a problem with the provided credentials for the communication with the Fujitsu Out-Of-Band Server '{2}' with IP address {1}. A script has logged the following problem details in the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.NotInitialized.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Memory Not Initialized' Event Rule</Name>
<Description>Generate an alert if the Memory Information of the Fujitsu Out-Of-Band Server is not correctly initialized.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.NotInitialized.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: Memory not initialized</Name>
<Description>The Memory information in the iRMC of the Fujitsu Out-Of-Band Server '{2}' with IP address {1} is not correctly initialized. Please reboot the Out-Of-Band Server {1} to resolve this problem. Details from the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UnsupportedFirmware.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Unsupported Firmware' Event Rule</Name>
<Description>Generate an alert if the detected iRMC firmware version of the Fujitsu Out-Of-Band Server is not supported.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UnsupportedFirmware.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: Unsupported Firmware Version</Name>
<Description>The iRMC firmware version of the Fujitsu Out-Of-Band Server with IP address {1} is too old or not supported. Please update the iRMC firmware of the Out-Of-Band Server {1} to resolve this problem. Details from the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CA.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Certificate CA' Event Rule</Name>
<Description>Generate an alert if the used SSL certificate from the iRMC of the Fujitsu Out-Of-Band Server cannot be verified to a trusted CA.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CA.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: SSL Certificate Authority (CA) not trusted</Name>
<Description>The presented SSL certificate from the iRMC of the Fujitsu Out-Of-Band Server with IP address {1} cannot be verified that it has been issued by a trusted CA. Secure communication cannot be established. Details from the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CN.EventRule">
<Name>Fujitsu Out-Of-Band Server 'Certificate CN' Event Rule</Name>
<Description>Generate an alert if the used SSL certificate from the iRMC of the Fujitsu Out-Of-Band Server cannot be verified to a trusted CA.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CN.AlertMessageID">
<Name>Fujitsu Out-Of-Band {1}: SSL Certificate Common Name (CN) mismatch </Name>
<Description>The presented SSL certificate from the iRMC of the Fujitsu Out-Of-Band Server with IP address {1} does not contain the correct 'Common Name' (CN) information. Secure communication cannot be established. Details from the Event Log: {0}</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebInterface.BMC.Task">
<Name>ServerView Remote Management iRMC</Name>
<Description>Launch default Web Browser to access the Fujitsu iRMC Management Console</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SystemReport.BMC.Task">
<Name>ServerView Remote Management iRMC System Report</Name>
<Description>ServerView Remote Management iRMC System Report</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Avr.BMC.Task">
<Name>ServerView Remote Management iRMC Video Redirection</Name>
<Description>ServerView Remote Management iRMC Video Redirection using Java Web-Start or HTML5 </Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebInterface.Server.Task">
<Name>ServerView Remote Management iRMC</Name>
<Description>Launch default Web Browser to access the Fujitsu iRMC Management Console</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SystemReport.Server.Task">
<Name>ServerView Remote Management iRMC System Report</Name>
<Description>ServerView Remote Management iRMC System Report</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Avr.Server.Task">
<Name>ServerView Remote Management iRMC Video Redirection</Name>
<Description>ServerView Remote Management iRMC Video Redirection using Java Web-Start or HTML5</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ActiveAlertsView">
<Name>Active Alerts</Name>
<Description>Fujitsu Out-Of-Band Server Active Alert View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Dashboard.View">
<Name>Other Component Status</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.State.View">
<Name>Out-Of-Band Other Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus.Alerts.View">
<Name>Out-Of-Band Other Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Dashboard.View">
<Name>Temperature Component Status</Name>
<Description>Fujitsu Out-Of-Band Temperature Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.State.View">
<Name>Out-Of-Band Temperature Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus.Alerts.View">
<Name>Out-Of-Band Temperature Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Dashboard.View">
<Name>Voltage Component Status</Name>
<Description>Fujitsu Out-Of-Band Voltage Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.State.View">
<Name>Out-Of-Band Voltage Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus.Alerts.View">
<Name>Out-Of-Band Voltage Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Dashboard.View">
<Name>BIOS Component Status</Name>
<Description>Fujitsu Out-Of-Band BIOS Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.State.View">
<Name>Out-Of-Band Management BIOS Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus.Alerts.View">
<Name>Out-Of-Band Management BIOS Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Dashboard.View">
<Name>Drive Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band Drive Slot Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.State.View">
<Name>Out-Of-Band Drive Slot Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus.Alerts.View">
<Name>Out-Of-Band Drive Slot Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Dashboard.View">
<Name>Management Controller Component Status</Name>
<Description>Fujitsu Out-Of-Band Management Controller Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.State.View">
<Name>Out-Of-Band Management Management Controller Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus.Alerts.View">
<Name>Out-Of-Band Management Management Controller Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Dashboard.View">
<Name>PCIe Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band PCIe Slot Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.State.View">
<Name>Out-Of-Band PCIe Slot Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus.Alerts.View">
<Name>Out-Of-Band PCIe Slot Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Dashboard.View">
<Name>Power Monitoring Component Status</Name>
<Description>Fujitsu Out-Of-Band Power Monitoring Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.State.View">
<Name>Out-Of-Band Power Monitoring Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus.Alerts.View">
<Name>Out-Of-Band Power Monitoring Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Dashboard.View">
<Name>Power Unit Component Status</Name>
<Description>Fujitsu Out-Of-Band Power Unit Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.State.View">
<Name>Out-Of-Band Power Unit Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus.Alerts.View">
<Name>Out-Of-Band Power Unit Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Dashboard.View">
<Name>Management Software Component Status</Name>
<Description>Fujitsu Out-Of-Band Management Software Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.State.View">
<Name>Out-Of-Band Management Software Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus.Alerts.View">
<Name>Out-Of-Band Management Software Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHealthView">
<Name>Servers Health</Name>
<Description>Out-Of-Band Servers Health State overview of all Fujitsu Out-Of-Band Servers</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.State.View">
<Name>Out-Of-Band Fan State</Name>
<Description>Fan State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Alerts.View">
<Name>Out-Of-Band Fan Alerts</Name>
<Description>Fan Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan.Dashboard.View">
<Name>Fan Health</Name>
<Description>Fujitsu Out-Of-Band Fan Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.State.View">
<Name>Out-Of-Band Memory State</Name>
<Description>Memory State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Alerts.View">
<Name>Out-Of-Band Memory Alerts</Name>
<Description>Memory Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.Dashboard.View">
<Name>Memory Health</Name>
<Description>Fujitsu Out-Of-Band Memory Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.State.View">
<Name>Out-Of-Band Power Supply State</Name>
<Description>Power Supply State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Alerts.View">
<Name>Out-Of-Band Power Supply Alerts</Name>
<Description>Power Supply Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply.Dashboard.View">
<Name>Power Supply Health</Name>
<Description>Fujitsu Out-Of-Band Power Supply Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Dashboard.View">
<Name>Processor Health</Name>
<Description>Fujitsu Out-Of-Band Processor Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.State.View">
<Name>Out-Of-Band Processor State</Name>
<Description>Processor State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor.Alerts.View">
<Name>Out-Of-Band Processor Alerts</Name>
<Description>Processor Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ViewFolder">
<Name>PRIMERGY Out-Of-Band Servers</Name>
<Description>Views related to Fujitsu Out-Of-Band Servers</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.Health.ViewFolder">
<Name>Health Monitoring</Name>
<Description>Views related to subsystem health of the Fujitsu Out-Of-Band Servers</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SubSystem.ComponentStatus.Health.ViewFolder">
<Name>Other Component Status Health</Name>
<Description>Views related to Component Status subsystem health of the Fujitsu Out-Of-Band Servers</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Dashboard.View">
<Name>All Component Stati</Name>
<Description>Fujitsu Out-Of-Band Component Status Dashboard View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.State.View">
<Name>Out-Of-Band Component Status State</Name>
<Description>Component Status State View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.Alerts.View">
<Name>Out-Of-Band Component Status Alerts</Name>
<Description>Component Status Alerts View</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TimedPowerShell.PropertyBagProvider">
<Name>Timed PowerShell PropertyBag Provider</Name>
<Description>Timed PowerShell PropertyBag Provider</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TimedPowerShell.PropertyBagProvider" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Timed PowerShell PropertyBag Provider Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TimedPowerShell.PropertyBagProvider" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Timed PowerShell PropertyBag Provider Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SimpleScheduled.PowerShell.DiscoveryProvider">
<Name>Simple Scheduled Discovery Provider</Name>
<Description>Simple Scheduled Discovery Provider</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SimpleScheduled.PowerShell.DiscoveryProvider" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Simple Scheduled Discovery Provider Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SimpleScheduled.PowerShell.DiscoveryProvider" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Simple Scheduled Discovery Provider Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SimpleScheduled.PowerShell.DiscoveryProvider" SubElementID="SyncTime">
<Name>Sync Time</Name>
<Description>Simple Scheduled Discovery Provider Sync Time</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider">
<Name>Unique Scheduled Discovery Provider</Name>
<Description>Unique Scheduled Discovery Provider</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Unique Scheduled Discovery Provider Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Unique Scheduled Discovery Provider Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider" SubElementID="SyncTime">
<Name>Sync Time</Name>
<Description>Unique Scheduled Discovery Provider Sync Time</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UniqueScheduled.PowerShell.DiscoveryProvider" SubElementID="SpreadInitializationOverInterval">
<Name>Spread Initialization Over Interval</Name>
<Description>Unique Scheduled Discovery Provider Spread Initialization Over Interval</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource">
<Name>Out-Of-Band Server Discovery Data Source</Name>
<Description>Out-Of-Band Server Discovery Data Source</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Out-Of-Band Server Discovery - Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Out-Of-Band Server Discovery - Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="SpreadInitializationOverInterval">
<Name>Spread Initialization Over Interval</Name>
<Description>Out-Of-Band Server Discovery - Spread initialization for multiple instances over an interval of seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="UseDnsNameAsNetworkName">
<Name>Use DNS Name As Network Name</Name>
<Description>Out-Of-Band Server Discovery - Use the DNS Name (if available) as 'Network Name' of the Out-Of-Band Server object instance instead of the IP Address</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="UseDnsNameAsDisplayName">
<Name>Use DNS Name As Display Name</Name>
<Description>Out-Of-Band Server Discovery - Use the DNS Name (if available) as 'Display Name' of the Out-Of-Band Server object instance instead of the IP Address</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="IncludeNotPresentProcessors">
<Name>Discover Not Present Processors</Name>
<Description>Out-Of-Band Server Discovery - Include Not Present Processors in the discovery of the Fujitsu Out-Of-Band Server components</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="IncludeNotPresentFans">
<Name>Discover Not Present Fans</Name>
<Description>Out-Of-Band Server Discovery - Include Not Present Fans in the discovery of the Fujitsu Out-Of-Band Server components</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscoveryDataSource" SubElementID="IncludeNotPresentPowerSupplies">
<Name>Discover Not Present Power Supplies</Name>
<Description>Out-Of-Band Server Discovery - Include Not Present Power Supplies in the discovery of the Fujitsu Out-Of-Band Server components</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupPRIMERGYServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band Servers Group in Fujitsu PRIMERGY Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band Servers Group into Fujitsu PRIMERGY Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupPRIMERGYServersGroupHealthRollupMonitor">
<Name>Out-Of-Band Servers Group to Fujitsu PRIMERGY Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Out-Of-Band Servers Group to Fujitsu PRIMERGY Servers Group </Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupBXServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band BX Servers Group in Fujitsu Out-Of-Band Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band BX Servers Group into Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupCXServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band CX Servers in Fujitsu Out-Of-Band Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band CX Servers Group into Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupRXServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band RX Servers Group in Fujitsu Out-Of-Band Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band RX Servers Group into Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupSXServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band SX Servers Group in Fujitsu Out-Of-Band Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band SX Servers Group into Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupTXServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band TX Servers Group in Fujitsu Out-Of-Band Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band TX Servers Group into Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupXXServersGroupMembershipRule">
<Name>Fujitsu Out-Of-Band Other Servers Group in Fujitsu Out-Of-Band Servers Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band Other Servers Group into Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupBXMembershipRule">
<Name>Fujitsu Out-Of-Band BX Server in Fujitsu Out-Of-Band BX Server Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band BX Server into Fujitsu Out-Of-Band BX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupCXMembershipRule">
<Name>Fujitsu Out-Of-Band CX Server in Fujitsu Out-Of-Band CX Server Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band CX Server into Fujitsu Out-Of-Band CX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupRXMembershipRule">
<Name>Fujitsu Out-Of-Band RX Server in Fujitsu Out-Of-Band RX Server Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band RX Server into Fujitsu Out-Of-Band RX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupSXMembershipRule">
<Name>Fujitsu Out-Of-Band SX Server in Fujitsu Out-Of-Band SX Server Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band SX Server into Fujitsu Out-Of-Band SX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupTXMembershipRule">
<Name>Fujitsu Out-Of-Band TX Server in Fujitsu Out-Of-Band TX Server Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band TX Server into Fujitsu Out-Of-Band TX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupXXMembershipRule">
<Name>Fujitsu Out-Of-Band Other Server in Fujitsu Out-Of-Band Other Server Group Membership Rule</Name>
<Description>This Membership Rule joins Fujitsu Out-Of-Band Other Model Server into Fujitsu Out-Of-Band Other Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupBXServersGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band BX Servers Group to Fujitsu Out-Of-Band Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band BX Servers Group to Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupCXServersGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band CX Servers Group to Fujitsu Out-Of-Band Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band CX Servers Group to Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupRXServersGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band RX Servers Group to Fujitsu Out-Of-Band Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band RX Servers Group to Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupSXServersGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band SX Servers Group to Fujitsu Out-Of-Band Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band SX Servers Group to Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupTXServersGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band TX Servers Group to Fujitsu Out-Of-Band Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band TX Servers Group to Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupXXServersGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Other Servers Group to Fujitsu Out-Of-Band Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Out-Of-Band Other Servers Group to Fujitsu Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupPRIMERGYBXServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band BX Server to Out-Of-Band BX Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band BX Server to Fujitsu Out-Of-Band BX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupPRIMERGYCXServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band CX Server to Out-Of-Band CX Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band CX Server to Fujitsu Out-Of-Band CX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupPRIMERGYRXServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band RX Server to Out-Of-Band RX Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band RX Server to Fujitsu Out-Of-Band RX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupPRIMERGYSXServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band SX Server to Out-Of-Band SX Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band SX Server to Fujitsu Out-Of-Band SX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupPRIMERGYTXServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band TX Server to Out-Of-Band TX Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band TX Server to Fujitsu Out-Of-Band TX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupPRIMERGYXXServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Other Server to Fujitsu Out-Of-Band Other Servers Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band Other Server to Fujitsu Out-Of-Band Other Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand">
<Name>Fujitsu PRIMERGY Out-Of-Band Server - Base Management Pack</Name>
<Description>Fujitsu PRIMERGY Out-Of-Band Server - Base Management Pack</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDevice">
<Name>Fujitsu Out-Of-Band iRMC Device</Name>
<Description>Fujitsu Out-Of-Band iRMC Device</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server">
<Name>Fujitsu Out-Of-Band Server</Name>
<Description>Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="BmcFirmware">
<Name>iRMC Firmware</Name>
<Description>iRMC Firmware Version of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="SystemFirmware">
<Name>System Firmware</Name>
<Description>System Firmware (BIOS) Version of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="Manufacturer">
<Name>Manufacturer</Name>
<Description>Manufacturer of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="ManufacturingDate">
<Name>Manufacturing Date</Name>
<Description>Manufacturing Date of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="ChassisModel">
<Name>Chassis Model</Name>
<Description>Chassis Model of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="PartNumber">
<Name>Part Number</Name>
<Description>Part Number of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="ManagementUrl">
<Name>Management URL</Name>
<Description>URL for Out-Of-Band Management of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="DnsName">
<Name>DNS Name</Name>
<Description>iRMC DNS Name of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Server" SubElementID="PhysicalMemory">
<Name>Physical Memory</Name>
<Description>Physical Memory of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServer">
<Name>Fujitsu Out-Of-Band BX Server</Name>
<Description>Fujitsu Out-Of-Band BX Server (Blade Server)</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServer">
<Name>Fujitsu Out-Of-Band CX Server</Name>
<Description>Fujitsu Out-Of-Band CX Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServer">
<Name>Fujitsu Out-Of-Band RX Server</Name>
<Description>Fujitsu Out-Of-Band RX Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServer">
<Name>Fujitsu Out-Of-Band SX Server</Name>
<Description>Fujitsu Out-Of-Band SX Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServer">
<Name>Fujitsu Out-Of-Band TX Server</Name>
<Description>Fujitsu Out-Of-Band TX Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServer">
<Name>Fujitsu Out-Of-Band Other Server</Name>
<Description>Fujitsu Out-Of-Band Server Model other than BX, CX, RX, SX or TX server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor">
<Name>Fujitsu Out-Of-Band Communication Component</Name>
<Description>Fujitsu Out-Of-Band Communication Component</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitor" SubElementID="ID">
<Name>ID</Name>
<Description>The Communication Component ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent">
<Name>Fujitsu Out-Of-Band Logical Hardware Component</Name>
<Description>Fujitsu Out-Of-Band Logical Hardware Component</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" SubElementID="ID">
<Name>ID</Name>
<Description>The Logical Hardware ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" SubElementID="ManagementUrl">
<Name>Management URL</Name>
<Description>URL for Out-Of-Band Management of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareComponent" SubElementID="ServerName">
<Name>Server Name</Name>
<Description>Fujitsu Out-Of-Band Server containing the Logical Hardware Component</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup">
<Name>Fujitsu Out-Of-Band Logical Hardware Group</Name>
<Description>Fujitsu Out-Of-Band Logical Hardware Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.LogicalHardwareGroup" SubElementID="ID">
<Name>ID</Name>
<Description>The Logical Hardware Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor">
<Name>Fujitsu Out-Of-Band Processor</Name>
<Description>A single Processor of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="Manufacturer">
<Name>Manufacturer</Name>
<Description>Manufacturer</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="MaxClockSpeed">
<Name>Max Clock Speed</Name>
<Description>Maximum Processor Clock Speed</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="Model">
<Name>Model</Name>
<Description>Processor Brand Model</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="NumLogicalCores">
<Name>Logical Cores</Name>
<Description>Number of Logical Processor Cores</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="NumPhysicalCores">
<Name>Physical Cores</Name>
<Description>Number of Physical Processor Cores</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="L1Cache">
<Name>Level 1 Cache</Name>
<Description>First Level Cache of the Processor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="L2Cache">
<Name>Level 2 Cache</Name>
<Description>Second Level Cache of the Processor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Processor" SubElementID="L3Cache">
<Name>Level 3 Cache</Name>
<Description>Third Level Cache of the Processor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroup">
<Name>Fujitsu Out-Of-Band Processor Group</Name>
<Description>Fujitsu Out-Of-Band Processor Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsProcessorGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Processor Group</Name>
<Description>Server Hosts Processor Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessor">
<Name>Fujitsu Out-Of-Band Processor Group Hosts Processor</Name>
<Description>Processor Group Hosts Processor Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupHostsProcessorNotPresent">
<Name>Fujitsu Out-Of-Band Processor Group Hosts Not Present Processor</Name>
<Description>Processor Group Hosts Not Present Processor Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule">
<Name>Fujitsu Out-Of-Band Memory</Name>
<Description>A single Memory Module of the Fujitsu Out-Of-Band server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="Voltage">
<Name>Voltage</Name>
<Description>Voltage of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="Size">
<Name>Size</Name>
<Description>Size of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="Type">
<Name>Type</Name>
<Description>Type of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="Manufacturer">
<Name>Manufacturer</Name>
<Description>Manufacturer of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="ManufacturingDate">
<Name>Manufacturing Date</Name>
<Description>Manufacturing Date of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="BusFrequency">
<Name>Bus Frequency</Name>
<Description>Bus Frequency of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="PartNumber">
<Name>Part Number</Name>
<Description>Part Number of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="SerialNumber">
<Name>Serial Number</Name>
<Description>Serial Number of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="RevisionCode">
<Name>Revision Code</Name>
<Description>Revision Code of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModule" SubElementID="ConfigStatus">
<Name>Config Status</Name>
<Description>Config Status of the Fujitsu Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable">
<Name>Fujitsu Out-Of-Band Not Usable Memory</Name>
<Description>A single Memory Module of the Fujitsu Out-Of-Band Server marked as 'Not usable'</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotUsable" SubElementID="ConfigStatus">
<Name>Config Status</Name>
<Description>Config Status of the Fujitsu Not Usable Memory Module</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroup">
<Name>Fujitsu Out-Of-Band Memory Group</Name>
<Description>Fujitsu Out-Of-Band Memory Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMemoryGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Memory Group</Name>
<Description>Server Hosts Memory Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemory">
<Name>Fujitsu Out-Of-Band Memory Group Hosts Memory</Name>
<Description>Memory Group Hosts Memory Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotPresent">
<Name>Fujitsu Out-Of-Band Memory Group Hosts Not Present Memory</Name>
<Description>Memory Group Hosts Not Present Memory Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupHostsMemoryNotUsable">
<Name>Fujitsu Out-Of-Band Memory Group Hosts Not Usable Memory</Name>
<Description>Memory Group Hosts Not Usable Memory Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Fan">
<Name>Fujitsu Out-Of-Band Fan</Name>
<Description>A single Fan of the Fujitsu Out-Of-Band server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroup">
<Name>Fujitsu Out-Of-Band Fan Group</Name>
<Description>Fujitsu Out-Of-Band Fan Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsFanGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Fan Group</Name>
<Description>Fujitsu Out-Of-Band Server Hosts Fan Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFan">
<Name>Fujitsu Out-Of-Band Fan Group Hosts Fan</Name>
<Description>Fujitsu Out-Of-Band Fan Group Hosts Fan Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupHostsFanNotPresent">
<Name>Fujitsu Out-Of-Band Fan Group Hosts Not Present Fan</Name>
<Description>Fujitsu Out-Of-Band Fan Group Hosts Not Present Fan Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard">
<Name>Fujitsu Out-Of-Band Mainboard</Name>
<Description>The mainboard of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" SubElementID="SerialNumber">
<Name>Serial Number</Name>
<Description>The Serial Number of the Fujitsu mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" SubElementID="PartNumber">
<Name>Part Number</Name>
<Description>The Part Number of the Fujitsu mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" SubElementID="Manufacturer">
<Name>Manufacturer</Name>
<Description>The Manufacturer of the Fujitsu mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" SubElementID="ManufacturingDate">
<Name>Manufacturing Date</Name>
<Description>The Manufacturing Date of the Fujitsu mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" SubElementID="Model">
<Name>Model</Name>
<Description>The Model of the Fujitsu mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard" SubElementID="Version">
<Name>Version</Name>
<Description>The version of the Fujitsu mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsMainboard">
<Name>Fujitsu Out-Of-Band Server Hosts Mainboard</Name>
<Description>Fujitsu Out-Of-Band Server Hosts Mainboard Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply">
<Name>Fujitsu Out-Of-Band Power Supply</Name>
<Description>The Power Supply of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" SubElementID="SerialNumber">
<Name>Serial Number</Name>
<Description>The Serial Number of the Fujitsu Power Supply</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" SubElementID="PartNumber">
<Name>Part Number</Name>
<Description>The Part Number of the Fujitsu Power Supply</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" SubElementID="Manufacturer">
<Name>Manufacturer</Name>
<Description>The Manufacturer of the Fujitsu Power Supply</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" SubElementID="ManufacturingDate">
<Name>Manufacturing Date</Name>
<Description>The Manufacturing Date of the Fujitsu Power Supply</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" SubElementID="Model">
<Name>Model</Name>
<Description>The Model of the Fujitsu Power Supply</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupply" SubElementID="Version">
<Name>Version</Name>
<Description>The version of the Fujitsu Power Supply</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroup">
<Name>Fujitsu Out-Of-Band Power Supply Group</Name>
<Description>Fujitsu Out-Of-Band Power Supply Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsPowerSupplyGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Power Supply Group</Name>
<Description>Fujitsu Out-Of-Band Server Hosts Power Supply Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupply">
<Name>Fujitsu Out-Of-Band Power Supply Group Hosts Power Supply</Name>
<Description>Fujitsu Out-Of-Band Power Supply Group Hosts Power Supply Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupHostsPowerSupplyNotPresent">
<Name>Fujitsu Out-Of-Band Power Supply Group Hosts Not Present Power Supply</Name>
<Description>Fujitsu Out-Of-Band Power Supply Group Hosts Not Present Power Supply Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.iRMCDeviceHostsServer">
<Name>Fujitsu iRMC Device hosts Out-Of-Band Server</Name>
<Description>Fujitsu iRMC Device hosts Out-Of-Band Server Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsCommunicationMonitor">
<Name>Fujitsu Out-Of-Band Server Hosts Communication Monitor</Name>
<Description>Server Hosts Communication Monitor Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Processor To Processor Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Processor to Processor Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Memory To Memory Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Memory to Memory Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Fan To Fan Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Fan to Fan Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Power Supply To Power Supply Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Power Supply to Power Supply Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorGroupToServerStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Processor Group To Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Processor Group to Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryGroupToServerStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Memory Group To Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Memory Group to Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanGroupToServerStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Fan Group To Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Fan Group to Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyGroupToServerStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Power Supply Group To Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Power Supply Group to Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerToiRmcDeviceStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Server To iRMC Device Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Out-Of-Band Server to Fujitsu iRMC Device</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CommunicationMonitorToServerStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Communication Monitor to Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up Communication Monitor to Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscovery">
<Name>Fujitsu Out-Of-Band Server Discovery</Name>
<Description>Discovery for the Fujitsu Out-Of-Band Server and its components.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SmashDeviceDiscovery">
<Name>Microsoft SMASH Device Discovery for Fujitsu Out-Of-Band Servers</Name>
<Description>Discover Microsoft SMASH device with correct properties for a Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroup">
<Name>Out-Of-Band Servers Group</Name>
<Description>Fujitsu Out-Of-Band All Out-Of-Band Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroup">
<Name>Out-Of-Band BX Servers Group</Name>
<Description>Fujitsu Out-Of-Band BX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupContainsBXServer">
<Name>Fujitsu Out-Of-Band BX Servers Group Contains Out-Of-Band BX Server Relationship</Name>
<Description>Fujitsu Out-Of-Band BX Servers Group Contains Out-Of-Band BX Server Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroup">
<Name>Out-Of-Band CX Servers Group</Name>
<Description>Fujitsu Out-Of-Band CX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupContainsCXServer">
<Name>Fujitsu Out-Of-Band CX Servers Group Contains Fujitsu Out-Of-Band CX Server Relationship</Name>
<Description>Fujitsu Out-Of-Band CX Servers Group Contains Fujitsu Out-Of-Band CX Server Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroup">
<Name>Out-Of-Band RX Servers Group</Name>
<Description>Fujitsu Out-Of-Band RX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupContainsRXServer">
<Name>Fujitsu Out-Of-Band RX Servers Group Contains Fujitsu Out-Of-Band RX Server Relationship</Name>
<Description>Fujitsu Out-Of-Band RX Servers Group Contains Fujitsu Out-Of-Band RX Server Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroup">
<Name>Out-Of-Band SX Servers Group</Name>
<Description>Fujitsu Out-Of-Band SX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupContainsSXServer">
<Name>Fujitsu Out-Of-Band SX Servers Group Contains Fujitsu Out-Of-Band Server SX Relationship</Name>
<Description>Fujitsu Out-Of-Band SX Servers Group Contains Fujitsu Out-Of-Band Server SX Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroup">
<Name>Out-Of-Band TX Servers Group</Name>
<Description>Fujitsu Out-Of-Band TX Servers Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupContainsTXServer">
<Name>Fujitsu Out-Of-Band TX Servers Group Contains Fujitsu Out-Of-Band TX Server Relationship</Name>
<Description>Fujitsu Out-Of-Band TX Servers Group Contains Fujitsu Out-Of-Band TX Server Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroup">
<Name>Out-Of-Band Other Servers Group</Name>
<Description>Fujitsu Other Out-Of-Band Servers Group (not BX, CX, RX, SX or TX servers)</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupContainsXXServer">
<Name>Fujitsu Out-Of-Band Other Servers Group Contains other Fujitsu Out-Of-Band Server Relationship</Name>
<Description>Fujitsu Other Out-Of-Band Servers Group Contains other Fujitsu Out-Of-Band Server Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsPYServersGroup">
<Name>Fujitsu All Servers Group Contains Fujitsu Out-Of-Band Servers Group Relationship</Name>
<Description>Fujitsu All Servers Group Contains Fujitsu Out-Of-Band Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsBXServersGroup">
<Name>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band BX Servers Group Relationship</Name>
<Description>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band BX Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsCXServersGroup">
<Name>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band CX Servers Group Relationship</Name>
<Description>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band CX Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsRXServersGroup">
<Name>Fujitsu Out-Of-Band Servers Group Contains PRIMERGY RX Out-Of-Band RX Servers Group Relationship</Name>
<Description>Fujitsu Out-Of-Band Servers Group Contains PRIMERGY RX Out-Of-Band RX Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsSXServersGroup">
<Name>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band SX Servers Group Relationship</Name>
<Description>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band SX Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsTXServersGroup">
<Name>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band TX Servers Group Relationship</Name>
<Description>Fujitsu Out-Of-Band Servers Group Contains Fujitsu Out-Of-Band TX Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupContainsXXServersGroup">
<Name>Fujitsu Out-Of-Band Servers Group Contains other Out-Of-Band Servers Group Relationship</Name>
<Description>Fujitsu Out-Of-Band Servers Group Contains other Out-Of-Band Servers Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateInvalid_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {2}: '{0}' Health State Information Not Valid</Name>
<Description>The Health State Valid Monitor has detected that the reported Health State information for Component Status '{0}' of the Out-Of-Band Server '{3}' with IP address {2} cannot be mapped to a valid health state (Success/Warning/Error) and previously retrieved data is stale. This is typically the case when the 'Identify' button has been pressed for the Component Status '{0}'. Please check {1} to correct this problem.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {2}: '{0}' Component Status Health Alert</Name>
<Description>The Component Status Health Monitor has detected a problem with the Component Status '{0}' of the Out-Of-Band Server '{3}' with IP address {2}. Please check the iRMC EventLog from {1} for alert entries related to the component the Component Status '{0}' is associated with and other alert context or detail information.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent.HealthStateInvalid_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {1}: '{0}' Health State Information Not Valid</Name>
<Description>The Health State Valid Monitor has detected that the reported Health State information for Hardware Component '{0}' of the Out-Of-Band Server '{3}' with IP address {1} cannot be mapped to a valid health state (Success/Warning/Error) and previously retrieved data is stale. This is typically the case when the 'Identify' button has been pressed for the associated Hardware Component Status '{0}'. Please check {2} to correct this problem.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.HardwareComponent_AlertMessageResourceID">
<Name>Fujitsu Out-Of-Band {1}: '{0}' Hardware Component Health Alert</Name>
<Description>The Hardware Health Monitor has detected a problem with '{0}' of the Out-Of-Band Server '{3}' with IP address {1}. Please check the iRMC EventLog from {2} for alert entries related to '{0}' and other alert context or detail information.</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMonitor">
<Name>Fujitsu Out-Of-Band Generic Component Status Health Monitor</Name>
<Description>Fujitsu Out-Of-Band Component Status Health Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMonitor" SubElementID="HealthOK">
<Name>HealthOK</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMonitor" SubElementID="HealthError">
<Name>HealthError</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMonitor" SubElementID="HealthWarning">
<Name>HealthWarning</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateValid.Monitor">
<Name>Fujitsu Out-Of-Band Generic Component Status Health State Valid Monitor</Name>
<Description>Fujitsu Out-Of-Band Component Status Health State Valid Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateValid.Monitor" SubElementID="HealthStateValid">
<Name>HealthState Valid</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateValid.Monitor" SubElementID="HealthStateUnknown">
<Name>HealthState Unknown</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponentMonitor">
<Name>Fujitsu Out-Of-Band Processor Health Monitor</Name>
<Description>Fujitsu Out-Of-Band Processor Hardware Component Health Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponentMonitor" SubElementID="HealthOK">
<Name>HealthOK</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponentMonitor" SubElementID="HealthError">
<Name>HealthError</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponentMonitor" SubElementID="HealthWarning">
<Name>HealthWarning</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponentMonitor">
<Name>Fujitsu Out-Of-Band Memory Module Health Monitor</Name>
<Description>Fujitsu Out-Of-Band Memory Hardware Component Health Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponentMonitor" SubElementID="HealthOK">
<Name>HealthOK</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponentMonitor" SubElementID="HealthError">
<Name>HealthError</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponentMonitor" SubElementID="HealthWarning">
<Name>HealthWarning</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponentMonitor">
<Name>Fujitsu Out-Of-Band Fan Health Monitor</Name>
<Description>Fujitsu Out-Of-Band Fan Hardware Component Health Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponentMonitor" SubElementID="HealthOK">
<Name>HealthOK</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponentMonitor" SubElementID="HealthError">
<Name>HealthError</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponentMonitor" SubElementID="HealthWarning">
<Name>HealthWarning</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponentMonitor">
<Name>Fujitsu Out-Of-Band Power Supply Health Monitor</Name>
<Description>Fujitsu Out-Of-Band Power Supply Hardware Component Health Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponentMonitor" SubElementID="HealthOK">
<Name>HealthOK</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponentMonitor" SubElementID="HealthError">
<Name>HealthError</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponentMonitor" SubElementID="HealthWarning">
<Name>HealthWarning</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponent.HealthStateValid.Monitor">
<Name>Fujitsu Out-Of-Band Processor Health State Valid Monitor</Name>
<Description>Fujitsu Out-Of-Band Processor Hardware Component Health State Valid Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateValid">
<Name>HealthState Valid</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateUnknown">
<Name>HealthState Unknown</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponent.HealthStateValid.Monitor">
<Name>Fujitsu Out-Of-Band Memory Module Health State Valid Monitor</Name>
<Description>Fujitsu Out-Of-Band Memory Hardware Component Health State Valid Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateValid">
<Name>HealthState Valid</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateUnknown">
<Name>HealthState Unknown</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponent.HealthStateValid.Monitor">
<Name>Fujitsu Out-Of-Band Fan Health State Valid Monitor</Name>
<Description>Fujitsu Out-Of-Band Fan Hardware Component Health State Valid Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateValid">
<Name>HealthState Valid</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateUnknown">
<Name>HealthState Unknown</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponent.HealthStateValid.Monitor">
<Name>Fujitsu Out-Of-Band Power Supply Health State Valid Monitor</Name>
<Description>Fujitsu Out-Of-Band Power Supply Hardware Component Health State Valid Monitor</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateValid">
<Name>HealthState Valid</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponent.HealthStateValid.Monitor" SubElementID="HealthStateUnknown">
<Name>HealthState Unknown</Name>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.MonitorType">
<Name>Fujitsu Out-Of-Band Component Status Health Monitor Type</Name>
<Description>Fujitsu Out-Of-Band Component Status Health Monitor Type</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.MonitorType" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Fujitsu Out-Of-Band Component Health Monitor Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.MonitorType" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Fujitsu Out-Of-Band Component Health Monitor Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.HealthStateValid.MonitorType">
<Name>Fujitsu Out-Of-Band Component Status Health State Valid Monitor Type</Name>
<Description>Fujitsu Out-Of-Band Component Status Health State Valid Monitor Type</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.HealthStateValid.MonitorType" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Fujitsu Out-Of-Band Component Health State Valid Monitor Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.HealthStateValid.MonitorType" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Fujitsu Out-Of-Band Component Health State Valid Monitor Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor">
<Name>Fujitsu Out-Of-Band Filtered Hardware Component Health Monitor Type</Name>
<Description>Fujitsu Out-Of-Band Filtered Hardware Component Health Monitor Type</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Fujitsu Out-Of-Band Hardware Component Health Monitor Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponentMonitor" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Fujitsu Out-Of-Band Hardware Component Health Monitor Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType">
<Name>Fujitsu Out-Of-Band Hardware Component Health State Valid Monitor Type</Name>
<Description>Fujitsu Out-Of-Band Hardware Component Health State Valid Monitor Type</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" SubElementID="TimeoutSeconds">
<Name>Timeout Seconds</Name>
<Description>Fujitsu Out-Of-Band Hardware Component Health State Valid Monitor Timeout Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.HealthStateValid.MonitorType" SubElementID="IntervalSeconds">
<Name>Interval Seconds</Name>
<Description>Fujitsu Out-Of-Band Hardware Component Health State Valid Monitor Interval Seconds</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredHardwareComponent.DataSource">
<Name>Fujitsu Out-Of-Band Hardware Component Data Source</Name>
<Description>Fujitsu Out-Of-Band Hardware Component Data Source</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FilteredComponentStatus.DataSource">
<Name>Fujitsu Out-Of-Band Component StatusData Source</Name>
<Description>Fujitsu Out-Of-Band Component Status Data Source</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Component</Name>
<Description>An abstract single not present component of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" SubElementID="ID">
<Name>ID</Name>
<Description>The not present component ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentNotPresent" SubElementID="Status">
<Name>Status</Name>
<Description>Status of the not present component</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Processor</Name>
<Description>A single Processor of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryModuleNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Memory</Name>
<Description>A single Memory Module of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Fan</Name>
<Description>A Not Present Fan of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Power Supply</Name>
<Description>A Not Present Power Supply of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Component Status</Name>
<Description>An abstract single not present component status of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="ID">
<Name>ID</Name>
<Description>The not present component status ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="Status">
<Name>Status</Name>
<Description>Status of the not present Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="SensorType">
<Name>Sensor Type</Name>
<Description>Sensor Type of the not present Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="EntityId">
<Name>Entity ID</Name>
<Description>Entity ID of the not present Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="EntityInstance">
<Name>Entity Instance</Name>
<Description>Entity Instance of the not present Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="ManagementUrl">
<Name>Management URL</Name>
<Description>URL for Out-Of-Band Management of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusNotPresent" SubElementID="ServerName">
<Name>Server Name</Name>
<Description>Fujitsu Out-Of-Band Server of the Not Present Component Status Instance</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotNotPresent">
<Name>Fujitsu Out-Of-Band Empty Drive Slot</Name>
<Description>An empty Drive Slot of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotNotPresent">
<Name>Fujitsu Out-Of-Band Empty PCIe Slot</Name>
<Description>An empty PCIe Slot of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryNotPresent">
<Name>Fujitsu Out-Of-Band Not Present Battery</Name>
<Description>A Not Present Battery of the Fujitsu server (e.g. BBU for RAID card)</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup">
<Name>Fujitsu Out-Of-Band Voltage Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Voltage Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroup" SubElementID="ID">
<Name>Group ID</Name>
<Description>Component Status Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup">
<Name>Fujitsu Out-Of-Band Temperature Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Temperature Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroup" SubElementID="ID">
<Name>Group ID</Name>
<Description>Component Status Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup">
<Name>Fujitsu Out-Of-Band Drive Slot Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Drive Slot Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroup" SubElementID="ID">
<Name>Group ID</Name>
<Description>Component Status Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup">
<Name>Fujitsu Out-Of-Band PCIe Slot Component Status Group</Name>
<Description>Fujitsu Out-Of-Band PCIe Slot Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroup" SubElementID="ID">
<Name>Group ID</Name>
<Description>Component Status Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup">
<Name>Fujitsu Out-Of-Band Software Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Software Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroup" SubElementID="ID">
<Name>Group ID</Name>
<Description>Component Status Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup">
<Name>Fujitsu Out-Of-Band Power Unit Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Power Unit Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroup" SubElementID="ID">
<Name>Group ID</Name>
<Description>Component Status Group ID</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus">
<Name>Fujitsu Out-Of-Band Component Status</Name>
<Description>A single component status (sensor) of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" SubElementID="ID">
<Name>ID</Name>
<Description>The Name of the Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" SubElementID="SensorType">
<Name>Sensor Type</Name>
<Description>Sensor Type of the Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" SubElementID="EntityId">
<Name>Entity ID</Name>
<Description>Entity ID of the Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" SubElementID="EntityInstance">
<Name>Entity Instance</Name>
<Description>Entity Instance of the Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" SubElementID="ManagementUrl">
<Name>Management URL</Name>
<Description>URL for Out-Of-Band Management of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus" SubElementID="ServerName">
<Name>Server Name</Name>
<Description>Fujitsu Out-Of-Band Server containing this Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyTemperatureComponentStatus">
<Name>Fujitsu Out-Of-Band Generic Temperature Component Status</Name>
<Description>Fujitsu Out-Of-Band Generic Temperature Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyVoltageComponentStatus">
<Name>Fujitsu Out-Of-Band Generic Voltage Component Status</Name>
<Description>Fujitsu Out-Of-Band Generic Voltages Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyPowerRelatedComponentStatus">
<Name>Fujitsu Out-Of-Band Generic Power Related Component Status</Name>
<Description>Fujitsu Out-Of-Band Generic Power Related Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AnyOtherComponentStatus">
<Name>Fujitsu Out-Of-Band Generic Other Component Status</Name>
<Description>Fujitsu Out-Of-Band Generic Other Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.AirInletComponentStatus">
<Name>Fujitsu Out-Of-Band Air Inlet Component Status</Name>
<Description>Fujitsu Out-Of-Band Air Inlet Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatus">
<Name>Fujitsu Out-Of-Band Temperature Component Status</Name>
<Description>Fujitsu Out-Of-Band Temperatures Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatus">
<Name>Fujitsu Out-Of-Band Voltage Component Status</Name>
<Description>Fujitsu Out-Of-Band Voltages Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatus">
<Name>Fujitsu Out-Of-Band Battery Component Status</Name>
<Description>Fujitsu Out-Of-Band Battery Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorComponentStatus">
<Name>Fujitsu Out-Of-Band Processor Component Status</Name>
<Description>Fujitsu Out-Of-Band Processor Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryComponentStatus">
<Name>Fujitsu Out-Of-Band Memory Component Status</Name>
<Description>Fujitsu Out-Of-Band Memory Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanComponentStatus">
<Name>Fujitsu Out-Of-Band Fan Component Status</Name>
<Description>Fujitsu Out-Of-Band Fan Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyComponentStatus">
<Name>Fujitsu Out-Of-Band Power Supply Component Status</Name>
<Description>Fujitsu Out-Of-Band Power Supply Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatus">
<Name>Fujitsu Out-Of-Band PCIe Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band PCIe Slot Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatus">
<Name>Fujitsu Out-Of-Band Drive Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band Drive Slot Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus">
<Name>Fujitsu Out-Of-Band Management Controller Component Status</Name>
<Description>Fujitsu Out-Of-Band Management Controller Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatus" SubElementID="FirmwareVersion">
<Name>Firmware Version</Name>
<Description>Firmware Version of the Management Controller represented by the Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatus">
<Name>Fujitsu Out-Of-Band Management Software Component Status</Name>
<Description>Fujitsu Out-Of-Band Management Software Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatus">
<Name>Fujitsu Out-Of-Band Power Monitoring Component Status</Name>
<Description>Fujitsu Out-Of-Band Power Monitoring Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatus">
<Name>Fujitsu Out-Of-Band Power Unit Component Status</Name>
<Description>Fujitsu Out-Of-Band Power Unit Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus">
<Name>Fujitsu Out-Of-Band BIOS Component Status</Name>
<Description>Fujitsu Out-Of-Band BIOS Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatus" SubElementID="BiosVersion">
<Name>BIOS Version</Name>
<Description>BIOS Version of the Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatus">
<Name>Fujitsu Out-Of-Band Other Component Status</Name>
<Description>Fujitsu Out-Of-Band Other Component Status</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup">
<Name>Fujitsu Out-Of-Band Other Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Component Status Group of the Fujitsu server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroup" SubElementID="ID">
<Name>ID</Name>
<Description>The Name of the component status group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsVoltageComponentStatus">
<Name>Fujitsu Out-Of-Band Voltage Component Status Group Hosts Voltage Component Status</Name>
<Description>Fujitsu Out-Of-Band Voltage Status Group Hosts Fujitsu Out-Of-Band Voltage Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryComponentStatus">
<Name>Fujitsu Out-Of-Band Voltage Component Status Group Hosts Battery Component Status</Name>
<Description>Fujitsu Out-Of-Band Voltage Status Group Hosts Fujitsu Out-Of-Band Battery Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageStatusGroupHostsBatteryNotPresent">
<Name>Fujitsu Out-Of-Band Voltage Component Status Group Hosts Not Present Battery</Name>
<Description>Fujitsu Out-Of-Band Voltage Status Group Hosts Fujitsu Out-Of-Band Not Present Battery Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureStatusGroupHostsTemperatureComponentStatus">
<Name>Fujitsu Out-Of-Band Temperature Component Status Group Hosts Temperature Component Status</Name>
<Description>Fujitsu Out-Of-Band Temperature Status Group Hosts Fujitsu Out-Of-Band Temperature Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotComponentStatus">
<Name>Fujitsu Out-Of-Band Drive Slot Component Status Group Hosts Drive Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band Drive Slot Status Group Hosts Fujitsu Out-Of-Band Drive Slot Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotStatusGroupHostsDriveSlotNotPresent">
<Name>Fujitsu Out-Of-Band PCIe Slot Component Status Group Hosts Not Present Drive Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band PCIe Slot Status Group Hosts Fujitsu Out-Of-Band Not Present Drive Slot Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotComponentStatus">
<Name>Fujitsu Out-Of-Band PCIe Slot Component Status Group Hosts PCIe Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band PCIe Slot Status Group Hosts Fujitsu Out-Of-Band PCIe Slot Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotStatusGroupHostsPciSlotNotPresent">
<Name>Fujitsu Out-Of-Band PCIe Slot Component Status Group Hosts Not Present PCIe Slot Component Status</Name>
<Description>Fujitsu Out-Of-Band PCIe Slot Status Group Hosts Fujitsu Out-Of-Band Not Present PCIe Slot Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareStatusGroupHostsMgmtSoftwareComponentStatus">
<Name>Fujitsu Out-Of-Band Software Component Status Group Hosts Software Component Status</Name>
<Description>Fujitsu Out-Of-Band Software Status Group Hosts Fujitsu Out-Of-Band Software Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitStatusGroupHostsPowerUnitComponentStatus">
<Name>Fujitsu Out-Of-Band Power Unit Component Status Group Hosts Power Unit Component Status</Name>
<Description>Fujitsu Out-Of-Band Power Unit Status Group Hosts Fujitsu Out-Of-Band Power Unit Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsTemperatureComponentGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Temperature Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Server Hosts Fujitsu Out-Of-Band Temperature Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsVoltageComponentGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Voltage Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Server Hosts Fujitsu Out-Of-Band Voltage Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardReferencesVoltageComponentGroup">
<Name>Fujitsu Out-Of-Band Mainboard references Voltage Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Mainboard references Fujitsu Out-Of-Band Voltage Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerHostsOtherComponentStatusGroup">
<Name>Fujitsu Out-Of-Band Server Hosts Other Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Server Hosts Fujitsu Out-Of-Band Other Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsDriveSlotComponentGroup">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts Drive Slot Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band Drive Slot Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPciSlotComponentGroup">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts PCI/PCIe Slot Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band PCI/PCIe Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtSoftwareComponentGroup">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts Management Software Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band Management Software Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerUnitComponentGroup">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts Power Unit Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band Power Unit Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsMgmtCtrlComponentStatus">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts Management Controller Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band Management Controller Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsPowerMonitoringComponentStatus">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts Power Monitoring Component Status Group</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band Power Monitoring Component Status Group Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsBiosComponentStatus">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts BIOS Component Status</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band BIOS Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupHostsOtherComponentStatus">
<Name>Fujitsu Out-Of-Band Other Component Status Group Hosts Other Component Status</Name>
<Description>Fujitsu Out-Of-Band Other Component Status Group Hosts Fujitsu Out-Of-Band Other Component Status Relationship</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TemperatureComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Temperature Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band Temperature Component Status to Fujitsu Out-Of-Band Temperature Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BatteryComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Battery Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Battery Component Status to Voltage Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.VoltageComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Voltage Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Voltage Component Status to Voltage Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.DriveSlotComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Drive Slot Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Drive Slot Component Status to Drive Slot Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PciSlotComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band PCI Slot Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from PCI Slot Component Status to PCI Slot Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Power Unit Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Power Unit Component Status to Power Unit Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtSoftwareComponentStatusToGroupStatusHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Management Software Component Status to Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Management Software Component Status to Management Software Component Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusTemperatureGroupToServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Temperature Component Status Group to Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Fujitsu Out-Of-Band Temperature Component Status Group to Fujitsu Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroupToServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Voltage Component Status Group to Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Voltage Component Status Group to Out-Of-Band Server</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusVoltageGroupToMainboardHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Voltage Component Status Group to Out-Of-Band Mainboard Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Voltage Component Status Group to Out-Of-Band Mainboard</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusDriveSlotGroupToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Drive Slot Component Status Group to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Drive Slot Component Status Group to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPciSlotGroupToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band PCI Slot Component Status Group to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from PCI Slot Component Status Group to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusPowerUnitGroupToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Power Unit Component Status Group to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Power Unit Component Status Group to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMgmtSoftwareGroupToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Management Software Component Status Group to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Management Software Component Status Group to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MgmtCtrlComponentStatusToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Management Controller Component Status to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Management Controller Component Status to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerMonitoringComponentStatusToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Power Monitoring Component Status to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Power Monitoring Component Status to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BiosComponentStatusToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band BIOS Component Status Health to Other Component Status Group Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from BIOS Component Status to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusToOtherComponentStatusGroupHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Other Component Status to Other Component Status Group Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Other Component Status to Other Component Status Group</Description>
</DisplayString>
<DisplayString ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.OtherComponentStatusGroupToOutOfBandServerHealthRollupMonitor">
<Name>Fujitsu Out-Of-Band Other Component Status Group to Out-Of-Band Server Health Rollup Monitor</Name>
<Description>This Health Rollup Monitor rolls up from Other Component Status Group to Out-Of-Band Server</Description>
</DisplayString>
</DisplayStrings>
<KnowledgeArticles>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorRepeatedCommunicationProblem" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if there have been multiple communication problems logged within a certain time period when accessing the Processor information of the Fujitsu Out-Of-Band Server . This typically indicates a networking problem or an internal resource problem with the iRMC itself.</maml:para>
<maml:para>Note: You have to manually reset the health state of the Processor Group Object of the Fujitsu Out-Of-Band Server!</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC is no longer answering any requests over the network.</maml:para>
<maml:para>The iRMC Web Server is no longer reliable answering https requests over the network.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check if the iRMC can be reached over the network with ping. If not, please contact your Network Administrator.</maml:para>
<maml:para>Check if the iRMC Web Interface can be reached over HTTP or HTTPS. If the iRMC does respond to pings but not to HTTP or HTTPS requests this typically indicated an internal resource problem of the iRMC. </maml:para>
<maml:para>Check if the iRMC can be reached over the network with an IPMI based tool.</maml:para>
<maml:para>If the problem persists, reboot the iRMC (and not the Out-Of-Band Server!) with the help of an IPMI tool such as ipmiview32/ipmiview64 from Fujitsu or any Open Source tool for IPMI such as ipmiutil (see http://ipmiutil.sourceforge.net/ ), FreeIPMI ( see http://www.gnu.org/software/freeipmi/) or ipmitool (see http://sourceforge.net/projects/ipmitool/) .</maml:para>
<maml:para>If you do not have access to an IPMI tool or the iRMC does not answer to IPMI requests you need to A/C fail the server by unplugging all power cables and wait at least 60 seconds before connecting the server to your power source again.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryRepeatedCommunicationProblem" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if there have been multiple communication problems logged within a certain time period when accessing the Memory information of the Fujitsu Out-Of-Band Server. This typically indicates a networking problem or an internal resource problem with the iRMC itself.</maml:para>
<maml:para>Note: You have to manually reset the health state of the Memory Group Object of the Fujitsu Out-Of-Band Server!</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC is no longer answering any requests over the network.</maml:para>
<maml:para>The iRMC Web Server is no longer reliable answering https requests over the network.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check if the iRMC can be reached over the network with ping. If not, please contact your Network Administrator.</maml:para>
<maml:para>Check if the iRMC Web Interface can be reached over HTTP or HTTPS. If the iRMC does respond to pings but not to HTTP or HTTPS requests this typically indicated an internal resource problem of the iRMC. </maml:para>
<maml:para>Check if the iRMC can be reached over the network with an IPMI based tool.</maml:para>
<maml:para>If the problem persists, reboot the iRMC (and not the Out-Of-Band Server!) with the help of an IPMI tool such as ipmiview32/ipmiview64 from Fujitsu or any Open Source tool for IPMI such as ipmiutil (see http://ipmiutil.sourceforge.net/ ), FreeIPMI ( see http://www.gnu.org/software/freeipmi/) or ipmitool (see http://sourceforge.net/projects/ipmitool/) .</maml:para>
<maml:para>If you do not have access to an IPMI tool or the iRMC does not answer to IPMI requests you need to A/C fail the server by unplugging all power cables and wait at least 60 seconds before connecting the server to your power source again.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanRepeatedCommunicationProblem" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if there have been multiple communication problems logged within a certain time period when accessing the Fan information of the Fujitsu Out-Of-Band Server. This typically indicates a networking problem or an internal resource problem with the iRMC itself.</maml:para>
<maml:para>Note: You have to manually reset the health state of the Fan Group Object of the Fujitsu Out-Of-Band Server!</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC is no longer answering any requests over the network.</maml:para>
<maml:para>The iRMC Web Server is no longer reliable answering https requests over the network.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check if the iRMC can be reached over the network with ping. If not, please contact your Network Administrator.</maml:para>
<maml:para>Check if the iRMC Web Interface can be reached over HTTP or HTTPS. If the iRMC does respond to pings but not to HTTP or HTTPS requests this typically indicated an internal resource problem of the iRMC. </maml:para>
<maml:para>Check if the iRMC can be reached over the network with an IPMI based tool.</maml:para>
<maml:para>If the problem persists, reboot the iRMC (and not the Out-Of-Band Server!) with the help of an IPMI tool such as ipmiview32/ipmiview64 from Fujitsu or any Open Source tool for IPMI such as ipmiutil (see http://ipmiutil.sourceforge.net/ ), FreeIPMI ( see http://www.gnu.org/software/freeipmi/) or ipmitool (see http://sourceforge.net/projects/ipmitool/) .</maml:para>
<maml:para>If you do not have access to an IPMI tool or the iRMC does not answer to IPMI requests you need to A/C fail the server by unplugging all power cables and wait at least 60 seconds before connecting the server to your power source again.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyRepeatedCommunicationProblem" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if there have been multiple communication problems logged within a certain time period when accessing the Power Supply information of the Fujitsu Out-Of-Band Server. This typically indicates a networking problem or an internal resource problem with the iRMC itself.</maml:para>
<maml:para>Note: You have to manually reset the health state of the Power Supply Group Object of the Fujitsu Out-Of-Band Server!</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC is no longer answering any requests over the network.</maml:para>
<maml:para>The iRMC Web Server is no longer reliable answering https requests over the network.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check if the iRMC can be reached over the network with ping. If not, please contact your Network Administrator.</maml:para>
<maml:para>Check if the iRMC Web Interface can be reached over HTTP or HTTPS. If the iRMC does respond to pings but not to HTTP or HTTPS requests this typically indicated an internal resource problem of the iRMC. </maml:para>
<maml:para>Check if the iRMC can be reached over the network with an IPMI based tool.</maml:para>
<maml:para>If the problem persists, reboot the iRMC (and not the Out-Of-Band Server!) with the help of an IPMI tool such as ipmiview32/ipmiview64 from Fujitsu or any Open Source tool for IPMI such as ipmiutil (see http://ipmiutil.sourceforge.net/ ), FreeIPMI ( see http://www.gnu.org/software/freeipmi/) or ipmitool (see http://sourceforge.net/projects/ipmitool/) .</maml:para>
<maml:para>If you do not have access to an IPMI tool or the iRMC does not answer to IPMI requests you need to A/C fail the server by unplugging all power cables and wait at least 60 seconds before connecting the server to your power source again.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusRepeatedCommunicationProblem" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if there have been multiple communication problems logged within a certain time period when accessing the Component Status information of the Fujitsu Out-Of-Band Server. This typically indicates a networking problem or an internal resource problem with the iRMC itself.</maml:para>
<maml:para>Note: You have to manually reset the health state of the Fujitsu Out-Of-Band Server !</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC is no longer answering any requests over the network.</maml:para>
<maml:para>The iRMC Web Server is no longer reliable answering https requests over the network.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check if the iRMC can be reached over the network with ping. If not, please contact your Network Administrator.</maml:para>
<maml:para>Check if the iRMC Web Interface can be reached over HTTP or HTTPS. If the iRMC does respond to pings but not to HTTP or HTTPS requests this typically indicated an internal resource problem of the iRMC. </maml:para>
<maml:para>Check if the iRMC can be reached over the network with an IPMI based tool.</maml:para>
<maml:para>If the problem persists, reboot the iRMC (and not the Out-Of-Band Server!) with the help of an IPMI tool such as ipmiview32/ipmiview64 from Fujitsu or any Open Source tool for IPMI such as ipmiutil (see http://ipmiutil.sourceforge.net/ ), FreeIPMI ( see http://www.gnu.org/software/freeipmi/) or ipmitool (see http://sourceforge.net/projects/ipmitool/) .</maml:para>
<maml:para>If you do not have access to an IPMI tool or the iRMC does not answer to IPMI requests you need to A/C fail the server by unplugging all power cables and wait at least 60 seconds before connecting the server to your power source again.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ScriptError.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>A Script from the Fujitsu Out-Of-Band Server Management Pack has detected a generic problem.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC of the Out-Of-Band Server has returned invalid or corrupt data which cannot be processed or has caused an exception.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check if this is a sporadic or reoccurring problem. Sporadic problems can be caused by network outages or when the iRMC is too busy to answer a request.</maml:para>
<maml:para>If the problem reoccurs check if you still can access the iRMC with your default browser. If you cannot reach the iRMC with your default browser, check network connectivity. If you can open the iRMC Web Interface and you still have problems try restarting the iRMC from the Web Interface.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Error.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>There was a problem with the HTTPS communication to the iRMC of the Fujitsu Out-Of-Band Server.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC of the Out-Of-Band Server cannot be reached over the network.</maml:para>
<maml:para>The connection to the iRMC of the Out-Of-Band Server cannot be established in a secure manner or is aborted unexpectedly.</maml:para>
<maml:para>If this is a reoccurring problem this might also indicate a potential problem with the used Certificate or Certificate trust.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Manually check if you can open the iRMC Web Interface over HTTPS. You can do so by clicking on the 'Management URL' of the Out-Of-Band Server.</maml:para>
<maml:para>Check if the connection is very slow compared to your regular access which might indicate a load or resource problem of the iRMC. If this is the case, try resetting the iRMC from the Web Interface.</maml:para>
<maml:para>Check if the used Certificate in the iRMC is trusted and not expired.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.Timeout.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>A HTTPS request sent to the iRMC of the Fujitsu Out-Of-Band Server has exceeded a configured timeout value. As a result, the requested information is not available for processing.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC of the Out-Of-Band Server can no longer be reached over the network.</maml:para>
<maml:para>The iRMC of the Out-Of-Band Server is busy with other tasks and cannot answer in a timely manner.</maml:para>
<maml:para>High network latency resulting in slow responses.</maml:para>
<maml:para>If this is a reoccurring problem this might also indicate a potential problem with the configured monitor timeout values.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Manually check if you can open the iRMC Web Interface over HTTPS. You can do so by clicking on the 'Management URL' of the Out-Of-Band Server.</maml:para>
<maml:para>Check if the connection is very slow compared to your regular access which might indicate a load or resource problem of the iRMC. If this is the case, try resetting the iRMC from the Web Interface.</maml:para>
<maml:para>Check if you have overridden the timeout value of the monitors of the Fujitsu Out-Of-Band Server with a lower than the default value.</maml:para>
<maml:para>Reset the timeout value of the monitors of the Fujitsu Out-Of-Band Server to the default value (e.g. disable configured overrides).</maml:para>
<maml:para>Increase the timeout value of the monitors of the Fujitsu Out-Of-Band Server and check if this solves the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.BmcBusy.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The iRMC of the Fujitsu Out-Of-Band Server is too busy to handle HTTPS requests and has responded with status Code 503 (Service Unavailable).</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>This typically indicates a temporary or permanent load or resource problem of the embedded iRMC of the Out-Of-Band Server.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Manually check if you can open the iRMC Web Interface over HTTPS. You can do so by clicking on the 'Management URL' of the Out-Of-Band Server.</maml:para>
<maml:para>Check if the connection is very slow compared to your regular access which might indicate a load or resource problem of the iRMC. If this is the case, try resetting the iRMC from the Web Interface.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.WebRequest.NoAccess.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The iRMC of the Out-Of-Band Server did not accept the provided credentials for communication.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>If this is only a sporadic problem the iRMC might be too busy to handle the request correctly.</maml:para>
<maml:para>If this is a permanent or repeated problem then the configured iRMC account might not have the required permission/privilege to access the required data.</maml:para>
<maml:para>If this is a permanent or repeated problem then the username or password are incorrect or have changed since you configured the RunAs account for the Microsoft SMASH and WsMan device template.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check the iRMC internal Event Log for repeated 'Login failed' events with the IP address of your SCOM server and the configured username from the RunAs account.</maml:para>
<maml:para>Check the credentials in the configured RunAs account for the used Microsoft SMASH and WsMan device template.</maml:para>
<maml:para>Check the assigned privileges of the iRMC user account with the username from the RunAs account for the used Microsoft SMASH and WsMan device template.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Memory.NotInitialized.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The Memory information of the Fujitsu Out-Of-Band Server is not correctly initialized. You need to reboot the Fujitsu Out-Of-Band Server to correct this problem.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC of the Fujitsu Out-Of-Band Server has lost the previously stored Memory information due to an internal iRMC reboot. To restore or update the Memory information please reboot the Fujitsu Out-Of-Band Server.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Reboot the Fujitsu Out-Of-Band Server.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.UnsupportedFirmware.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The iRMC firmware version of the Fujitsu Out-Of-Band Server is not supported. Please update your iRMC firmware of the Fujitsu Out-Of-Band Server to correct this problem.</maml:para>
<maml:para>For iRMC S4 based systems the minimum firmware version is 8.24F</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The iRMC firmware version of the Fujitsu Out-Of-Band Server is too old and not supported by this Management Pack.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Update the iRMC firmware of the Fujitsu Out-Of-Band Server.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CA.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The used SSL certificate of the iRMC has not been issued by a trusted Certificate Authority (CA). Please update your iRMC SSL Certificate of the Fujitsu Out-Of-Band Server to correct this problem or specify 'Skip CA Check' in the discovery template.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The used SSL certificate of the iRMC has not been issued by a trusted Certificate Authority (CA).</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Update the iRMC SSL certificate of the Fujitsu Out-Of-Band Server with a certificate issued by a trusted Certificate Authority (CA) of your Public Key Infrastructure (PKI) with a correct and matching CommonName (CN).</maml:para>
<maml:para>Add the used Certificate Authority from the iRMC SSL certificate to the list of trusted Root or Intermediate Certificate Authorities.</maml:para>
<maml:para>Specify 'Skip CA Check' in the used discovery template.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.Certificate.CN.EventRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The used SSL certificate of the iRMC does not contain the correct Common Name (CN) information. Please update your iRMC SSL Certificate of the Fujitsu Out-Of-Band Server to correct this problem or specify 'Skip CN Check' in the discovery template.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The used SSL certificate of the iRMC does not contain the correct Common Name (CN) information. E.g. the presented name does not match the IP address or DNS Name.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Update the iRMC SSL certificate of the Fujitsu Out-Of-Band Server with a certificate issued by trusted Certificate Authority (CA) of your Public Key Infrastructure (PKI) with a correct and matching Common Name (CN).</maml:para>
<maml:para>Specify 'Skip CN Check' in the used discovery template.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupPRIMERGYServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupPRIMERGYServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupBXServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupBXServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupCXServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupCXServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupRXServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupRXServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupSXServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupSXServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupTXServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupTXServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupXXServersGroupMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.ServersGroupXXServersGroupMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupBXMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.BXServersGroupBXMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupCXMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.CXServersGroupCXMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupRXMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.RXServersGroupRXMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupSXMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.SXServersGroupSXMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupTXMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.TXServersGroupTXMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupXXMembershipRule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu.Servers.PRIMERGY.OutOfBand.XXServersGroupXXMembershipRule</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>Fujitsu PRIMERGY Out-Of-Band Server Management Pack</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ServerDiscovery" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>ServerDiscovery discovers all Fujitsu Out-Of-Band Servers and components via the integrated Remote Management Controller iRMC S4.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.SmashDeviceDiscovery" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>SmashDeviceDiscovery discovers a Microsoft SMASH device for the Fujitsu Out-Of-Band Server with the missing properties UUID and Asset Tag.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatusMonitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the health state of the 'Component Status' instances available from the embedded iRMC in the Fujitsu Out-Of-Band Server. The 'Component Status' and has detected a problem with the associated component. A 'Component Status' can be associated with a single hardware component, or can consolidate multiple sensor instances into a single 'Component Status'.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>A 'Component Status' indicates a failed or prefail condition for the associated component.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check the iRMC EventLog on the Fujitsu Out-Of-Band Server for entries related to the component this 'Component Status' is associated with.</maml:para>
<maml:para>Check the original component associated with the Component Status.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ComponentStatus.HealthStateValid.Monitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if the reported health state of the 'Component Status' instances of the Fujitsu Out-Of-Band Server can be mapped to a valid SCOM Health State (Success/Warning/Error) and has detected that the 'Identify' feature has been activated which cannot be mapped.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The 'Identify' feature for the 'Component Status' has been activated (e.g. the Lightpath LED is on) and the regular health state for the 'Component Status' cannot be determined.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Make sure the 'Identify' feature for the 'Component Status' has been turned off.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponentMonitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the Processor health state of the Fujitsu Out-Of-Band Server and has detected a problem.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>A Processor component has failed or is in prefail condition.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check the iRMC EventLog on the Fujitsu Out-Of-Band Server for entries related to the indicated Processor component.</maml:para>
<maml:para>Check the indicated Processor component.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponentMonitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the Memory Module health state of the Fujitsu Out-Of-Band Server and has detected a problem.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>A Memory Module component has failed or is in prefail condition.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check the iRMC EventLog on the Fujitsu Out-Of-Band Server for entries related to the indicated Memory Module component.</maml:para>
<maml:para>Check the indicated Memory Module component.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponentMonitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the Fan health state of the Fujitsu Out-Of-Band Server and has detected a problem.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>A Fan component has failed or is in prefail condition.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check the iRMC EventLog on the Fujitsu Out-Of-Band Server for entries related to the indicated Fan component.</maml:para>
<maml:para>Check the indicated Fan component.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponentMonitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the Power Supply health state of the Fujitsu Out-Of-Band Server and has detected a problem.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>A Power Supply component has failed or is in prefail condition.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Check the iRMC EventLog on the Fujitsu Out-Of-Band Server for entries related to the indicated Power Supply component.</maml:para>
<maml:para>Check the indicated Power Supply.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.ProcessorHardwareComponent.HealthStateValid.Monitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if the reported health state of Processor instances of the Fujitsu Out-Of-Band Server can be mapped to a valid SCOM Health State (Success/Warning/Error) and has detected that the 'Identify' feature has been activated which cannot be mapped.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The 'Identify' feature for the Processor 'Component Status' has been activated (e.g. the Lightpath LED is on) and the regular health state for the Processor component cannot be determined.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Make sure the 'Identify' feature for the Processor 'Component Status' has been turned off.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.MemoryHardwareComponent.HealthStateValid.Monitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if the reported health state of Memory instances of the Fujitsu Out-Of-Band Server can be mapped to a valid SCOM Health State (Success/Warning/Error) and has detected that the 'Identify' feature has been activated which cannot be mapped.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>The 'Identify' feature for the Memory 'Component Status' has been activated (e.g. the Lightpath LED is on) and the regular health state for the Memory component cannot be determined.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Make sure the 'Identify' feature for the Memory 'Component Status' has been turned off.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.FanHardwareComponent.HealthStateValid.Monitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if the reported health state of Fan instances of the Fujitsu Out-Of-Band Server can be mapped to a valid SCOM Health State (Success/Warning/Error) and has detected that the System Power State is 'off' or the 'Identify' feature has been activated which cannot be mapped.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>System Power State is 'off' and the regular health state for the Fan component cannot be determined.</maml:para>
<maml:para>The 'Identify' feature for the Fan 'Component Status' has been activated (e.g. the Lightpath LED is on) and the regular health state for the Fan component cannot be determined.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Make sure the 'Identify' feature for the Fan 'Component Status' has been turned off.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerSupplyHardwareComponent.HealthStateValid.Monitor" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor checks the if the reported health state of Power Supply instances of the Fujitsu Out-Of-Band Server can be mapped to a valid SCOM Health State (Success/Warning/Error) and has detected that the System Power State is 'off' or the 'Identify' feature has been activated which cannot be mapped.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>System Power State is 'off' and the regular health state for the Power Supply component cannot be determined.</maml:para>
<maml:para>The 'Identify' feature for the Power Supply 'Component Status' has been activated (e.g. the Lightpath LED is on) and the regular health state for the Power Supply component cannot be determined.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Make sure the 'Identify' feature for the Power Supply 'Component Status' has been turned off.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
</KnowledgeArticles>
</LanguagePack>
</LanguagePacks>
<Resources>
<Assembly ID="Res.DummyAssembly.BMC.WebInterface" Accessibility="Public" FileName="DummyAssembly.BMC.WebInterface" HasNullStream="true" QualifiedName="DummyAssembly.BMC.WebInterface" />
<Assembly ID="Res.DummyAssembly.BMC.SystemReport" Accessibility="Public" FileName="DummyAssembly.BMC.SystemReport" HasNullStream="true" QualifiedName="DummyAssembly.BMC.SystemReport" />
<Assembly ID="Res.DummyAssembly.BMC.Avr" Accessibility="Public" FileName="DummyAssembly.BMC.Avr" HasNullStream="true" QualifiedName="DummyAssembly.BMC.Avr" />
<Assembly ID="Res.DummyAssembly.Server.WebInterface" Accessibility="Public" FileName="DummyAssembly.Server.WebInterface" HasNullStream="true" QualifiedName="DummyAssembly.Server.WebInterface" />
<Assembly ID="Res.DummyAssembly.Server.SystemReport" Accessibility="Public" FileName="DummyAssembly.Server.SystemReport" HasNullStream="true" QualifiedName="DummyAssembly.Server.SystemReport" />
<Assembly ID="Res.DummyAssembly.Server.Avr" Accessibility="Public" FileName="DummyAssembly.Server.Avr" HasNullStream="true" QualifiedName="DummyAssembly.Server.Avr" />
<Image ID="Fujitsu.Servers.PRIMERGY.OutOfBand.MainboardDiagramIcon" FileName="Mainboard.80x80.png" Accessibility="Public" HasNullStream="false" />
<Image ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponentDiagramIcon" FileName="PowerSupplyWithCord.80x80.png" Accessibility="Public" HasNullStream="false" />
<Image ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroupDiagramIcon" FileName="PowerSupplyGroup2.png" Accessibility="Public" HasNullStream="false" />
<Image ID="Fujitsu.Servers.PRIMERGY.OutOfBand.Mainboard16Icon" FileName="Mainboard.16x16.png" Accessibility="Public" HasNullStream="false" />
<Image ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitComponent16Icon" FileName="PowerSupply.16x16.png" Accessibility="Public" HasNullStream="false" />
<Image ID="Fujitsu.Servers.PRIMERGY.OutOfBand.PowerUnitGroup16Icon" FileName="PowerSupplyGroupOther.16x16.png" Accessibility="Public" HasNullStream="false" />
</Resources>
</ManagementPack>