18 通过电子邮件获取SharePoint 2010的健康分析仪警报报告

HI,最近比较忙,正在部署nagios 监控服务器和搭建各种组件,查看配置文档中。。
希望有心的博友们能够给Cantgis正确的部署博文。。错误的太多了。。

下面进入正题。。
我们作为SharePoint 2010的管理员很可能是熟悉下面的截图
当我们打开“管理中心”页面,这时候管理中心出现了一个红色的健康分析仪警报。





我们单击“查看这些问题的链接,这是跳转到一个网页,它会列出所有的项目,这些都是我们需要注意的。





如果我们每天检查的健康警示“页面,那可以说是一个艰巨的任务,可能你也会忘记这么做这件事情。
为了避免这种情况,并启用多个团队成员要注意警报,您可以通过电子邮件发送警报。
健康列表视图(所有报告)配置与严重性不等于成功(4)中列出的所有项目。







使用下面的代码,把它放在一个每天定时任务在SharePoint服务器上,你可以阅读所有项目,并生成一封电子邮件,您可以发送给你的团队成员。


if ($PSVersionTable) {$Host.Runspace.ThreadOptions = 'ReuseThread'}
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
# get the health reports list
$ReportsList = [Microsoft.SharePoint.Administration.Health.SPHealthReportsList]::Local
$FormUrl = '{0}{1}?id=' -f $ReportsList.ParentWeb.Url, $ReportsList.Forms.List.DefaultDisplayFormUrl
$body = $ReportsList.Items | Where-Object {$_['Severity'] -ne '4 - Success'} | ForEach-Object {
    New-Object PSObject -Property @{
        Url = "<a href='$FormUrl$($_.ID)'>$($_['Title'])</a>"
        Severity = $_['Severity']
        Category = $_['Category']
        Explanation = $_['Explanation']
        Modified = $_['Modified']
        FailingServers = $_['Failing Servers']
        FailingServices = $_['Failing Services']
        Remedy = $_['Remedy']
    }
} | ConvertTo-Html | Out-String
# creating clickable HTML links
$body = $body -replace '&lt;','<' -replace '&gt;','>' -replace '&quot;','"'
$params = @{
    To = '[email protected]','[email protected]'
    From = '[email protected]'
    Subject = 'Daily Health Analyzer report'
    SmtpServer = 'smtp1'
    Body = $body
    BodyAsHtml = $true
}
Send-MailMessage @params



我们在Outlook轻易就 能看到 sharepoint警报结果分析(局部视图)。


你可能感兴趣的:(windows,powershell)