Frage

Ich bin ziemlich neu in Powershell. Ich habe 2 verschiedene Skripte Ich bin mit, dass ich in ein Skript kombinieren möchte.

Script 1 hat 1 Zeile

Stop-Process -ProcessName alcore.*  -force

Es ist Zweck ist, jeden Prozess zu beenden, dass Begines mit „Alcore.“

Script 2 hat 1 Leitung als auch

Start-Service -displayname crk*

Es beginnt jeden Dienst, der mit crk beginnt.

Wie kann ich diese in einem Skript zu kombinieren? Wenn die Prozesse laufen ich sie stoppen wollen, wenn nicht, möchte ich die Dienste starten. Wie kann ich das erreichen?

Ich versuche, diese aber es funktioniert nicht

$services = Get-Process alcore.*

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

    Start-Service -displayname crk*
}

Wie kann ich das richtig? Auch sollte ich diese bis in eine Funktion wickeln und die Funktion aufrufen? Das scheint ein wenig saubere. Vielen Dank für jede Hilfe.

Cheers,
~ Ck

War es hilfreich?

Lösung

Use Get-Service to get the service status. The process could be running but the service might be paused:

$services = @(Get-Service alcore.*)
foreach ($service in $services)
{
    if ($service.Status -eq 'Running')
    {
        $service | Stop-Service
    }
    else
    {
        Start-Service -DisplayName crk*
    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top