繁体   English   中英

Powershell帮助,如果存在进程,请停止它,否则启动服务?

[英]Powershell help, if process exists, stop it, else start a service?

我对Powershell很陌生。 我正在运行2个不同的脚本,我想将它们合并为一个脚本。

脚本1有1行

Stop-Process -ProcessName alcore.*  -force

目的是结束任何以“ alcore”开头的过程。

脚本2也有1行

Start-Service -displayname crk*

它会启动任何以crk开头的服务。

如何将它们组合成一个脚本? 如果进程正在运行,我希望停止它们,否则,我希望启动服务。 我该怎么做?

我正在尝试这个,但是没有用

$services = Get-Process alcore.*

if($services.Count -qe 1){
    Stop-Process -ProcessName alcore.*  -force
} else {

    Start-Service -displayname crk*
}

如何正确执行此操作? 我也应该将它们包装在一个函数中并调用该函数吗? 看起来有点干净。 谢谢你的帮助。

干杯,
〜CK

使用Get-Service获取服务状态。 该进程可能正在运行,但服务可能已暂停:

$services = @(Get-Service alcore.*)
foreach ($service in $services)
{
    if ($service.Status -eq 'Running')
    {
        $service | Stop-Service
    }
    else
    {
        Start-Service -DisplayName crk*
    }
}

暂无
暂无

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

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