gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 08:58:20 25 4
gpt4 key购买 nike

我对 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*
}
}

关于Powershell帮助,如果进程存在,停止它,否则启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3143938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com