Creating your own MP store – Part 2: Getting the latest Management Packs

This is part two of my little “MP store” series. Part 1 can be found here.

In this post I will talk about:

  • How do I get the most current MP versions?
  • How can I tell if my Management Group has the most current MP versions installed?

But before we start let’s have a brief look at the Management Packs installed in a typical Management Group:

You can see that a typical Management Group consists of MPs from different sources. Usually most sealed MPs are sourced from Microsoft or are custom developed MPs, but there are 3rd party and community MPs as well. This post primarily focuses on MPs sourced from Microsoft, as there are no general rules on how to deal with 3rd party MPs. But it will give you some general hints and advises on working with them as well.


How do we get the latest Microsoft MPs?

MP catalog
That is easy: Simply connect to the MP catalog from your console and download the files!
Ahh, wait, hmm, really? Some tiny little pitfalls with that:

  • What if I do not have Web access from my SCOM consoles?
  • There are issues with the Connection between the console and the catalog: I experienced serveral connection timeouts and some verification failures that might require to start the download process multiple times.
  • Not every Microsoft MP is included in the catalog (e.g. Windows Server 2012 cluster at the moment of writing this post) and not every download link is working. So not every Microsoft MP can be downloaded via the catalog!
  • MP guides are not included in the download.
  • It is not easy to automate this process via the console

Ok, what about writing a PowerShell script that connects to the Web service directly (available here: https://www.microsoft.com/mpdownload/ManagementPackCatalogWebService.asmx) and download all the stuff? Several people have done this already (e.g. Michael Kamp and Tao Yang, ). These scripts are solving the automation, online and reliability Problems, but we still lack some MPs and the complete documentation…

MP Wiki
There must be a better way! And there it is: MP Wiki (https://social.technet.microsoft.com/wiki/contents/articles/16174.microsoft-management-packs.aspx).
Started by Daniel Savage and currently maintained by Stanislav Zhelyazkov we can find the download links to all current Microsoft MPs on a single web page.
So we just have to write a script and download all the stuff. This problem has also been solved already. Stanislav, Damien and Cameron have been written a nice script (see here) which downloads the MPs as MSI files along with the MP guides, if available separately.
Pitfall with this solution:

  • Wiki page is maintained manually. Data quality relies on the maintainer of the page. I really hope that Stanislav will continue his great work forever!!!
  • Downloaded files are MSI files which needs to be installed to extract the MPs.

In my opinion MP Wiki is currently the best approach to get the latest MP Versions including the documentation.

What about MPs from 3rd party vendors?
Now it starts getting really complicated! There is no single source of Information for 3rd party MPs I am aware of. Good starting points are:

Ok, now that we have downloaded the latest (Microsoft) MPs somehow from one of the sources:


How can I tell if my Management Group is using the latest MP Version?

Oh man, that’s sooo easy: Simply connect to the MP catalog and see the differences!
Really? I don't think so:
The MP catalog is not (always) complete and it does not contain custom or 3rd party MPs.

Ok, so let’s simply use the table on MP Wiki…

… and create some kind of array out of it and compare it with the Management Group.
Sounds good, eh? But wait again:
The MP name on the Wiki site (some Kind of Displayname or description) and the name of the MPs stored in my Management Group (internal MP Name) does not match! So I can’t directly use this data for comparison. And it does not include 3rd Party and custom MPs also...


Using a reference folder as a workaround

To cut a long story short:
None of the available solutions provides me with the necessary data (or data formats) to compare it directly with the information stored in my Management Group(s).

My only solution for accomplishing this task is by creating a reference folder with all the latest MPs as a workaround. I use this reference folder for creating an array of all current MPs which I can use as a source to compare its data against my Management Group.

Let me explain this:
How do we get the information about all MPs stored in the Management Group? Simply with this PS one-liner:
get-scommanagementpack | export-csv c:\Temp\MyMPs.csv -notypeinformation

Fortunately get-scommanagementpack does also work with MPs stored on a file system. Therefore we can easily create two arrays of MPs and compare them:

Key takeaways

My key takeaways for this part are:

  • There is unfortunately no single source of information available. No silver bullet!
  • We have to collect MP information from multiple sources and that can be quite resource intensive!
  • We have to store the downloaded MPs in different formats for different puprposes (e.g. as the master reference catalog for checking my Management Groups(s) if they are still up-to-date). See my proposed folder structure from my previous post.

Do I have to do all this manually? Certainly not! My next post will give you some hints and scripts on how to automate all this stuff.