How to Set Up Windows Server 2016 Operations Manager

System Center Operations Manager (SCOM) is Microsoft’s enterprise monitoring platform for Windows Server, Linux, network devices, and applications. SCOM uses management packs containing pre-built knowledge about specific technologies to automatically discover components, apply monitoring rules, generate alerts, and produce performance data. Deployed on Windows Server 2016, SCOM provides deep visibility into the health and performance of your entire IT infrastructure from a single console. This tutorial covers installing a single-server SCOM 2016 deployment, configuring the management group, deploying agents, importing management packs, and creating basic alert notifications.

Prerequisites

You need a Windows Server 2016 server with at least 8 GB of RAM and 80 GB of disk space, SQL Server 2016 or later for the OperationsManager and OperationsManagerDW databases, an active directory service account for SCOM (svc-scom), and the server joined to the domain. The SCOM installation account must have local administrator rights and SQL Server sysadmin rights. Review the SCOM 2016 hardware requirements for production sizing; the single-server guidance here suits lab or small environments.

Step 1: Install Required Windows Features

SCOM requires several Windows features on the management server. Install them in an elevated PowerShell session.

Install-WindowsFeature `
    NET-Framework-45-Features, `
    NET-WCF-Services45, `
    NET-WCF-TCP-PortSharing45, `
    Web-Server, `
    Web-WebServer, `
    Web-Asp-Net45, `
    Web-Net-Ext45, `
    Web-ISAPI-Ext, `
    Web-ISAPI-Filter, `
    Web-Mgmt-Console, `
    RSAT-AD-Tools `
    -IncludeManagementTools -Restart

Step 2: Prepare SQL Server Databases

SCOM requires two SQL Server databases: the operational database (OperationsManager) and the data warehouse (OperationsManagerDW). Create both databases or allow the SCOM installer to create them by granting the setup account the necessary SQL Server roles. The data warehouse database stores historical performance and alert data and should be placed on a dedicated disk with sufficient free space.

-- Run in SQL Server Management Studio
-- Create the Operational DB (Setup can create this, but pre-creating gives size control)
CREATE DATABASE [OperationsManager]
ON PRIMARY (NAME = 'OperationsManager', FILENAME = 'E:SQLDataOperationsManager.mdf',
    SIZE = 1024MB, FILEGROWTH = 256MB)
LOG ON (NAME = 'OperationsManager_log', FILENAME = 'F:SQLLogsOperationsManager_log.ldf',
    SIZE = 512MB, FILEGROWTH = 128MB)

-- Create the Data Warehouse DB
CREATE DATABASE [OperationsManagerDW]
ON PRIMARY (NAME = 'OperationsManagerDW', FILENAME = 'E:SQLDataOperationsManagerDW.mdf',
    SIZE = 2048MB, FILEGROWTH = 512MB)
LOG ON (NAME = 'OperationsManagerDW_log', FILENAME = 'F:SQLLogsOperationsManagerDW_log.ldf',
    SIZE = 512MB, FILEGROWTH = 256MB)

Step 3: Install SQL Server Full-Text Search

SCOM requires SQL Server Full-Text Search to be installed on the SQL instance hosting the OperationsManager database.

