Function 如何在PowerShell中设置验证,以检查服务状态,然后激活脚本的其余部分

Function 如何在PowerShell中设置验证,以检查服务状态,然后激活脚本的其余部分,function,powershell,Function,Powershell,我想设置清理tomcat缓存文件夹的过程(当我需要时),我已经阅读了有关此cmdlet的内容: Stop-Service Tomcat8 Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\*" -Confirm:$false Start-Service Tomcat8 我无法控制这一点,因此我对是否存在某种验证感兴趣,以便我可以在控制台中这样编写: Stop-S

我想设置清理tomcat缓存文件夹的过程(当我需要时),我已经阅读了有关此cmdlet的内容:

Stop-Service Tomcat8
Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\*"
-Confirm:$false
Start-Service Tomcat8
我无法控制这一点,因此我对是否存在某种验证感兴趣,以便我可以在控制台中这样编写:

Stop-Service Tomcat8
检查服务是否已停止

在控制台中写入“服务已停止”

检查工作是否已完成

启动服务

Start-Service Tomcat8

我相信
停止服务
将在默认情况下等待服务停止,但我认为它仍然可能无法停止服务并超时。要添加支票,可以执行以下操作:

$TomcatStartup = (Get-Service Tomcat8).StartType

Set-Service Tomcat8 -StartupType Disabled
Stop-Service Tomcat8

If ((Get-Service Tomcat8).Status -eq 'Stopped'){
    Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\*" -Confirm:$false
    Set-Service Tomcat8 -StartupType $TomcatStartup
    Start-Service Tomcat8
} Else {
    Throw 'Tomcat was not stopped'
}

我添加了将服务临时设置为禁用的设置,这样当您不希望它自动重新启动时,它不会自动重新启动。

嘿,马克,我已经在我的系统上进行了测试,启动Tomcat8服务时遇到问题。但我将尝试进一步配置它。谢谢你的意见,我现在有了一个出发点。当我意识到我犯了几个错误时,我重写了几次。您尝试过最新版本吗?谢谢,这一个有效。我看到您更改了。从上一个版本开始,StartType和$TomcatStartup。:)
$TomcatStartup = (Get-Service Tomcat8).StartType

Set-Service Tomcat8 -StartupType Disabled
Stop-Service Tomcat8

If ((Get-Service Tomcat8).Status -eq 'Stopped'){
    Remove-Item "C:\Program Files\Apache Software Foundation\Tomcat 8.0\work\Catalina\localhost\*" -Confirm:$false
    Set-Service Tomcat8 -StartupType $TomcatStartup
    Start-Service Tomcat8
} Else {
    Throw 'Tomcat was not stopped'
}