天天看點

<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,如需轉載請自行聯系原作者