Partager via


Exchange 2013 Addendum MP – for Exchange 2013 and 2016

 

image

 

 

 

The Exchange 2013 MP has been released for some time now. The current version at this writing is 15.0.666.19 which you can get HERE

This MP can be used to discover and monitor Exchange Server 2013 and 2016.

 

 

 

 

However, one of the things I always disliked about this MP – is that it does not use a seed class discovery. Therefore – it runs a PowerShell script every 4 hours on EVERY machine in your management group, looking for Exchange servers. The problem with this, is that it doesn’t follow best practices. As a general best practice, we should NOT run scripts on all servers unless truly necessary. Another issue – many customers have servers running 2003 and 2008 that DON’T have PowerShell installed! You will see nuisance events like the following:

 

Event Type: Error
Event Source: Health Service Modules
Event Category: None
Event ID: 21400
Date: 3/2/2016
Time: 3:29:26 AM
User: N/A
Computer: WINS2003X64
Description:
Failed to create process due to error '0x80070003 : The system cannot find the path specified.
', this workflow will be unloaded.
Command executed: "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -PSConsoleFile "bin\exshell.psc1" -Command "& '"C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Monitoring Host Temporary Files 85\26558\MicrosoftExchangeDiscovery.ps1"'" 0 '{3E7D658E-FA5E-924E-334E-97C84E068C4A}' '{B21B34F9-2817-4800-73BD-012E79609F7E}' 'wins2003x64.dmz.corp' 'wins2003x64' 'Default-First-Site-Name' 'dmz.corp' '' '' '0' 'false'
Working Directory: C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Monitoring Host Temporary Files 85\26558\
One or more workflows were affected by this.
Workflow name: Microsoft.Exchange.15.Server.DiscoveryRule
Instance name: wins2003x64.dmz.corp
Instance ID: {B21B34F9-2817-4800-73BD-012E79609F7E}
Management group: OMMG1

 

 

So, I have created an addendum MP which should resolve this. My MP creates a class and discovery, looking for “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ExchangeServer\v15\Setup\MsiInstallPath” in the registry. If it finds the registry path, SCOM will add it as an instance of my seed class.

image

 

Then, I created a group of Windows Computer objects that “contain” an instance of the seed class. 

image

 

Next, I added an override to disable the main script discovery the Exchange 2013 MP.

Finally, I added an override to enable this same discovery, for my custom group. This should have the effect that our Exchange discovery script ONLY runs on server that actually have Exchange installed (based on the registry key)

image

 

 

This works for discovering Exchange 2013 and Exchange 2016 with the current Exchange 2013 MP.

 

You can download this sample MP at the following location:

https://gallery.technet.microsoft.com/Exchange-Server-2013-and-cfdfcf2f

Comments

  • Anonymous
    March 03, 2016
    Thank you for the information, could you explain the steps in details to implement the addendum pack please ? First install the official one and overwrite with the addendum or only install the addendum pack and go on ?
  • Anonymous
    March 16, 2016
    Thank you for the post. I get an error when importing the MP saying that the dependent management packs are missing. I have installed the Exchange 2013 MPs. On what other MPs does this addendum depend?Thanks,
    • Anonymous
      March 16, 2016
      The MP depends on the following: You can simply edit the MP version to make it match your environment. HOWEVER - all of these are SCOM 2012 R2 base packs and the current Exchange pack, so it sounds like you might be out of date. Microsoft.Windows.Library 7.5.8501.0 System.Library 7.5.8501.0 Microsoft.Exchange.15 15.0.665.19 Microsoft.SystemCenter.InstanceGroup.Library 7.5.8501.0 Microsoft.SystemCenter.Library 7.0.8433.0
  • Anonymous
    July 11, 2016
    Nice, that you posted this. But whouldn't it make more sense to get this fixed right in the Exchange MP? I mean there must be some communication within Microsoft to get this fixed, right?
    • Anonymous
      February 14, 2017
      Just as a general note. As of this comment, there is a new version 15.0.666.20 (Release date 6/15/2016) and there is no mention of changes with discovery in the history notes.
  • Anonymous
    November 01, 2016
    Thanks for posting this. I made a sealed version, for those that want one. http://www.avianwaves.com/Blog/entryid/198/seed-based-discovery-for-exchange-2013-2016-opsmgr-management-pack.aspx
  • Anonymous
    December 19, 2016
    Any advice for this just not working?I have both the Exchange 2013 and 2013 Addendum maintenance packs installed. It will not discover Exchange 2016, i have tried uninstalling and reinstalling the agent with no luck. All other things are being monitored fine on the Exchange 2016 servers.
    • Anonymous
      December 19, 2016
      A little more data will help.You say you imported my MP.Does the seed class instance discover correctly on your 2016 server?
  • Anonymous
    May 22, 2017
    Hi Kevin-Any advice for machines that don't seem to be picking up that they have Exchange installed on them (when in fact, they do)? I deployed the regular SCOM agent to them, and waited days now, even tried restarting the SMS Agent Host service. The machines are picking up that they're Windows servers, but not getting the Exchange part. What am I missing?Thanks,Ken
    • Anonymous
      June 28, 2017
      Hard to tell what you are missing. However you can override the Exchange mp to enable verbose logging on the base discovery. Hopefully that will give some clues about what is going wrong.
  • Anonymous
    June 28, 2017
    I can't tell as i don't have 15.0.666.19. However, the datasource of the current version has composition module that does check the registry value for existence. So i don't think the addendum is needed anymore (the discovery is still started but won't actually start the script).However it still has some value when you don't discover your exchange servers as it will find the regkey and create seed objects for all servers that have that key.