# Verify Full-Text Search is installed on SQL Server
Invoke-Sqlcmd -Query "SELECT FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')" `
    -ServerInstance 'sql01MSSQLSERVER'

If the query returns 0, re-run SQL Server setup and add the Full-Text Search feature.

Step 4: Install SCOM 2016

Mount the SCOM 2016 installation media and run Setup.exe. Choose the Management Server and Operations Console roles. On a single-server deployment, also select the Reporting Server if SQL Server Reporting Services is available. Enter the management group name, SQL Server instance names, and service account credentials when prompted.

# Unattended install example (adjust parameters to your environment)
Setup.exe /silent `
    /install /components:OMServer,OMConsole,OMWebConsole `
    /ManagementGroupName:CORP-MG `
    /SqlServerInstance:SQL01 `
    /DatabaseName:OperationsManager `
    /DWSqlServerInstance:SQL01 `
    /DWDatabaseName:OperationsManagerDW `
    /UseLocalSystemDASAccount `
    /DatareaderUser:CORPsvc-scom `
    /DatareaderPassword:S3rv!ceP@ss2016 `
    /DataWriterUser:CORPsvc-scom `
    /DataWriterPassword:S3rv!ceP@ss2016 `
    /ActionAccountUser:CORPsvc-scom `
    /ActionAccountPassword:S3rv!ceP@ss2016 `
    /DASAccountUser:CORPsvc-scom `
    /DASAccountPassword:S3rv!ceP@ss2016 `
    /AcceptEndUserLicenseAgreement:1

Step 5: Open Operations Manager Console and Verify Health

After installation, open the Operations Manager Console. Navigate to Monitoring > Operations Manager > Management Server > Management Servers State. All management servers should show a healthy green state. A grey or red state indicates a configuration or connectivity problem.

# Check SCOM services are running
Get-Service | Where-Object { $_.DisplayName -like '*Operations Manager*' } |
    Select-Object DisplayName, Status

Step 6: Deploy Agents to Managed Servers

Deploy SCOM agents to managed servers using the Discovery and Agent Deployment Wizard in the Administration section of the console, or push agents via PowerShell for automation.

Import-Module OperationsManager

# Connect to the management group
New-SCOMManagementGroupConnection -ComputerName 'scom01.corp.local'

# Discover and install agents on target computers
$targets = Get-ADComputer -Filter * -SearchBase 'OU=Servers,DC=corp,DC=local' |
    Select-Object -ExpandProperty DNSHostName

foreach ($target in $targets) {
    $computer = Get-SCOMClass -Name 'Microsoft.Windows.Computer' |
        Get-SCOMClassInstance | Where-Object { $_.DisplayName -eq $target }
    Install-SCOMAgent -PrimaryManagementServer (Get-SCOMManagementServer) `
        -AgentActionAccount (Get-Credential CORPsvc-scom) `
        -DNSHostName $target
}

Step 7: Import Management Packs

Management packs provide monitoring knowledge for specific technologies. Import the Windows Server Operating System management pack and any others relevant to your environment.

Import-Module OperationsManager
New-SCOMManagementGroupConnection -ComputerName 'scom01.corp.local'

# Import from a local file
Import-SCOMManagementPack -Fullname 'C:ManagementPacksMicrosoft.Windows.Server.2016.mp'

# Import from the catalog (online)
Install-SCOMManagementPack -ManagementGroupConnection (Get-SCOMManagementGroupConnection) `
    -ManagementPack 'Microsoft.Windows.Server.2016'

# List all imported management packs
Get-SCOMManagementPack | Select-Object DisplayName, Version | Sort-Object DisplayName

Step 8: Create Notification Subscriptions

Configure SCOM to send email alerts for critical events. Set up an SMTP notification channel and then create a subscription to specify which alerts trigger notifications and who receives them.

# Configure SMTP notification channel via PowerShell
Add-SCOMNotificationChannel -Name 'SMTP Channel' `
    -HeaderType Smtp `
    -Server 'smtp.corp.local' `
    -Port 25 `
    -From '[email protected]' `
    -Subject 'SCOM Alert: {0}' `
    -Body 'Alert: {0}nDescription: {1}nSeverity: {2}nPriority: {3}'

# Add notification subscribers
Add-SCOMNotificationSubscriber -Name 'IT Operations' -Addresses '[email protected]'

# Create a subscription for critical alerts
Add-SCOMNotificationSubscription -Name 'Critical Alerts' `
    -Channel (Get-SCOMNotificationChannel 'SMTP Channel') `
    -Subscriber (Get-SCOMNotificationSubscriber 'IT Operations') `
    -Criteria "Severity = 'Error'"

Step 9: Configure Maintenance Mode

Put managed objects into maintenance mode during planned maintenance windows to suppress alerts and avoid flooding the team with false positives during patching.

Import-Module OperationsManager
New-SCOMManagementGroupConnection -ComputerName 'scom01.corp.local'

# Put a server into maintenance mode for 2 hours
$instance = Get-SCOMClassInstance -DisplayName 'web01.corp.local'
$startTime = Get-Date
$endTime = $startTime.AddHours(2)
Start-SCOMMaintenanceMode -Instance $instance `
    -EndTime $endTime `
    -Reason PlannedOther `
    -Comment 'Monthly patching window'

Step 10: Generate a Management Pack Report

Use SQL Server Reporting Services integration to generate reports on alert history, SLA availability, and performance trends. Access reports through the Reporting workspace in the Operations Manager console or directly via the SSRS web portal.

# Query alert history directly from the OperationsManager database
Invoke-Sqlcmd -ServerInstance 'sql01' -Database 'OperationsManager' -Query @"
SELECT TOP 100
    a.AlertName,
    a.Severity,
    a.ResolutionState,
    a.TimeRaised,
    a.LastModified
FROM Alert a
WHERE a.TimeRaised > DATEADD(DAY, -7, GETDATE())
ORDER BY a.TimeRaised DESC
"@

System Center Operations Manager on Windows Server 2016 delivers comprehensive infrastructure monitoring that scales from small environments to thousands of managed objects. By completing this installation and configuration you have established a management group, deployed agents, imported management packs, configured alert notifications, and set up maintenance mode workflows. Invest time in tuning management pack thresholds to reduce alert noise, regularly import updated management packs from the Microsoft Catalog, and review the Health Explorer to understand and resolve underlying issues rather than just dismissing alerts. A well-tuned SCOM environment becomes an invaluable tool for proactive incident prevention.