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

SCOM 2016 Maintenance Mode Scheduler

The SCOM 2016 Maintenance Mode Scheduler application makes enabling and scheduling maintenance mode simple for all users. Your IT staff will no longer have a reason why a server wasn’t put into maintenance mode.

The application is an intuitive HTML5 interface written specifically for SCOM 2016 and SCOM 1801 from the ground up. It deeply integrates into SCOM 2016 using all the new native maintenance mode scheduling capabilities. All your IT staff can quickly schedule maintenance mode without having to install and use the slow console.


  • Easily access the new web based maintenance mode scheduler from any browser (Chrome, FireFox, Safari and IE)
  • Schedule Windows/Unix Computers, Groups, and Objects like SQL Databases for maintenance in a few seconds.
  • Import a CSV containing a list of computers or groups for scheduled maintenance.
  • Instant MM: Server and application admins can instantly place servers into maintenance during reboots and maintenance windows directly from the server without requiring admin privileges to the server.
  • Instant MM can be called by a VB, PowerShell, or code from anywhere. This can be used to start and stop maintenance on any server for a specified amount of time. This makes it easy to integrate into your current change or software management process.


Additional Features:

  • Integrated Dashboard works in the SCOM Console.
  • Instant Maintenance Mode with URL Parameters.  Specify URL parameters ComputerName, ID, Min, Action to control maintenance mode.
  • Manage page will make it easy to see and manage any upcoming maintenance windows and identify any gaps
  • Uses the same role based permissions that SCOM 2016 uses. Users will only be able to schedule maintenance mode for servers, groups, or objects they already have access to in SCOM.

Schedule Windows Computers

Instant MM

This solution makes it easy for IT staff to put a server into maintenance mode without having to go to the SCOM console. On any server, the administrator can visit the SCOM 2016 Maintenance Mode Scheduler Instant MM website at http://yourMSserver/MMWeb/InstantMM.aspx

Create a shortcut on the desktop of the servers to make it even easier. This can be accomplished manually or by use SCCM, AD Group Policy or some other software deployment software

Integrated Dashboard

Instant Maintenance Mode with URL Parameters

New in SCOM Maintenance Mode Scheduler 2016 is the ability to add parameters to the URL.

  • ComputerName – Specify the Computer Name
  • ID: – Specify the ID of any object in SCOM
  • Min – Number of Minutes for Maintenance Mode
  • Action – Start or Stop Maintenance Mode
  • Combine multiple URL Parameters

Instant Maintenance Mode using PowerShell, VBScript or Code.

Using the new URL Parameters, you can now put servers into Maintenance Mode from any computer using a script or code.  Typical use case would be using SCCM when updates or software is installed.  SCCM would execute the VB or PowerShell script before the install process to start maintenance mode.  After the updates or software is installed SCCM would call the script to stop maintenance mode.

VB Script Example    Download:


PowerShell Example     Download:

Any problems, bugs, or issues please e-mail:

Continue Reading

SCOM 2016 Scheduled Maintenance Mode won’t run if you picked a different database name during install

There is a bug in SCOM 2016 where if you choose a different Operations Manager Database Name during install, schedule maintenance mode won’t work!

The Jobs will run but nothing is put into Maintenance Mode. You won’t get an error in SCOM or in the event log.

As you can see below I named my “OperationsManager” Database “SCOMDB”

The stored procedure has ‘OperationsManager’ hard coded as the Database name so it fails!

The workaround is to change the stored procedure that creates these Schedules.

The stored procedure name is p_MaintenanceScheduleCreate

Right click Modify.

Find the line


and change OperationsManager to your database name and click Execute

You will have to delete all your Schedules in the console.

Now they run without issue.

This is a known bug and will be fixed in SCOM 2016 UR3.





Continue Reading