您的位置:首页 > 运维架构 > Shell

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

2013-07-09 22:02 639 查看
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 '<','<' -replace '>','>' -replace '"','"'
$params = @{
To = 'you@domain.com','manager@domain.com'
From = 'SPHealth@domain.com'
Subject = 'Daily Health Analyzer report'
SmtpServer = 'smtp1'
Body = $body
BodyAsHtml = $true
}
Send-MailMessage @params


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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  windows powershell