add-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client" $server = "OM2K701.field.local" new-managementGroupConnection -ConnectionString:$server; set-location "OperationsManagerMonitoring::"; $computerClass = Get-MonitoringClass -name:Microsoft.Windows.Computer $agents = get-agent Remove-Item c:\temp\report.htm -recurse $time = get-date Add-Content c:\temp\report.htm "`n" Add-Content c:\temp\report.htm "`n" Add-Content c:\temp\report.htm "`n

Maintenance Mode Report


Last updated $time

" Add-Content C:\temp\report.htm "`n" foreach ($agent in $agents) { # write-host $agent.principalname $computercriteria = "PrincipalName='" + $agent.principalname + "'" $computer = get-monitoringobject -monitoringclass:$computerClass -criteria:$computercriteria # $computer if ($computer.InMaintenanceMode -eq $false) { # write-host "Computer is not in MM" } else { # write-Host "Computer is in MM" # $computer $mo = Get-MaintenanceWindow -monitoringobject:$Computer Add-Content C:\temp\report.htm "`n" Add-Content C:\temp\report.htm "`n" Add-Content C:\temp\report.htm "`n" Add-Content C:\temp\report.htm "`n" Add-Content C:\temp\report.htm "`n" Add-Content C:\temp\report.htm "`n" } } Add-Content c:\temp\report.htm "`n
Display NameMaint Start TimeMaint End TimeUserReasonComment
" Add-Content C:\temp\report.htm $computer Add-Content C:\temp\report.htm "" Add-Content C:\temp\report.htm $mo.StartTime Add-Content C:\temp\report.htm "" Add-Content C:\temp\report.htm $mo.ScheduledEndTime Add-Content C:\temp\report.htm "" Add-Content C:\temp\report.htm $mo.User Add-Content C:\temp\report.htm "" Add-Content C:\temp\report.htm $mo.Reason Add-Content C:\temp\report.htm "" Add-Content C:\temp\report.htm $mo.Comments Add-Content C:\temp\report.htm "
" Add-Content c:\temp\report.htm "`n" Add-Content c:\temp\report.htm "`n" remove-pssnapin "Microsoft.EnterpriseManagement.OperationsManager.Client"; $objCurrentPSProcess = [System.Diagnostics.Process]::GetCurrentProcess(); Stop-Process -Id $objCurrentPSProcess.ID;