首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

邮件服务器

技术前沿 | 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 = "XXX@canway.net"

$mailTo = "XXX@canway.net"

 

$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.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备09060656号