首頁 | 郵件資訊 | 技術教程 | 解決方案 | 產品評測 | 郵件人才 | 郵件博客 | 郵件系統論壇 | 軟件下載 | 郵件周刊 | 熱點專題 | 工具
網絡技術 | 操作系統 | 郵件系統 | 客戶端 | 電子郵箱 | 反垃圾郵件 | 郵件安全 | 郵件營銷 | 移動電郵 | 郵件軟件下載 | 電子書下載

郵件服務器

技術前沿 | Qmail | IMail | MDaemon | Exchange | Domino | 其它 | Foxmail | James | Kerio | JavaMail | WinMail | Sendmail | Postfix | Winwebmail | Merak | CMailServer | 郵件與開發 | 金笛 |
首頁 > 郵件服務器 > 其它郵件服務器軟件 > Powershell腳本監控服務器并郵件告警 > 正文

Powershell腳本監控服務器并郵件告警

出處:www.learnfuture.com 作者:林業燦 時間:2016-12-26 15:37:20

【摘要】

實時掌握服務器運行狀態對系統管理員來說非常重要,服務器出現問題是第一時間知道可以保證及時處理,將意外損失降到最小。利用powershell可簡單實現監控功能,并在服務器掉線或關鍵服務停止時發出郵件通知管理員,使管理員可以及時處理故障。

【正文】

   腳本組成

image001.jpg

如圖,除powershell腳本文件外,需要創建3個txt文件,分別為Servers.txt、Services.txt、Urls.txt。三個文件都是以csv格式導入,第一行內容需要保留,添加內容由第二行開始

 

Servers.txt添加服務器名用于監控服務器在線情況

image002.jpg

Services.txt添加服務器名及服務名用于監控關鍵服務運行情況

image003.jpg

Urls.txt添加網站用于監控網頁是否能正常打開

image004.jpg

   腳本內容

$Urls = import-csv Urls.txt

$Servers = import-csv Servers.txt

$Services = import-csv Services.txt

$mailcontent = $null

$mailFrom = "[email protected]"

$mailTo = "[email protected]"

 

$Credential = Get-Credential -Credential $mailFrom

 

While($true)

{

Foreach ($server in $Servers)

{

$hostname = $server.server

if (!(test-connection $hostname -count 2 -quiet))

{$date = Get-Date

 $mailcontent = $mailcontent + "$hostname is offline $date `n"

 Write-Host "$hostname is offline $date" -ForegroundColor Red}

}

 

Foreach ($service in $Services)

{

$Server = $Service.server

$ServiceName = $Service.service

If (!(test-connection $Server -count 2 -quiet))

{$date = Get-Date

 $mailcontent = $mailcontent + "$Server is offline $date `n"

 Write-Host "$Server is offline $date" -ForegroundColor Red}

 Else

{$Servicestate = (Get-WmiObject -Class win32_service -ComputerName $Server|Where-Object{$_.Name -eq $ServiceName}).State

If($Servicestate -ne "Running")

{$date = Get-Date

 $mailcontent = $mailcontent + "$ServiceName in $Server is not running! $date `n"

 Write-Host "$ServiceName in $Server is not running! $date" -ForegroundColor Red}

 }

}

 

Foreach($url in $Urls)

{

$Website = $url.website

Invoke-WebRequest $Website

If(!$?)

{$date = Get-Date

 $mailcontent = $mailcontent + "$Website 無法連接 $date `n"

 Write-Host "$Website 無法連接 $date" -ForegroundColor Red}

}

If($mailcontent -ne $null)

{

Send-MailMessage -Body $mailcontent -SmtpServer smtp.partner.outlook.cn -From $mailFrom -To $mailTo -Subject "Warning" -UseSsl -Credential $Credential -Port 587

}

$mailcontent = $null

sleep 3600

}

   腳本使用

用1.2所列出的腳本內容創建powershell腳本,與Servers.txt、Services.txt、Urls.txt放在同一路徑下,用有權限的賬戶運行

當有任意一項檢查不通過時,會發郵件通知管理員。如圖,修改以下位置可以自定義收件人和發件人。

       image005.jpg

       運行腳本后會讓你填入郵箱密碼,之后腳本就會每個小時檢查一次,檢查不通過時發郵件到設定的收件人,腳本檢查間隔可自定義,如圖,初始設置為3600s

image006.jpg

       image007.jpg

收到郵件如圖

image008.jpg

選擇發件人郵箱后需要在下面的命令里修改Smtp服務器和端口號

 

Send-MailMessage -Body $mailcontent -SmtpServer smtp.partner.outlook.cn -From $mailFrom -To $mailTo -Subject"Warning" -UseSsl -Credential $Credential -Port 587

