Creating a central store for SCOM Management Packs

Back in 2014 I wrote a series of blog posts on how I manage my SCOM Management Packs and why. You can find the old posts here:

As I recently completely revised the underlying scripts and as I still find this topic extremely important I thought I dredge up this topic and write a new post which sums it all up.

 

The “theory” and process behind it

In short, a MP Store for me is a folder structure on a file server containing all Management Packs that I use in my Management Group(s) (currently and in the past). For more details, please have a look at the part 1 above.
The general process behind the MP store looks like this:

MP-Store-Process
Or short, you can describe creating an MP store like this:
Step 1: Create the MP store
Step 2: Download the MP(s)
Step 3: Store the downloaded MP in a structured way in the MP store

My proposed MP store structure

I use a folder structure like this:
MP-Store-Structure
This structure served me quite well. In comparison with my 2014 suggestion, I changed some template folders in favor of a central Configuration XML and removed some unused MP sub folders, but the rest stayed almost the same. A simple example MP store with only a few MPs could look like that:
MP-Store-Example

 

How can I automate all those steps?

I am a lazy guy and like automation. So I created three scripts to support automating the three steps of creating an MP store. All scripts are published in Technet Gallery and provide a detailed command based help.
Instead of describing their use in greater detail, I have created a short video tutorial which explains its use in action.

Step 1: Create the MP store (and the base Configuration XML)
-> SCOM-MPSTORE-CreateMPStore.ps1

Step 2: Download the MP(s) from MP Wiki (and MP catalog if you wish)
-> SCOM-MPSTORE-DownloadCurrentMSFTMPs.ps1

Step 3: Store the downloaded MP in a structured way in the MP store
-> SCOM-MPSTORE-CopyMPtoStore.ps1

 

Test this approach

So if you want to test my approach, simply do this:

  1. Download all three scripts from Technet Gallery

  2. Watch the Video Tutorial

  3. Pick a root folder for your new MP store like X:\MP-Store

  4. Create the base folder structure with

      SCOM-MPSTORE-CreateMPStore.ps1 -basefolder X:\ -mpstorename “MP-Store”
    
  5. Download all files from MP Wiki (this can take up to 2h, depending on your connectivity) with

     SCOM-MPSTORE-DownloadCurrentMSFTMPs.ps1 -MPStoreRootFolder X:\MP-Store -DownloadFromMPWiki
    
  6. Populate the store one MP by another by

    1. Creating a temporary folder structure like this:
      X:\_MPExtract\Source, X:\_MPExtract\Report, X:\_MPExtract\Staging

    2. Copy a MSI file and its MP guide from a folder created in Step 5 to X:\_MPExtract\Source

    3. Run

        SCOM-MPSTORE-CopyMPtoStore.ps1 -MPSourceFolder "X:\_MPEXTRACT\Source"
       -MPReportFolder "X:\_MPEXTRACT\Report"
       -MPstagingRootFolder "X:\_MPEXTRACT\staging"
       -MPStoreRootFolder "X:\MP-Store"
       [If Vendor of the MP is not Microsoft, specifiy the Vendor name]
       [-Vendor "Community"]
      

That’s it. Of course you could automate step 6 for all downloaded MPs, but that’s maybe part of a later post.

 

Summary

This post recaps my thoughts around a way of storing SCOM Management Packs and how I create such a store.

I am really looking forward for your feedback, so any comments are welcome!