简体   繁体   English

使用powershell脚本重启apache tomcat服务

[英]Restarting the apache tomcat services using powershell script

I am doing an automation using powershell script to automaticlly start apache tomcat services if it goes down.我正在使用 powershell 脚本进行自动化,以便在出现故障时自动启动 apache tomcat 服务。 But the code is not working as expected.但是代码没有按预期工作。 Please find the code below :请找到以下代码:

$serviceName = "AGTtomcat7w"
$serviceNamePath = "D:/Pipeline_AGT/apache-tomcat-7.0.82/bin/startup.bat"

$service = Get-Service | Where-Object { $_.Name -eq $serviceName }
write-host "Service Status is" $service.status

if ($service.status -eq "Running") {
   $smtpServer = "161.99.65.10"
   $msg = new-object Net.Mail.MailMessage
   $smtp = new-object Net.Mail.SmtpClient($smtpServer)

   $dateString = get-date

   $msg.From = "noreply@example.com"
   $msg.To.Add("abc@xyz.com")
   $msg.subject = "Web services Monitoring"
   $msg.body = ([string]$dateString) + " AGT Maxavera Service" + " is " + $service.status 
   $smtp.send($msg)
}

else {
   write-host "Sending waring email"

   $smtpServer = "161.99.65.10"
   $msg = new-object Net.Mail.MailMessage
   $smtp = new-object Net.Mail.SmtpClient($smtpServer)

   $dateString = get-date

   $msg.From = "noreply@example.com"
   $msg.To.Add("abc@xyz.com")
   $msg.subject = "Service " + $service + " is " + $service.status
   $msg.body = ([string]$dateString) + " AGT Maxavera Service " + " is " + $service.status 
   $smtp.send($msg)

   #Starting the service   
   Restart-Service $serviceNamePath -force

}

Can somebody please help me有人能帮帮我吗

Try to change $serviceNamePath to $serviceName.尝试将 $serviceNamePath 更改为 $serviceName。 Restart-Service wants the name of the service it should restart, not a file path. Restart-Service 需要它应该重新启动的服务的名称,而不是文件路径。

Restart-Service $serviceNamePath -force

Restart-Service $serviceName -force

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM