一、背景

  某数据库服务器为CentOS,想要监控Keepalived的VIP是否有问题,通过邮件进行报警,但这台机器不能上外网,现在只能在Windows下通过PowerShell来完成发邮件预警。

二、脚本详情

1.创建名为:ping-ip.ps1的PS脚本,代码如下所示:

# ping 192.168.1.51
Test-Connection 192.168.1.51 -Count 2If ($? -ne "True"){Write-Host $address"连接失败"# send mailpowershell.exe D:\ps\send-mail.ps1
}
Else {Write-Host $address"连接成功"$tcp.Close()
}

  

2.创建名为:send-mail.ps1的PS脚本,代码如下所示:

#mail server configuration
$smtpServer = "smtp.126.com"
$smtpUser = "bbs@126.com"
$smtpPassword = "mypsw"
#create the mail message
$mail = New-Object System.Net.Mail.MailMessage
#set the addresses
$MailAddress="bbs@126.com"
$MailtoAddress="1343xxx@139.com"
$mail.From = New-Object System.Net.Mail.MailAddress($MailAddress)
$mail.To.Add($MailtoAddress)
#set the content
$mail.Subject = "XX预警";
$mail.Priority  = "High"
$mail.Body = "VIP 失效了 $(Get-Date -Format 'M-d H:m:s')"
#$filename="file"
#$attachment = new-Object System.Net.Mail.Attachment($filename)
#$mail.Attachments.Add($attachment)
#send the message
$smtp = New-Object System.Net.Mail.SmtpClient -argumentList $smtpServer
$smtp.Credentials = New-Object System.Net.NetworkCredential -argumentList $smtpUser,$smtpPassword
$smtp.Send($mail)

3. 设置任务计划

(Figure1:任务计划-常规)

(Figure2:任务计划-操作)

4. 效果示意图:

(Figure3:邮件和短信通知)

三、注意事项

  1. 采用的ISE编辑器:PowerShell ISE
  2. 查看PowerShell版本信息:Get-Host
  3. 刚开始使用Powershell,导入管理模块或者其他操作的时候会出现因为在此系统中禁止执行脚本的报错,报错内容如下:

(Figure4:注意)

PS C:\Windows\system32> set-ExecutionPolicy RemoteSigned

四、参考文献

如何查看PowerShell版本号

Powershell中禁止执行脚本解决办法

pstips

使用PowerShell通过Smtp发送邮件

powershell 发送邮件

Windows下PowerShell监控Keepalived相关推荐

  1. 在windows下实时监控、接受文件变化小工具

    在windows下实时监控文件变化小工具 在测试的时候,我们可能想实时监控系统打出的log信息,在unix系统上我们可以用"tail -f"实现,在windows下一般就无法做到实 ...

  2. windows下powershell执行脚本报错

    目录 window power shell 禁止运行脚本 vscode命令行 禁止运行脚本 解决方案 vscode使用自定义的虚拟环境 其他知识点 window power shell 禁止运行脚本 ...

  3. windows下golang监控鼠标和键盘事件

    最近一直在研究golang下监听键盘和鼠标的操作事件功能, github上有也有非常优秀的开源库robotgo, 它地址如下, 有兴趣的同学可以去研究下: https://github.com/go- ...

  4. Windows 下PowerShell 美化之旅(极其简单)

    查看本地策略 Get-ExecutionPolicy -List 如果是上图这种策略就不用改了,如果不是就需要输入 set-executionpolicy remotesigned 简单介绍一下五种策 ...

  5. Windows azure国际版下通过 windows auzre powershell为VM分配绑定virtual ip address

    说到windows azure,相信大家已经对此产品已经相当熟悉了,但使用的版本最多的应该是windows azure国内版本,也就是说,是微软委派世纪互联提供服务的平台,登陆地址为:https:// ...

  6. 前端开发工具 vscode 使用技巧篇:控制台由powershell切换为cmd方法,windows下新旧版控制台cmd与powershell互切方法

    vscode 控制台切换方法 可以看到右上角是 powershell 不是 cmd. 通过 ctrl+shift+p,搜索出默认的 shell. 然后选择 cmd. 最后重启 vscode 就好了. ...

  7. Windows下tomcat进程监控批处理程序

    在Windows下tomcat进程监控批处理程序脚本如下: @echo off ::tomcat安装目录 set _tomcatDir=E:\myFiles\apache-tomcat-8.5.31 ...

  8. Python监控Windows下的文件变化

    windows下监控文件系统的变化.用python非常方便.实例代码例如以下,非常easy.也不多说了. import os import win32fileimport win32conACTION ...

  9. LoadRunner下如何监控Windows系统资源

    一般在客户端通过LoadRunner对服务器进行压力测试,都需要实时监控服务器端的系统资源,本篇主要简单介绍一下如何设置在LoadRunner的Controller中配置监控Windows Resou ...

最新文章

  1. 【BZOJ 3036】 3036: 绿豆蛙的归宿 (概率DP)
  2. 【Android 安装包优化】Tint 着色器 ( 简介 | 布局文件中的 Tint 着色器基本用法 | 代码中使用 Tint 着色器添加颜色效果 )
  3. mybatis-config.xml
  4. 微信公众号 JSSDK 提示:invalid signature
  5. nanflash编程的地址问题
  6. Android--UI之DatePicker、TimePicker...
  7. 【HihoCoder - 1850】字母去重 (字符串,思维)
  8. elementui带输入建议查询_elementUi简单实现搜索提词功能
  9. 如何修复MySQL配置文件?
  10. 双系统——彻底删除ubuntu
  11. 用计算机数字技术制作的电影是,计算机数字技术为电影带来的空前发展.doc
  12. 中企动力牵手七鑫易维 以眼球追踪技术剔除建站顽疾
  13. Linux权限drwxrwxrwx是什么意思?
  14. 在线查看相机快门次数_我是亲民_新浪博客
  15. Centos7.6下Ceph搭建
  16. 【网络通信与信息安全】之深入解析从输入一个URL到页面加载完成的过程
  17. 【清明特辑】那些虽败犹荣的科技先烈们
  18. jquery组织结构图插件 (基于jit-yc 做可拖动、自适应伸缩的orgchart)
  19. 旅游行业如何做好网络舆情监测?
  20. Portal-Gateway路由网关

热门文章

  1. 霍金临终论文公开:揭秘沉入黑洞的信息去向
  2. 年回报60%!孙正义如何经营“沉迷AI”的愿景基金?
  3. 用GAN炼制长生不老药,这么玄幻的公司竟然能拿到药企投资
  4. iframe自适应高度调整
  5. H5 FileReader对象
  6. 判断两个日期相差的天数
  7. 快速搭建LAMP环境
  8. mysql卡住锁表 processlist explain
  9. svn-the working copy is locked due to a previous
  10. 分析ARP***与欺骗