我是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归因
不隶属于 StackOverflow
scroll top