#定義存儲須要置爲維護模式的計算機名稱列表 $serverlist = "C:\scomm\servers.txt" #定義腳本執行結果的輸出位置 $server_maintenance_result = "C:\scomm\server_result.txt" #定義維護模式截止時間 $time_stop = "3/5/2013 12:00" #定義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 ##################對每臺計算機設置維護模式################# #定義須要設置維護模式的計算機名稱 #$time_start = [DateTime]::Now $time_start = Get-Date $servernames = Get-Content $serverlist "計算機名稱" + " " + "維護模式結束時間" |Out-File $server_maintenance_result Foreach ($servername_maintenance in $servernames) { #經過agent獲取Monitoringobject $agent = get-agent|where {$_.name -eq $servername_maintenance+".testj.com"} $server = $agent.hostcomputer #設置具體結束時間 New-MaintenanceWindow -Monitoringobject $server -Comment "maintenance test" -Starttime $time_start -Endtime $time_stop #設置維護模式時長 #New-MaintenanceWindow -Monitoringobject $server -Comment "maintenance test" -Starttime $time -Endtime $time.addminutes(30) $servername_maintenance + " " + (get-maintenancewindow -monitoringobject $server).ScheduledEndTime |Out-File $server_maintenance_result -Append }