powershell监控windows服务并通过企业微信报警

新建services文档里面是需要监控的服务内容如下图:

ps脚本内容

#微信消息模块
function send-WeChat {
Param(
[String]$corpid,
[String]$secretid,
[String]$Content,
[String]$UserId,
[String]$AgentId
)
$auth_string = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$corpid&corpsecret=$secretid"
$auth_values = Invoke-RestMethod $auth_string
$token = $auth_values.access_token
$body="{ 
`"touser`":`"$UserId`",
`"agentid`":`"$AgentId`",
`"text`":{
`"content`":`"$content`"
},
`"msgtype`":`"text`"
}"
$To_CN=[System.Text.Encoding]::UTF8.GetBytes($body) 
Invoke-RestMethod "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$token" -ContentType "application/json" -Method Post -Body $To_CN
}


$Services = import-csv F:\service.txt
for ($i=0;$i -le 4;$i++){

$ServerName=$Services.ServerName[$i]
Get-Service $ServerName |foreach-object{$Status=$_.status}
Write-Host $Status
    if($Status -eq "Running")
    {
        Write-Host $ServerName"服务正常"
   }
       elseif($Status -eq "Stopped")
    {

    $corpid="xxxxxxxxxxxxx"
    $secretid="xxxxxxxxxxxxxxxxxxxx"
    $content=$ServerName+"服务已停止"#发送的文本信息
    $UserId="xxx" #用户组ID @all为全部
    $AgentId="xxxxx" #代理ID
    send-WeChat -corpid $corpid -pwd $secretid -Content $content -UserId $UserId -AgentId $AgentId
    }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值