PowerShell的帮助,如果存在过程,请停止它,否则开始服务?
-
01-10-2019 - |
题
我是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*
}
}
不隶属于 StackOverflow