我对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
答案 0 :(得分:6)
使用Get-Service获取服务状态。该过程可能正在运行,但服务可能会暂停:
$services = @(Get-Service alcore.*)
foreach ($service in $services)
{
if ($service.Status -eq 'Running')
{
$service | Stop-Service
}
else
{
Start-Service -DisplayName crk*
}
}