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.