Включение Maintenance Mode в SCOM 2012
Если вы уже настроили свой SCOM сервер на мониторинг доступности серверов и их сервисов, то в момент их массовой перезагрузки (плановое обновление операционных систем, например) вам в почту будет сыпаться куча писем с оповещениями о недоступности этих серверов от SCOM сервера. Эта ситуация может вас "немного" нервировать, что вполне понятно.
В Operation Manager 2012 R2 есть возможность перевести одно или несколько устройств в режим обслуживания, в котором все оповещения и уведомления будут подавлены. Но есть одна проблемка - перевести устройство в такой режим можно только вручную, выбрав его в разделе Monitoring - Windows Computers (или UNIX/Linux Computers) и указав пункт меню Start Maintenance Mode...
Но как быть, если необходимо перевести сразу несколько серверов в режим обслуживания, причем делать это надо строго по рассписанию? В этом случае нам поможет powershell скрипт, которым я и хочу поделиться с вами.
------------------------------------ начало кода скрипта ----------------------------------------
param($ManagementServer, $Group, $Minutes, $Reason, $Comment)
Import-Module OperationsManager
New-SCOMManagementGroupConnection -ComputerName $ManagementServer
$Instance = Get-SCOMGroup | where {$_.DisplayName -like "*$Group*"}
$Time = ((Get-Date)).AddMinutes(($Minutes))
Start-SCOMMaintenanceMode -Instance $Instance -EndTime $Time -Reason "$Reason" -Comment $Comment
------------------------------------- конец кода скрипта ----------------------------------------
Сохраняем этот код в файл set_maintmode.ps1 и создаем в планировщике задач его запуск по нужному нам расписанию, используя следующие параметры для запуска:
set_maintmode.ps1 -ManagementServer 'ИМЯ_SCOM_СЕРВЕРА' -Group 'ИМЯ_ГРУППЫ_СЕРВЕРОВ' -Minutes 'ПРОДОЛЖИТЕЛЬНОСТЬ_РЕЖИМА_ОБСЛУЖИВАНИЯ' -Reason 'PlannedApplicationMaintenance' -Comment 'PlannedApplicationMaintenance'
Здесь необходимо указать следующие значения:
ИМЯ_SCOM_СЕРВЕРА - имя вашего SCOM сервера, например srvit01.domain.local;
ИМЯ_ГРУППЫ_СЕРВЕРОВ - название группы, в которую включены те сервера, для которых мы хотим включить режим обслуживания, например Windows_Update_Servers. Группу вы можете создать в разделе Authoring - Groups.
ПРОДОЛЖИТЕЛЬНОСТЬ_РЕЖИМА_ОБСЛУЖИВАНИЯ - время в минутах, в течение которого будет действовать режим обслуживания для указанной группы серверов, например 240 (4 часа).
Таким образом, если мы настроим запуск данного скрипта на 20:00 по субботам, то все сервера в указанной группе будут переводиться в режим обслуживания на период с 20:00 до 24:00 и мы не будем получать уведомлений об их недоступности.