View, update and change SCOM subscription SID of user that created the SCOM subscription

I’ve created a utility that extracts all the SCOM subscriptions in existence in a SCOM implementation that shows the Subscription Name, subscription displayname,  the user SID and the user CN of the user account that created the subscription.

This utility automatically exports the “Microsoft.SystemCenter.Notifications.Internal” management pack and then works through all subscriptions to extract the subscription name and USERSID value from each.

Next the utility tries to resolve the usersid into the CN name of the active directory user object.

After all this is done the utility then displays all subscription information in a table as in the screenshot below.

subs1

If you want to export and save this information into an HTML file you can by clicking on the “Save subs to folder” button.

Using this utility you can also change the USERSID to another account by click on the wanted usersid in the table and clicking on the “Fix User SIDs” button. This will cause all usersids in the management pack to be changed to the chosen one.

After this the management pack is automatically re-imported into the management group.

Using this utility you can quickly and easily changed all subscriptions to a usersid/account that will not be deleted/removed from the Active Directory of the client. In the past you needed to export the management pack and with an editor like notepad++ change and fixup the management pack and then re-import the management pack into your SCOM environment. With this utility all that manual work is done for you and within a few minutes.

The utility also makes a backup of the “Microsoft.SystemCenter.Notifications.Internal” automatically for you in case you will need it later again.

PM me for a copy of this utility.

Monitoring Object reset utility for SCOM 2012

My team had a requirement to be able to reset monitors on a very granular level, the requirements included resetting a single monitoring object on a specific server, similar to reset the C:\ logical disk free space monitor on server X. I’ve not found a powershell or other utility that will meet these requirements so I decided to develop such a utility using the SCOM sdk in VB.net 2010.

Use cases for this utility

1. Reset all monitor objects in an SCOM environment.

2. Reset all C: monitoring objects in the SCOM environment

3. Reset the DB Free Space monitor for all database X objects in the environment

4. Reset all logical disk monitoring objects on server Y

5. Reset an monitoring object on a specific server, like C: monitoring object on server X

6. Reset the Fragmentation level monitor for the C: logical volume on server X

7. Using groups to reset monitors for objects and monitors in the group.

As you can see this utility will fit any and all resetting requirements, this utility as a console application allows the different reset actions to be scheduled in Windows Task Scheduler as well.

Screen shot of the this utility in action

resetmonitor1

 

The above screen shot is resetting a monitor called “Cluster Disk – Free Space Monitor (%)” on a disk group called “PBES001 Disk Group….” on a single server.

The color output of the utility is based on the health state of the particular monitoring object that is being reset.

Below is another screenshot

resetdisk

This command resets all “Logical Disk Free Space” monitors for the C:\ logical disk object in the environment

The utility uses the SDK criteria for the monitors and the objects, so this means you can by using the object and monitor  fields including “DisplayName”, “Path”, “FullName”, “HealthState” you can select and reset any combination of monitors and objects, you can for example using the “FullName” and specifying the object criteria as “FullName like ‘Microsoft.SQLServer.DBEngine%'” you can also reset all monitors or specific monitors of the class of ‘Microsoft.SQLServer.DBEngine%’

The command line parameters that is passed is

1. the SCOM management server

2. Monitor Criteria ie: “DisplayName=’Logical Disk Free Space'”

3. Object Criteria ie : “DisplayName=’C:’ and Path='<server fqdn>’ and HealthState=’Warning'”

4. Group Name with “” if no group is to be used.

 

PM me for a copy of the utility.