玩转PowerShell第三节——【SCOM Maintenance Mode】-技术&分享
概述
Microsoft System Center Operations Manager 2007 sp1(SCOM)是微软推出的专业系统监控软件,可以监控部署在网络中的服务器、应用系统和客户端,提供图形化视图,使管理员可以监控目标计算机存在的故障和产生的警告。
参考文章:http://www.scom2k7.com/scom-2012-maintenance-mode-scheduler/
PowerShell脚本设置SCOM Maintenance Mode(维护模式)
1.设置维护模式
$MachineName = "a.b.local"
#获取所有SCOM组件的类的实力
Get-SCOMClass -Name "*Windows*" | Get-SCOMClassInstance
#获取名称为$MachineName的SCOM组件类的实例
$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
2.查看指定实例的状态
Get-SCOMMaintenanceMode -Instance $Instance
3.结束维护模式
#添加SCOM插件
add-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client"
#将当前工作会话设置为SCOM
Set-Location "OperationsManagerMonitoring::"
#指定当前OprManagerServer的机器全名
$rmsServerName="opr.b.local"
#
#测试管理组连接是否正常,管理组可以更改
$mgConn = New-ManagementGroupConnection -connectionString:$rmsServerName
if($mgConn -eq $null)
{
[String]::Format(“Failed to connect to RMS on ‘{0}’”,$rmsServerName)
return;
}
#设置当前工作会话到scom管理控制台服务器
Set-Location $rmsServerName
#设置维护模式的结束时间,5秒之后
$time = ((Get-Date).AddSeconds(5))
#通过agent获取Monitoringobject
$agent = get-agent|where {$_.name -eq $MachineName }
$server = $agent.hostcomputer
Set-MaintenanceWindow -Monitoringobject $server -Endtime $time
等5分钟