SCOM Core – Removing all the add-on management packs that make SCOM 2016 Bloated and Slow

Wouldn’t it be cool if SCOM 2016 was super fast and required less resources?

SCOM 2016 is full of legacy solutions that make it bloated and slow.  You can remove “most” of these solutions if your not going to use them anyway?

SCOM was created in a very modular fashion using management packs to add features over the years.

After careful analysis I created the following PowerShell script to remove many of the management packs that slow down SCOM.

I have broken the script into pieces so you can remove any parts that you want to keep.  The script was created using a clean SCOM 2016 install.  If you have been using SCOM 2016 for a long time or have an upgraded SCOM environment you may have some additional dependencies in unsealed MPs you created.

If you find you need a solution in the future.  Simply add the MPs back from the installation media.


The script:

For APM:  You will need to manually remove the Secure Reference Override before you can delete “Microsoft.SystemCenter.Apm.Infrastructure” mp.  Notes in are in the script as to what needs to be deleted.

My Core Environment:


Authoring Wizard – Much cleaner

Discovery Wizard – Notice Unix is gone

Event Logs – No errors

One of the most valuable management packs to remove would be the “System.NetworkManagement.Library” MP.  But removing this MP breaks the Windows Computer discovery wizard.

Any issues, comments or ideas for removing additional management packs please leave them in the comments.

Continue Reading

Sick of explaining to end users why they didn’t get a SCOM disk monitor alert?

Are you sick and tired of explaining to end users why they didn’t get a disk space alert? The built in SCOM disk space monitors are way too complicated. There are thresholds for warning, critical, system drive, and non-system drive.  Then you must hit both percentage and megabyte thresholds. You can’t alert on warning because you won’t get a critical alert. What a mess!

Want to simplify your life? I have created two simple disk space monitors.

First: How to install them.

Download the MP here:

Import the Management Pack;  **Note: these require PowerShell to be installed on all your agent managed systems.  By default SCOM 2016 requires PowerShell on all systems.**


Next: Disable the built in monitors: Create overrides to disable the built in monitors.



That’s it.  Now end users will get an warning alert at 10% disk free space and a critical alert at 5% disk free space.  Simplicity Is Genius


Want to make your life even easier?   Check out the SCOM Maintenance Mode Scheduler


The Deets (Details)

There are two new disk space monitors.  They work by collecting performance counters using the native modules.  When it detects 3 consecutive perfmon samples  over the threshold of 95% for the critical monitor (90% for the warning monitor) at a 20 minute interval.

If the drive is over the threshold for 60 minutes it will then launch a PowerShell script to clean up the percentage provided from perfmon from to a more readable number.  It will also query the drive for remaining GB free and the total size of the disk.  It displays this in the details of the alert.  This is much nicer then the built in ones that don’t tell you the size of the drive.

You can modify how these work by creating overrides.  You will need to create an overrides for each of the different classes.  Windows Server 2008 Logical disk, Windows Server 2012 Logical disk etc..

If you want to still have a separate threshold for your system drives.  You can simply create a dynamic group containing your c: drives.


Group Members



Then create overrides for the group.

Theses monitors were built using Kevin Holman’s excellent SCOM Management Pack VSAE Fragment Library. Monitor.Performance.ConsecSamples.ThenScript.TwoState.mpx


Please let me know if you find any bugs.


Continue Reading

Monitoring Windows Server 2003 with SCOM 2016

First let me say this isn’t supported. But then again Windows Server 2003 is no longer supported anyways. Even if you have a Custom Support agreement, that just gives you the latest security hotfixes. Not support to monitor it with SCOM.

I have been to many customers recently that want to upgrade to SCOM 2016 but can’t because they have a significant number of systems still running Server 2003.

One option is to setup a new environment running SCOM 2012 R2 and move the old 2003 servers to the new environment. Then upgrade the existing environment with the majority of their servers to SCOM 2016. This creates more overhead keeping the two systems running and up-to-date.

Getting the Agents Working

You cannot install the SCOM 2016 agent on SCOM 2003 as the installer will fail.  But you likely already have a SCOM 2012 R2 Agent installed.  The differences in the SCOM Agent from SCOM 2007 to SCOM 2012 were major as we changed from XML 1.1 to XML 2.0 and included MP Binaries.  The changes from SCOM 2012 R2 to SCOM 2016 are relatively minor.

So, all we need to do is point the SCOM 2012 R2 Agent at SCOM 2016, right?  Maybe.

In my testing a Server 2003 system with a SCOM 2012 Agent, pointing at a SCOM 2016 management server went green but then went grey.

Why is this happening?  Many of the new management packs in SCOM 2016 require PowerShell.  By default, PowerShell is not part of the Windows Server 2003 OS.  To fix this follow these steps.


First we need to get WMI working.   Apply these Server 2003 hotfixes from Kevin’s list of recommended hotfixes.

932370 The number of physical hyperthreading-enabled processors or the number of physical multicore processors is incorrectly reported in Windows Server 2003
933061 WMI Stability in Server 2003
955360 Cscript 5.7 update for Server 2003


Then we first need .net 2.0 SP1 as it’s a prerequisite for PowerShell.

Download x64 Here:

Download x86 Here”


Lastly we need to install the Windows Management Framework Core for Windows Server 2003

Download x64 Here:

Download x86 Here:



Now I can see the Windows Server 2003 Server is being monitored.

You may also want to disable the “Microsoft System Center Advisor Monitoring Server Opt-In/Out Rule” on these 2003 Systems as I have seen this fail.

Another helpful tool is to install Kevin Holman’s Agent Management Pack.

This management pack will help you identify which of your 2003 Systems are missing PowerShell.


Continue Reading

SQL Dashboards not populating with Event 26319

Custom with a large environment (7000+) agents was having issues with the SQL Dashboards not populating.  We checked the event log and came across this error.


Log Name: Operations Manager
Source: OpsMgr SDK Service
Event ID: 26319
Task Category: None
Level: Error
Keywords: Classic
User: N/A
An exception was thrown while processing GetDataWarehouseStoredProcedureResult for session ID
Exception message: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Timed out stored procedure: sdk.Microsoft_SQLServer_Visualization_Library_GetDataCenterDashboardData
Full Exception: Microsoft.EnterpriseManagement.DataWarehouse.DataAccess.SqlTimeoutException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
Timed out stored procedure: sdk.Microsoft_SQLServer_Visualization_Library_GetDataCenterDashboardData —> System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding. —> System.ComponentModel.Win32Exception: The wait operation timed out


The fix:

When used rarely or after a long break, the dashboards may work rather slowly due to large amounts of the collected data to be processed; especially, it is related to large environments (2000+ objects).

Run this script in SQL against your DataWarehouse


Continue Reading