天天看点

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

HI,最近比较忙,正在部署nagios 监控服务器和搭建各种组件,查看配置文档中。。

希望有心的博友们能够给Cantgis正确的部署博文。。错误的太多了。。

下面进入正题。。

我们作为SharePoint 2010的管理员很可能是熟悉下面的截图

当我们打开“管理中心”页面,这时候管理中心出现了一个红色的健康分析仪警报。

<a target="_blank" href="http://blog.51cto.com/attachment/201307/183725973.png"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201307/183736327.png"></a>

如果我们每天检查的健康警示“页面,那可以说是一个艰巨的任务,可能你也会忘记这么做这件事情。

为了避免这种情况,并启用多个团队成员要注意警报,您可以通过电子邮件发送警报。

健康列表视图(所有报告)配置与严重性不等于成功(4)中列出的所有项目。

<a target="_blank" href="http://blog.51cto.com/attachment/201307/183747717.png"></a>

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<code>if</code> <code>(</code><code>$PSVersionTable</code><code>) {</code><code>$Host</code><code>.Runspace.ThreadOptions = </code><code>'ReuseThread'</code><code>}</code>

<code>Add-PSSnapin</code> <code>Microsoft.SharePoint.PowerShell</code> <code>-ErrorAction</code> <code>SilentlyContinue</code>

<code># get the health reports list</code>

<code>$ReportsList</code> <code>= </code><code>[Microsoft.SharePoint.Administration.Health.SPHealthReportsList]</code><code>::Local</code>

<code>$FormUrl</code> <code>= </code><code>'{0}{1}?id='</code> <code>-f</code> <code>$ReportsList</code><code>.ParentWeb.Url, </code><code>$ReportsList</code><code>.Forms.List.DefaultDisplayFormUrl</code>

<code>$body</code> <code>= </code><code>$ReportsList</code><code>.Items | </code><code>Where-Object</code> <code>{</code><code>$_</code><code>[</code><code>'Severity'</code><code>] </code><code>-ne</code> <code>'4 - Success'</code><code>} | </code><code>ForEach-Object</code> <code>{</code>

<code>    </code><code>New-Object</code> <code>PSObject</code> <code>-Property</code> <code>@{</code>

<code>        </code><code>Url = </code><code>"&lt;a href='$FormUrl$($_.ID)'&gt;$($_['Title'])&lt;/a&gt;"</code>

<code>        </code><code>Severity = </code><code>$_</code><code>[</code><code>'Severity'</code><code>]</code>

<code>        </code><code>Category = </code><code>$_</code><code>[</code><code>'Category'</code><code>]</code>

<code>        </code><code>Explanation = </code><code>$_</code><code>[</code><code>'Explanation'</code><code>]</code>

<code>        </code><code>Modified = </code><code>$_</code><code>[</code><code>'Modified'</code><code>]</code>

<code>        </code><code>FailingServers = </code><code>$_</code><code>[</code><code>'Failing Servers'</code><code>]</code>

<code>        </code><code>FailingServices = </code><code>$_</code><code>[</code><code>'Failing Services'</code><code>]</code>

<code>        </code><code>Remedy = </code><code>$_</code><code>[</code><code>'Remedy'</code><code>]</code>

<code>    </code><code>}</code>

<code>} | </code><code>ConvertTo-Html</code> <code>| </code><code>Out-String</code>

<code># creating clickable HTML links</code>

<code>$body</code> <code>= </code><code>$body</code> <code>-replace</code> <code>'&amp;lt;'</code><code>,</code><code>'&lt;'</code> <code>-replace</code> <code>'&amp;gt;'</code><code>,</code><code>'&gt;'</code> <code>-replace</code> <code>'&amp;quot;'</code><code>,</code><code>'"'</code>

<code>$params</code> <code>= @{</code>

<code>    </code><code>To = </code><code>'[email protected]'</code><code>,</code><code>'[email protected]'</code>

<code>    </code><code>From = </code><code>'[email protected]'</code>

<code>    </code><code>Subject = </code><code>'Daily Health Analyzer report'</code>

<code>    </code><code>SmtpServer = </code><code>'smtp1'</code>

<code>    </code><code>Body = </code><code>$body</code>

<code>    </code><code>BodyAsHtml = </code><code>$true</code>

<code>}</code>

<code>Send-MailMessage</code> <code>@params</code>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201307/183913128.png"></a>

     本文转自cantgis 51CTO博客,原文链接:http://blog.51cto.com/cantgis/1243943,如需转载请自行联系原作者