Archive for the ‘OpsMgr’ Category.

System Center 2012 Operations Manager Versions

System Center 2012 Operations Manager RTM – 7.0.8560.0

System Center 2012 Operations Manager RTM Update Rollup 1 – 7.0.8560.1021 (
System Center 2012 Operations Manager RTM Update Rollup 2 – 7.0.8560.1027 (
System Center 2012 Operations Manager RTM Update Rollup 3 – 7.0.8560.1036 (

System Center 2012 Operations Manager SP1 – 7.0.9538.0

System Center 2012 Operations Manager SP1 Update Rollup 1 – 7.0.9538.1005 (
System Center 2012 Operations Manager SP1 Update Rollup 2 – 7.0.9538.1047 (
System Center 2012 Operations Manager SP1 Update Rollup 3 – 7.0.9538.1069 (
System Center 2012 Operations Manager SP1 Update Rollup 4 – 7.0.9538.1084 (
System Center 2012 Operations Manager SP1 Update Rollup 5 – 7.0.9538.1106 (
System Center 2012 Operations Manager SP1 Update Rollup 6 – 7.0.9538.1109 (

System Center 2012 R2 Preview Operations Manager – 7.1.10139.0

System Center 2012 R2 Operations Manager – 7.1.10226.0
System Center 2012 R2 Operations Manager Update Rollup 1 – 7.1.10226.1011 (
System Center 2012 R2 Operations Manager Update Rollup 2 – 7.1.10226.1015 (

Create subscribers from .CSV

Here is a small powershell script for creating multiple subscribers from a CSV-file.

Your file should look like this:

"Marsellus Wallace","","12345678","marsellusw"

And the code looks like this:

$NotificationSubscribers = Import-Csv "D:\temp\SCOMNotificationSubscribers.csv"

foreach($NotificationSubscriber in $NotificationSubscribers)
$Name = $NotificationSubscriber.Name
$eMail = $NotificationSubscriber.Email
$SMS = $NotificationSubscriber.SMS
$IM = $NotificationSubscriber.IM

Add-SCOMNotificationSubscriber -Name $Name -DeviceList $eMail,"sms:$SMS","sip:$IM"

Creating a xplat script monitor from the console, System Center 2012 Operations Manager

Announced in the Technet forum last week was the new ability to create a UNIX/Linux Shell Command Monitor. Download the file from here, run it and after importing the file called Microsoft.Unix.ShellCommand.Library.mpb you will be able to create a two and/or three state UNIX/Linux script monitor from within the Operations Manager console.


To create a monitor simply start the Create a Unit monitor wizard.

Make your choices:


Give the monitor a Name select Monitor target and choose if it will be enabled.

Select how often your script will run on the agent.

In the Shell Command details you need to provide your command or path to binary/script without line breaks. So my little script that checks if a file exists.

if ! [ -f /tmp/OPSMGR.SE ];
echo "Error"
echo "OK"

Needs to be put in a file on the agent or as a one-liner. Otherwise it wont be possible to continue the wizard and a red exclamation will show, like in this picture


Putting the script in one line makes it look like this, I removed #!/bin/bash so the line wont be marked as a comment..

if ! [ -f /tmp/OPSMGR.SE ]; then echo "Error"; else echo "OK"; fi


Specifying the Error Expression


Specifying the Healthy Expression


Finish the wizard and your monitor is now running.


Running both OpsMgr 2012 beta and 2007 R2 consoles on the same workstation

Connecting to a OpsMgr 2012 beta management server with a OpsMgr 2007 R2 console doesn’t work either does connecting with the 2012 beta console to a 2007 R2 RMS.

If you like me wants to be able to connect to both a 2012 beta management group and a 2007 R2 management group you can run 2 consoles on the same workstation. Just start with running the OpsMgr 2012 beta setup on your workstation, if an OpsMgr R2 console is already installed it will be upgraded, otherwise just install the console. If you don’t want to go through the setup GUI just run this from an elevated command prompt: setup.exe /silent /install /components:OMConsole /UseMicrosoftUpdate:[0|1]

When this is done, load your R2 media and install the console from that one.

This will give you two folders in %programfiles%:


And also on the Start menu and Programs and Features:



Now we are able to run the consoles simultaneously


But you will soon notice that the Connect to Server.. windows is showing now and then when opening a console. This is also mentioned in this post:

connect to

To get rid of this I edit the shortcut and add / for my 2012 console and /Server:OM.opsmode.local for the 2007 R2 console
"C:\Program Files\System Center Operations Manager 2007\Microsoft.MOM.UI.Console.exe" /Server:OM.opsmode.local
"C:\Program Files\System Center Operations Manager 2012\Console\Microsoft.EnterpriseManagement.Monitoring.Console.exe" /

Download Management Packs, OpsMgr 2007 and 2012 Beta

One nice features is the possibility to download MP’s from the Catalog in the OpsMgr Console.
I really like being able to download MP’s to disk, that way I can back up the actual .MP file. Not having to download a .MSI, installing it and remove it from Programs and Features / Add/Remove programs if I don’t want it there. What you don’t get when you download it from the Console is the Management Pack Guide, and that one needs to be read before importing the MP.
So, to get hold of the guide document from the Console you do as follows.

Go to Administration, right click Management Packs (you can right click anywhere) and chose Download Management Packs.

Chose your download location and then click Add

Search for the MP you want to download, and select it in the list. Then click Properties


And there you have it!


A nice feature here would be to right click and Save As, but that doesn’t work. How ever you can click it and it will open in Word, if you don’t have Word installed you can mark it and copy the the link with Ctrl+C and paste it in a browser to open it on another machine.

Web Console prerequisites, OpsMgr 2012

When installing the Web Console there is a couple of components that is required, the Operations Manager 2012 Supported Configuration ( list these:

  • Recommended processor speed: 2.8 GHz or faster.
  • Minimum memory: not less than 2 GB.
  • Operating System: Windows Server 2008 R2
  • Processor Architecture: must be AMD64
  • Internet Information Services (IIS) v7.5 or later, with the IIS Management Console and the following role services installed:
    • Static Content
    • Default Document
    • Directory Browsing
    • HTTP Errors
    • HTTP Logging
    • Request Monitor
    • Request Filtering
    • Static Content Compression
    • Web Server (IIS) Support
    • IIS 6 Metabase Compatibility
    • ASP.NET
    • Windows Authentication
  • Default website: must have an http or https binding configured
  • Both .NET Framework 3.5 SP1 and .NET Framework 4 is required for setup to run. For more information, see the following.


The role services is easily installed with powershell, which makes it a little quicker then using Server Manager GUI:

Import-Module ServerManager
Add-WindowsFeature NET-Framework-Core,Web-WebServer,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Asp-Net,Web-Http-Logging,Web-Request-Monitor,Web-Windows-Auth,Web-Filtering,Web-Stat-Compression,Web-Mgmt-Console,Web-Metabase

As you might see I’ve also added NET-Framework-Core  (.NET Framework 3.5.1) there as well.

When the IIS install is ready you should install .NET Framework 4. (

If you installed .NET Framework 4 before installing the IIS you’ll get an error:

The ASP.NET 4.0 handler is not registered with IIS.
The ASP.NET 4.0 handler is not registered with IIS 

To fix this, the Operations Manager 2012 Deployment document states that you should run:

%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -r

I suggest that that you add the -enable option (%WINDIR%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -enable -r), that enables the ASP.NET ISAPI extension. And gets rid of this prerequisites error:

Web Console cannot operate properly because the ISAPI and CGI Restrictions in Internet Information Services (IIS) are disabled or missing for ASP.NET 4.0.
Web Console cannot operate properly because the ISAPI and CGI Restrictions in Internet Information Services (IIS) are disabled or missing for ASP.NET 4.0.

Lastly do a restart of the server before running the setup again.

Manage multiple Management Groups with PowerShell

Sometimes we have more than one Management Group (MG), production, test and maybe a development environment. When opening the Operations Manager Console it connects with the last MG you were connected to. This is controlled by the registry value SDKServiceMachine in HKEY_CURRENT_USER\Software\Microsoft\Microsoft Operations Manager\3.0\User Settings

If we want to control this, there is a switch when opening console:
Microsoft.MOM.UI.Console.exe /


So for the console we can create different shortcuts for the MG’s with the switch..

When it comes to the Operations Manager Shell there isn’t any switch to do it the “easy way”. I do like this:

First I makes as many copy’s of the file Microsoft.EnterpriseManagement.OperationsManager.ClientShell.Startup.ps1 as I have Management Groups. Renaming them to the different MG names, for example:
Microsoft.EnterpriseManagement.OperationsManager.ClientShell.StartupOPSMGRdev.ps1 for my development environment.

Second I open the ..StartupOPSMGRdev.ps1-file in my preferred editor and change line 10


Just adding your RMS fqdn (remove : “”)

Third I make a copy of the Operations Manager Shell shortcut for every MG and change the .Startup.ps1 to the name you gave the Startup file, in my case it will be:


So now I have a shortcut for every Management Group in my environment.


Cory Delamarter have written a post on the same subject but with an other angle.
Check it out here:

How-To handle application teams in Operations Manager

This scenario is quite common here in Sweden and I get questions like this from customers and in forums.

We have one team that administrates the infrastructure, Active Directory, MS Exchange, SQL server, Operations Manager etc. Then we have a application team that operates the business applications, for example Microsoft Dynamics CRM and a web application called DinnerNow.

The application team wants to be able to see alerts and status as well as changing thresholds and doing overrides on "their" applications and all dependencies like storage, databases and web sites in the OpsMgr console. On top of that they also wants to get notified trough e-mail in non business hours.

So in this case we focus on the group that is administrating DinnerNow and Dynamics CRM.
First we need some groups, I’ve created one main group (OpsMode Application Team) with 8 subgroups containing the various components of Dynamics CRM and DinnerNow.


  • DinnerNow Databases, contains objects from the SQL 2008 Database class
  • DinnerNow Storage and logging, contains objects from the Ubuntu server class
  • DinnerNow Web sites, contains objects from the IIS7 Web sites class
  • Dynamics CRM Application Servers, contains objects from the Microsoft Dynamics CRM 4.0 Server class
  • Dynamics CRM Data Disk, contains objects from the Logical Disk class
  • Dynamics CRM SQL components, contains objects from the SQL 2008 Database and SQL 2008 Agent Job class
  • Dynamics CRM Web sites, contains objects from the IIS 7 Web sites class
  • Dynamics CRM Windows Servers, contains objects from the Windows Computer class

Second we need to create a User Role. I base this User Role on the Advanced Operator role, because the team need to do overrides and similar.

The Advanced Operator profile includes a set of privileges designed for users that need access to limited tweaking of monitoring
configuration in addition to the Operators privileges. A role based on the Advanced Operators profile grants members the ability to override the configuration of rules and monitors for specific targets or groups of targets within the configured scope.

I name the user role, and add the members of the team. In this case its Marsellus Wallace and Vincent Vega.


Then I chose what groups this user role will be able to handle.


When choosing what views will be available I also check Active Alerts, Windows Computers, Microsoft SQL Server, Microsoft Windows Internet Information Services and Microsoft Windows Server.


I then finish the wizard. (All the settings set in the wizard can later be changed if we would like.)
Now we have a new User Role:


And if I now log on the console with the user Vincent Vega I now only see the views we chose in the User Role Wizard.


We can create overrides on all management packs but only to computers that are members of a group that we chose in the wizard.
When doing an override for a group, we only get to chose from the groups chosen earlier.



So now the team can view and take care of the monitoring in the Console. They also wants to get critical alerts through e-mail on times they are not in front of a console, ie non office hours.

So to set this up we can use the groups created earlier. I assume that you have a working Notification Channel and your subscribers all set up, otherwise check these:

How to Create and Configure the Notification Action Account

Enable an E-mail Notification Channel

Create Notification Subscribers

Creating a criteria for the subscription, it could look like this.


This will send New Critical alerts from all the above groups classes to the subscriber.

Putting Unix/Linux servers in MM with Powershell

I saw a question in the TechNet forum today on how to schedule Maintenance mode for Unix/Linux servers.
After some testing this powershell script came out, put it in the task scheduler to automate it, or even better put it in the Opalis policy that is taking care of your maintenance..

add-pssnapin “Microsoft.EnterpriseManagement.OperationsManager.Client”;
Set-Location “OperationsManagerMonitoring::”;
$mgConnection = New-ManagementGroupConnection -connectionString:$rmsServer;

Set-Location $rmsServer;

$unixClass = get-monitoringclass -name "Microsoft.Unix.Computer"
$monObject = Get-MonitoringObject -monitoringclass:$unixClass
$mmServer = $monObject | where {$_.displayname -eq "unixserver.fqdn"}

New-MaintenanceWindow -MonitoringObject $mmServer -Comment "Enter maintenance mode reason here" -StartTime (Get-Date) -EndTime (Get-Date).AddMinutes(60)

Whats running on the agent…?

Ever wanted to now what rules, monitors and discoveries is running on the OpsMgr agent? I sure did..

Now the answer is a great Powershell script written by Stefan Stranger.

It is to be found here: