Powershell检测并启动多个服务

# 恢复Powershell的默认执行策略,默认不允许执行任何脚本
# Set-executionpolicy   default  -force
#设置Powershell的执行策略为,可以执行任何脚本
# Set-ExecutionPolicy  Unrestricted  -force

#定义一个发送邮件的函数sendEmail(收件人地址,发件人地址,邮件服务器,邮件服务器端口,邮件服务器登陆密码,邮件标题,邮件正文)
Function sendEmail([string]$to,[string]$from,[string]$smtpServer,[int]$port,[string]$password,[string]$subjet,[string]$body )
{
#生成一个.Net邮件客户端对象,参数是服务器的地址和端口
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 25)
#使用SSL加密
$SMTPClient.EnableSsl = $true
#提供邮件客户端类使用的用户名和密码
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($from, $password)
#调用send方法发送邮件
$SMTPClient.Send($from,$to, $Subject, $Body)

}

#调用函数测试
#sendEmail "收件人Email地址" "发件人Email地址" "smtp.163.com" 25 "密码" "邮件标题" "邮件正文"


#检查服务状态的函数,如果有一个或多个服务停止则返回false,参数是服务的名字,可以指定多个名字用空格隔开
 Function checkService(){
 
         #循环检查参数传递进来的每一个服务,如果有一个服务的状态不是 "Running",则返回 "sorry",注意这里的返回值和C#的写法不同
         if ( $args | Foreach { Get-Service  -Name $_ | where Status -NE Running } ) {
            Write-Output sorry
         }
         else{
            Write-Output OK
         }
 }

#调用函数测试
#checkService XLServicePlatform Themes


#启动服务的函数,参数为需要检测并启动的服务名称,可以指定多个参数,用空格分隔
#功能为循环检查传递进来的每一个服务,如有服务的状态不是“Running”,则启动这个服务
Function startService(){
       
        $args | Foreach { Get-Service -Name $_ |where Status -NE Running | Start-Service }
}

#调用函数测试
#startService XLServicePlatform Themes


#检测服务器服务
#定义要检查的服务名称,注意不是显示名称
$service_Name= "XLServicePlatform","Themes"
$flag=0
Do
{
   
    $TorF=checkService $service_Name
    #第一次执行
    if( $TorF -eq "sorry"){
    startService $service_Name
    sendEmail "[email protected]" "[email protected]" "smtp.163.com" 25 "发件邮箱密码" "服务器报警" "有一个或多服务运行不正常,我们已经尝试启动服务,如果多次收到此邮件,请马上检查你的服务器。"
    $flag=$flag+1
    }
    #检测间隔,时间单位为秒。
    sleep(10)
 
}While($flag -le 3 )  #循环退出条件

更多相关文章
  • powershell检测AD域用户密码到期邮件提醒脚本$comments = @' author:fuhj([email protected],http://txj.shell.tor.hu)'@  cls  ########################################### ...
  • CentOS 7.0中一个最主要的改变,就是切换到了systemd.它用于替代红帽企业版Linux前任版本中的SysV和Upstart,对系统和服务进行管理.systemd兼容SysV和Linux标准组的启动脚本.Systemd是一个Linux操作系统下的系统和服务管理器.它被设计成向后兼容SysV ...
  • IIS默认网站无法正常启动,手动启动时提示"服务没有及时响应启动或控制请求".系统环境是:Windows XP SP3,IIS 5.1,起初以为是IIS没有装好,下载IIS5.1安装包重装IIS,还是老问题.经过Google,知道了计算机的服务项里有个 World Wide We ...
  • 第一部分:集群资源第1章:启动服务在这一章中我们将检查Linux服务器基本的启动程序,以及如何禁用或启用一个服务,本章包括一张Linux服务器常规服务清单,以及如何在集群节点上使用这些服务.如何启动集群服务?在一个集群环境中,守护进程或服务开始于:当系统启动或进入一个运行级别时,通过init守护进程 ...
  • 批处理启动vm虚拟机服务vm12启动无界面启动vm虚拟机系统windows上如何操作服务scnet启动关闭服务
    windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuthdService" net start "VMnetDHCP" net ...
  • 很多技术爱好者的电脑上总是安装了很多软件,包括应用软件.开发工具软件及数据库软件,但是随着时间的流逝,慢慢地电脑上装的软件已经超出了电脑本身所能承载的量了,因而出现了电脑运行速度慢等问题.同时,也有一些单位或个人的电脑由于出厂年代有些久远,即使只安装一种或极少数软件时也会显示出运行速度慢的现象.如果 ...
  •     当系统的管理员制作了域策略,修改了本地管理员组的成员时,一般情况下我们是无法添加用户权限的,即使添加权限,由于组策略登录时应用和90分钟另加30分钟的随机值自动刷新组策略,你的修改仍旧会被覆盖.    我们的思路是,客户端的本地计算机策略有一个启动脚本设置,运行这个启动脚本的账户是SYSTE ...
  • 自从使用awesome window manager之后,坚果云服务就不再自动启动了,需要手动启动. 坚果云的启动脚本位置为:"~/.nutstore/dist/bin/nutstore-pydaemon.py"要在awesome window manager中设置为自动启动坚果 ...
一周排行
  • 如何在电脑上抢qq红包
      首先在开头给大家拜个年,猴年大吉大利!!!  在过年期间我们会给朋友.家人.亲戚等对我 ...
  • 1.9.1以后的版本,好像不支持 jq 的 toggle function的用法啦.
  • 我们知道,SATA 1.0的数据传输率已经达到了150MB/s,相比传统IDE接口硬盘要快一些,但如果你手上有两块SATA硬盘的话,那把它们组建成RAID 0系统,将使你的磁盘系统性能更上一层楼.什么是RAIDRAI ...
  • 在Dos下配置ip和DNS         今天带着激动的心情去面试,虽然面试结果不怎么样,但是也有收获,提醒了我:以前学得东西现在都含糊了.今天也要感谢一位同我一起的面试的同学,和他谈话中我学到了一点点东西,在我们 ...
  • 狼追兔子一只兔子躲进了10个环形分布的洞的某一个中,狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找,也没有找到,就隔两个洞,到第六个洞去找,以后每次多一个洞去找兔子......这样下去,如果一直找不到兔子,请问 ...
  • Windows Deployment Services    Windows Deployment Services(Windows部署服务,简称:WDS),是提供给计算机管理员在企业或组环境中为计算机部署操作系统的 ...
  • 当在struts.xml中使用chain和redirectAction这两个类型结果的时候,会报检查错误!Multiple annotations found at this line: - Undefined ac ...
  • 系统Centos6.5 工具SecureCRT 1.首先下载kafka压缩包 kafka_2.9..8.1.1.tgz 解压 tar -zxvf kafka_2.9..8.1.1.tgz 2.修改配置文件 ...
  • TOP500,GREEN500,GRAPH500的超级计算机最新世界排名,中国在其中的排名。
        在 Top500 中,有 62 台超算系统使用了加速器/协同处理器:84.6% 的 ...
  • 转载自环球时报:[url]www.huanqiu.com[/url] 央视主播赵普直播时忍不住潸然泪下  5月14日中午,中央电视台新闻频道的主持人赵普在直播新闻时,忍不住潸然泪下,大部分网友表示理解,部分网友&qu ...