powershell - 使用 powershell 脚本重新启动 apache tomcat 服务
问题描述
我正在使用 powershell 脚本进行自动化,如果它出现故障,它会自动启动 apache tomcat 服务。但是代码没有按预期工作。请在下面找到代码:
$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
}
有人能帮帮我吗
解决方案
尝试将 $serviceNamePath 更改为 $serviceName。Restart-Service 需要它应该重新启动的服务的名称,而不是文件路径。
Restart-Service $serviceNamePath -force
Restart-Service $serviceName -force
推荐阅读
- javascript - JQuery validation error placement repeating itself
- dax - 在dax公式中使用excel中的定义名称
- regex - 修改 `date` 格式以具有“2nd”/“3rd”/等。使用 case 语句和/或正则表达式
- c# - 换钱 ; 右侧的减号
- javascript - Replace strings with objects in nested arrays
- html - How to set textarea to 100% width and height?
- android - 在 Android 中使用 Google Cloud PubSub,找到正确的库
- git - 如何仅合并 vimdiff 中的远程更改?
- javascript - 如何从 GCS 中的图像的 Firebase 功能触发浏览器中的下载?
- java - 最终变量可能已经被赋值