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

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

  • Comments 3
  • Likes

The Exchange 2003 Management Pack for Operations Manager 2007 uses the HKLM\SOFTWARE\Microsoft\Exchange\setup\newestbuild 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>SYSTEM\CurrentControlSet\Services\MSExchangeSA</Path>

              <PathType>0</PathType>

              <AttributeType>0</AttributeType>

            </RegistryAttributeDefinition>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_Version</AttributeName>

              <Path>SOFTWARE\Microsoft\Exchange\setup\newestbuild</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>

                </And>

              </Expression>

              <Expression>

                <SimpleExpression>

                  <ValueExpression>

                    <Value>$Target/Property[Type="Windows!Microsoft.Windows.Server.Computer"]/IsVirtualNode$</Value>

                  </ValueExpression>

                  <Operator>NotEqual</Operator>

                  <ValueExpression>

                    <Value>True</Value>

                  </ValueExpression>

                </SimpleExpression>

              </Expression>

            </And>

          </Expression>

        </DataSource>

      </Discovery>

      <Discovery

ID="Microsoft.Exchange.Server.2003.Extended.InitialRegistryDiscovery"

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

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

        <Category>Discovery</Category>

        <DiscoveryTypes>

          <DiscoveryClass

TypeID="ExchangeDiscovery!Microsoft.Exchange.ServerRole.2003">

            <Property

TypeID="ExchangeDiscovery!Microsoft.Exchange.ServerRole.2003"

PropertyID="DistinguishedName" />

          </DiscoveryClass>

        </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>SYSTEM\CurrentControlSet\Services\MSExchangeSA</Path>

              <PathType>0</PathType>

              <AttributeType>0</AttributeType>

            </RegistryAttributeDefinition>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_Version</AttributeName>

              <Path>SOFTWARE\Microsoft\Exchange\setup\newestbuild</Path>

              <PathType>1</PathType>

              <AttributeType>2</AttributeType>

            </RegistryAttributeDefinition>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_IsVirtual</AttributeName>

              <Path>SOFTWARE\Microsoft\Exchange\Cluster</Path>

              <PathType>0</PathType>

              <AttributeType>0</AttributeType>

            </RegistryAttributeDefinition>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_Cluster_Netbios1</AttributeName>

              <Path>SOFTWARE\Microsoft\Exchange\Cluster\ServerName_MSExchangeSA1</Path>

              <PathType>1</PathType>

              <AttributeType>1</AttributeType>

            </RegistryAttributeDefinition>

            <RegistryAttributeDefinition>

              <AttributeName>MS_Exchange_Cluster_Netbios2</AttributeName>

              <Path>SOFTWARE\Microsoft\Exchange\Cluster\ServerName_MSExchangeSA2</Path>

              <PathType>1</PathType>

              <AttributeType>1</AttributeType>

            </RegistryAttributeDefinition>

          </RegistryAttributeDefinitions>

          <Frequency>3600</Frequency>

          <ClassId>$MPElement[Name="ExchangeDiscovery!Microsoft.Exchange.ServerRole.2003"]$</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="ExchangeDiscovery!Microsoft.Exchange.ServerRole.2003"]/DistinguishedName$</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>

                </And>

              </Expression>

              <Expression>

                <Or>

                  <Expression>

                    <SimpleExpression>

                      <ValueExpression>

                        <XPathQuery>Values/MS_Exchange_IsVirtual</XPathQuery>

                      </ValueExpression>

                      <Operator>Equal</Operator>

                      <ValueExpression>

                        <Value>False</Value>

                      </ValueExpression>

                    </SimpleExpression>

                  </Expression>

                  <Expression>

                    <And>

                      <Expression>

                        <SimpleExpression>

                          <ValueExpression>

                            <Value>$Target/Property[Type="Windows!Microsoft.Windows.Server.Computer"]/IsVirtualNode$</Value>

                          </ValueExpression>

                          <Operator>Equal</Operator>

                          <ValueExpression>

                            <Value>True</Value>

                          </ValueExpression>

                        </SimpleExpression>

                      </Expression>

                      <Expression>

                        <Or>

                          <Expression>

                            <SimpleExpression>

                              <ValueExpression>

                                <XPathQuery>Values/MS_Exchange_Cluster_Netbios1</XPathQuery>

                              </ValueExpression>

                              <Operator>Equal</Operator>

                              <ValueExpression>

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

                              </ValueExpression>

                            </SimpleExpression>

                          </Expression>

                          <Expression>

                            <SimpleExpression>

                              <ValueExpression>

                                <XPathQuery>Values/MS_Exchange_Cluster_Netbios2</XPathQuery>

                              </ValueExpression>

                              <Operator>Equal</Operator>

                              <ValueExpression>

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

                              </ValueExpression>

                            </SimpleExpression>

                          </Expression>

                        </Or>

                      </Expression>

                    </And>

                  </Expression>

                </Or>

              </Expression>

            </And>

          </Expression>

        </DataSource>

      </Discovery>

    </Discoveries>

  </Monitoring>

  <LanguagePacks>

  <LanguagePack ID="ENU" IsDefault="true">

    <DisplayStrings>

      <DisplayString ElementID="Exchange.Server.Extended.Discovery">

        <Name>Microsoft Exchange 2003 Discoveries for Higher Build

Versions</Name>

        <Description>Extends Discovery of Exchange 2003 to include higher

build numbers</Description>

      </DisplayString>

      <DisplayString

ElementID="Microsoft.Exchange.PhysicalInstallation.Extended.Discovery">

        <Name>Exchange 2003 Physical Installation Discovery Extension</Name>

        <Description>Discovers Microsoft.Exchange.PhysicalInstallation for

Exchange 2003 to include newestbuild numbers over 6944</Description>

      </DisplayString>

      <DisplayString

ElementID="Microsoft.Exchange.Server.2003.Extended.InitialRegistryDiscovery">

        <Name>Exchange 2003 ServerRole Initial Discovery Extension</Name>

        <Description>DiscoversMicrosoft.Exchange.ServerRole.2003 initially

to include newestbuild numbers over 6944</Description>

      </DisplayString>

    </DisplayStrings>

  </LanguagePack>

  </LanguagePacks>

</ManagementPack>

 

 

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Microsoft Outlook: 9 Things You Didn&#39;t Know You Could Do Exchange 2003 servers with build numbers

  • I am not sure if I understand the build numbers for Exchange.. But when my exchange server shows that the build version is 7638.2, it should have affected us, as we are on MP 6.0.6387.0

    But I see all my Exchange servers in the Exchange groups.

    Would this mean that any new exchange servers added to the domain won't be discovered?

    Thanks

  • Suggestion for future blogs. I am looking around for help with my low privilege deployment but there doesn't seem to much material. I have posted on the forum and got the response - its too much work, don't do it - hardly helpful. Perhaps its so easy no one is talking about it but in my case I see all kinds on Access Denied in Process Monitor.