Exchange 2003 servers with build numbers higher than 6944 are not discovered by the Exchange 2003 Management Pack for Operations Manager

The Exchange 2003 Management Pack for Operations Manager 2007 uses the HKLMSOFTWAREMicrosoftExchangesetupnewestbuild registry entry to discover Exchange 2003 servers. It only considers servers with a newestbuild value of 6944 to be Exchange 2003 servers.  

We recently had contact with a couple of customers where this value was higher than 6944 for some Exchange 2003 servers.

Below is a sample Management Pack that will consider a server with a newestbuild entry of 6944 to 9999 to be Exchange 2003 servers (note: this does not conflict with Exchange 2007).

NOTE: You will only need to apply this if you have issues discovering Exchange 2003 servers and you have determined that the servers have build numbers other than 6944. Normally, that should not be the case.

 

To use this Management Pack, perform the following:

1. Copy the below XML into a file called Exchange.Server.Extended.Discovery.XML

2. Import the Management Pack into Operations Manager

3. Go to Authoring->Management Pack Objects-> Object Discoveries and set the scope to be Exchange 2003 Physical Installation and Exchange 2003 Role. There should be two new disabled discoveries, “Microsoft Exchange 2003 Discoveries for Higher Build Versions” and “Exchange 2003 ServerRole Initial Discovery Extension”.

4. Enable these discoveries for the Exchange 2003 servers with higher build numbers. Note – do not enable these discoveries for all servers.

Note that this XML is provided “as is” as a sample.

Thanks to Steven Halsey for most of the content of this article.

 

 

 

<ManagementPack ContentReadable=”true”

xmlns:xsd=”http://www.w3.org/2001/XMLSchema”

xmlns:xsl=”http://www.w3.org/1999/XSL/Transform”>

  <Manifest>

    <Identity>

      <ID>Exchange.Server.Extended.Discovery</ID>

      <Version>1.0.0.0</Version>

    </Identity>

    <Name>Microsoft Exchange 2003 Discoveries for Higher Build

Versions</Name>

    <References>

      <Reference Alias=”Exchange”>

        <ID>Microsoft.Exchange.Server.Library</ID>

        <Version>6.0.6387.0</Version>

        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

      </Reference>

      <Reference Alias=”ExchangeDiscovery”>

        <ID>Microsoft.Exchange.Server.2003.Discovery</ID>

        <Version>6.0.6387.0</Version>

        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

      </Reference>

      <Reference Alias=”SCIGL”>

        <ID>Microsoft.SystemCenter.InstanceGroup.Library</ID>

        <Version>6.0.5000.0</Version>

        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

      </Reference>

      <Reference Alias=”SC”>

        <ID>Microsoft.SystemCenter.Library</ID>

        <Version>6.0.5000.0</Version>

        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

      </Reference>

      <Reference Alias=”Windows”>

        <ID>Microsoft.Windows.Library</ID>

        <Version>6.0.5000.0</Version>

        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

      </Reference>

      <Reference Alias=”System”>

        <ID>System.Library</ID>

        <Version>6.0.5000.0</Version>

        <PublicKeyToken>31bf3856ad364e35</PublicKeyToken>

      </Reference>

    </References>

  </Manifest>

  <Monitoring>

    <Discoveries>

      <Discovery

ID=”Microsoft.Exchange.PhysicalInstallation.Extended.Discovery”

Enabled=”false” Target=”Windows!Microsoft.Windows.Server.Computer”

ConfirmDelivery=”false” Remotable=”true” Priority=”Normal”>

        <Category>Discovery</Category>

        <DiscoveryTypes>

          <DiscoveryClass

TypeID=”ExchangeDiscovery!Microsoft.Exchange.PhysicalInstallation” />

        </DiscoveryTypes>

        <DataSource ID=”DiscoveryDataSource”

TypeID=”Windows!Microsoft.Windows.FilteredRegistryDiscoveryProvider”>

          <ComputerName>$Target/Property[Type=”Windows!Microsoft.Windows.Computer”]/NetworkName$</ComputerName>

          <RegistryAttributeDefinitions>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_SA</AttributeName>

              <Path>SYSTEMCurrentControlSetServicesMSExchangeSA</Path>

              <PathType>0</PathType>

              <AttributeType>0</AttributeType>

            </RegistryAttributeDefinition>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_Version</AttributeName>

              <Path>SOFTWAREMicrosoftExchangesetupnewestbuild</Path>

              <PathType>1</PathType>

              <AttributeType>2</AttributeType>

            </RegistryAttributeDefinition>

          </RegistryAttributeDefinitions>

          <Frequency>3600</Frequency>

          <ClassId>$MPElement[Name=”ExchangeDiscovery!Microsoft.Exchange.PhysicalInstallation”]$</ClassId>

          <InstanceSettings>

            <Settings>

              <Setting>

                <Name>$MPElement[Name=”Windows!Microsoft.Windows.Computer”]/PrincipalName$</Name>

                <Value>$Target/Property[Type=”Windows!Microsoft.Windows.Computer”]/PrincipalName$</Value>

              </Setting>

              <Setting>

                <Name>$MPElement[Name=”System!System.Entity”]/DisplayName$</Name>

                <Value>$Target/Property[Type=”Windows!Microsoft.Windows.Computer”]/NetbiosComputerName$</Value>

              </Setting>

            </Settings>

          </InstanceSettings>

          <Expression>

            <And>

              <Expression>

                <SimpleExpression>

                  <ValueExpression>

                    <XPathQuery>Values/MS_Exchange_SA</XPathQuery>

                  </ValueExpression>

                  <Operator>Equal</Operator>

                  <ValueExpression>

                    <Value>true</Value>

                  </ValueExpression>

                </SimpleExpression>

              </Expression>

              <Expression>

                <And>

                  <Expression>

                    <SimpleExpression>

                      <ValueExpression>

                        <XPathQuery>Values/MS_Exchange_Version</XPathQuery>

                      </ValueExpression>

                      <Operator>GreaterEqual</Operator>

                      <ValueExpression>

                        <Value>6944</Value>

                      </ValueExpression>

                    </SimpleExpression>

                  </Expression>

                  <Expression>

                    <SimpleExpression>

                      <ValueExpression>

                        <XPathQuery>Values/MS_Exchange_Version</XPathQuery>

                      </ValueExpression>

                      <Operator>Less</Operator>

                      <ValueExpression>

                        <Value>9999</Value>

                      </ValueExpression>

                    </SimpleExpression>

                  </Expression>