PowerShell管理SCOM_批量设置维护模式(下)

#定义存储需要置为维护模式的计算机名称列表
$serverlist = "C:scommservers.txt"
#定义RMS服务器名称
$rmsServerName=”scomw.testj.com”

#################################################################################
#向当前会话添加scom管理单元
add-pssnapin “Microsoft.EnterpriseManagement.OperationsManager.Client”
#将当前工作会话设置为SCOM
Set-Location “OperationsManagerMonitoring::”
#测试管理组连接是否正常,管理组可以更改
$mgConn = New-ManagementGroupConnection -connectionString:$rmsServerName
if($mgConn -eq $null)
{
[String]::Format(“Failed to connect to RMS on ‘{0}’”,$rmsServerName)
return;
}
#设置当前工作会话到scom管理控制台服务器
Set-Location $rmsServerName


##################取消每台计算机的维护模式#################
#定义需要设置维护模式的计算机名称
$servernames = Get-Content $serverlist
"计算机名称" + " " + "维护模式状态" |Out-File $server_maintenance_result2
Foreach ($servername_maintenance in $servernames)
{
#通过agent获取Monitoringobject
$agent = get-agent|where {$_.name -eq $servername_maintenance+".testj.com"}
$server = $agent.hostcomputer
#设置具体结束时间
$time=get-date
Set-MaintenanceWindow -Monitoringobject $server -Endtime $time
get-maintenancewindow -monitoringobject $server
}

原文地址:https://www.cnblogs.com/dreamer-fish/p/3063712.html