一、单台设置维护模式

$MachineName = "a.b.local"

#获取所有SCOM组件的类的实力

Get-SCOMClass -Name "*Windows*" | Get-SCOMClassInstance

#获取名称为$MachineNameSCOM组件类的实例

$Instance = Get-SCOMClassInstance -Name $MachineName

#设置维护时间持续10分钟

$Time = ((Get-Date).AddMinutes(10))

#设置维护模式

Start-SCOMMaintenanceMode -Instance $Instance -EndTime $Time -Comment "Applying NCover maintenance job" -Reason "PlannedApplicationMaintenance"  -ErrorAction SilentlyContinue

单台的话,就直接在图形话界面操作。




二、我这里的重点是批量给多台来启用维护模式。
先整理出一个需要启用维护模式的列表,这个直接在scom的界面中,复制出来,简单处理一下,就可以得到列表。
格式如下:
server1
server2
server3

通过SCOM Powershell来完成这个操作:
$Time = ((Get-Date).AddMinutes(30))
Cat D:\temp\list.txt |Get-SCOMClassInstance |Start-SCOMMaintenanceMode -EndTime $Time -Comment "Applying maintenance job"