Pregunta

Soy bastante nuevo en Powershell. Tengo 2 guiones diferentes Estoy corriendo que me gustaría combinar en una sola secuencia de comandos.

Script 1 tiene 1 línea

Stop-Process -ProcessName alcore.*  -force

Es propósito de es poner fin a cualquier proceso que Begines con "Alcore".

Script 2 tiene 1 línea, así

Start-Service -displayname crk*

Se inicia ningún servicio que comienza con CRK.

¿Cómo puedo combinarlas en una sola secuencia de comandos? Si los procesos se están ejecutando deseo de detenerlos, si no, me gustaría iniciar los servicios. ¿Cómo puedo lograr esto?

Estoy tratando de esto, pero no está funcionando

$services = Get-Process alcore.*

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

    Start-Service -displayname crk*
}

¿Cómo puedo hacer esto correctamente? También debería envolver éstos en una función y llamar a la función? Eso parece un poco más limpia. Gracias por cualquier ayuda.

Saludos, España ~ Ck

¿Fue útil?

Solución

Uso Get-Service para obtener el estado del servicio. El proceso podría estar en ejecución pero el servicio podría ser pausado:

$services = @(Get-Service alcore.*)
foreach ($service in $services)
{
    if ($service.Status -eq 'Running')
    {
        $service | Stop-Service
    }
    else
    {
        Start-Service -DisplayName crk*
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top