Creating new Report Operator user role

The question keeps popping up so I decided to put this on my blog. SCOM 2007 console does not have an ability to create a new Report Operator user role. Part of the reason is that there is no UI to grant permissions to individual reports from SCOM console either. You can however grant permissions to reports using standard SSRS Report Manager interface as it described in the SCOM documentation (How to Set Permissions on a Report Using Command Shell in Operations Manager 2007). The one thing which is left unspecified is how to create a new Report Operator role so you can put users you like to grant or restrict access to into it.

So here is a script to create a new Report Operator user role using Command Shell:

$mg = (get-item .).ManagementGroup
$reportOperator = $mg.GetMonitoringProfiles() | where {$_.Name -eq "ReportOperator"}
$obj = new-object Microsoft.EnterpriseManagement.Monitoring.Security.MonitoringUserRole

$obj.Name = "TestReportOperatorRole"
$obj.DisplayName = "Test Report Operator Role"
$obj.Description = "Test Report Operator Role"
$obj.MonitoringProfile = $reportOperator

$mg.InsertMonitoringUserRole($obj)

After you execute this script “Test Report Operator Role” appears in UI and you would be able to add users to it using User Role Properties dialog.