相關文章 熱門文章
  • 通過Powershell管理Exchange Online
  • 使用遠程PowerShell將用戶郵箱轉變為共享郵箱并移除它的許可證授予其他用戶
  • 使用PowerShell查詢成員為空的通訊組
  • Windows PowerShell關鍵學習指引
  • Exchange 2010 Powershell查看用戶最后登陸郵箱時間
  • Exchange 2010 Powershell實現郵箱收發數量統計
  • 使用Powershell 腳本建立AD用戶
  • 利用Powershell 批量創建基于用戶名的文件夾
  • 使用Powershell 命令同時獲取mailbox 和maiboxstastics 屬性?
  • 如何使用Powershell腳本監控Exchange2010(三) Archive郵箱容量和使用情況的發布
  • 如何使用Powershell腳本監控Exchange2010(二) 企業內部郵件流量的監控
  • 如何使用Powershell腳本監控Exchange2010(一) 數據庫Mount狀態的監控
  • Coremail郵件系統FAQ
  • 用Windows 2003配置郵件服務器
  • Windows Server 2003也能提供郵件服務
  • 自己電腦做SMTP服務器不求人
  • ArgoSoftMail使用詳解(1)
  • 不花一分錢輕松打造自己的電子郵局
  • 如何安裝一個hotmail的郵箱系統
  • 利用twig架設WebMail系統
  • ShareMail使用手冊
  • ArGoSoft Mail Server安裝手冊
  • 局域網內部郵件服務器架設指南
  • ArgoSoftMail使用詳解(2)
  • 自由廣告區
     
    最新軟件下載
  • Windows 2003遷移升級至Windows 2012文..
  • Exchange Server 2013 Service Pack 1...
  • Exchange 2013 Pocket Consultant Dat...
  • Exchange 2013 Connectivity Clients ...
  • Exchange Server 2013 Pocket Consult...
  • Exchange Server 2013 Unleashed
  • Exchange Server 2013 Powershell Coo...
  • Exchange 2013 Mailbox and High Avai...
  • Learn Windows PowerShell 3 in a Mon...
  • Windows Powershell 3.0 First Steps
  • Windows PowerShell 3.0 Step by Step...
  • Foxmail 7.1 正式版
  • 今日郵件技術文章
  • XP系統Outlook密碼彈框問題
  • Exchange用戶郵箱自動隔離機制
  • Powershell腳本監控服務器并郵件告警
  • Exchange 2010 SP3多次使用HTTP方式訪...
  • Exchange服務器郵件傳輸配額設置詳解
  • 實現Exchange 發送限制步驟
  • 批處理遷移Exchange2010公用文件夾到2016
  • Exchange 2010 怎么防止別人任意偽造一..
  • Exchange 2013在OWA首頁增加更改密碼的..
  • Exchange Server 2013下設置消息通知郵件
  • Exchange Server 2013數據庫內容索引狀..
  • 在Exchang 2007服務器上刪除已發送的郵件
  • 最新專題
  • Windows Server 2012技術專題
  • Windows 8 技術專題
  • Exchange Server 2013技術專題
  • Exchange 2003升級到Exchange 2010
  • 鳥哥的Linux私房菜之Mail服務器
  • Exchange Server 2010技術專題
  • Windows 7 技術專題
  • Sendmail 郵件系統配置
  • 組建Exchange 2003郵件系統
  • Windows Server 2008 專題
  • ORF 反垃圾郵件系統
  • Exchange Server 2007 專題
  • 分類導航
    郵件新聞資訊:
    IT業界 | 郵件服務器 | 郵件趣聞 | 移動電郵
    電子郵箱 | 反垃圾郵件|郵件客戶端|網絡安全
    行業數據 | 郵件人物 | 網站公告 | 行業法規
    網絡技術:
    郵件原理 | 網絡協議 | 網絡管理 | 傳輸介質
    線路接入 | 路由接口 | 郵件存儲 | 華為3Com
    CISCO技術 | 網絡與服務器硬件
    操作系統:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系統
    郵件服務器:
    程序與開發 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛郵件系統 | 其它 |
    反垃圾郵件:
    綜述| 客戶端反垃圾郵件|服務器端反垃圾郵件
    郵件客戶端軟件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鳥 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    電子郵箱: 個人郵箱 | 企業郵箱 |Gmail
    移動電子郵件:服務器 | 客戶端 | 技術前沿
    郵件網絡安全:
    軟件漏洞 | 安全知識 | 病毒公告 |防火墻
    攻防技術 | 病毒查殺| ISA | 數字簽名
    郵件營銷:
    Email營銷 | 網絡營銷 | 營銷技巧 |營銷案例
    郵件人才:招聘 | 職場 | 培訓 | 指南 | 職場
    解決方案:
    郵件系統|反垃圾郵件 |安全 |移動電郵 |招標
    產品評測:
    郵件系統 |反垃圾郵件 |郵箱 |安全 |客戶端
    廣告聯系 | 合作聯系 | 關于我們 | 聯系我們
    版權所有:郵件技術資訊網©2003-2016 www.hiskyi.tw, All Rights Reserved
    www.hiskyi.tw Web Team   粵ICP備09060656號
    江苏e球彩中奖金额多少