From – https://gallery.technet.microsoft.com/scriptcenter/SCOM-2012-Maintenance-Mode-9187b6c2#content
# PS C:\SCOMMaintenanceModeFromFile> .\SCOM-MM.Ps1 -FileName servers.txt -Duration 10
#
########################################################################
# Functions
########################################################################
#####################################
# Module
#####################################
param(
[string]$FileName,
[string]$Duration
)
Import-Module OperationsManager
new-SCOMManagementGroupConnection -ComputerName Localhost
#####################################
# Script
#####################################
$path = “C:\MM”
$domain = “myco.com”
#####################################
# Params
#####################################
#Get Server list
$MyFile = Get-content “$path\$Filename”
$MyFile
foreach($srv in $MyFile)
{
Write-host “ServerName : $srv”
$startTime = [DateTime]::Now
$endTime = $startTime.AddMinutes($Duration)
$srv += “.$domain”
$Class = get-SCOMclass | where-object {$_.Name -eq “Microsoft.Windows.Computer”};
$Instance = Get-SCOMClassInstance -Class $Class | Where-Object {$_.Displayname -eq “$srv”};
Start-SCOMMaintenanceMode -Instance $Instance -Reason “PlannedOther” -EndTime $endTime -Comment “Scheduled SCOM Maintenance Window”
}
Recent Comments