PowerShellヘルプ、プロセスが存在する場合、それを停止し、それ以外の場合はサービスを開始しますか?
-
01-10-2019 - |
質問
私はPowerShellにかなり初めてです。実行している2つの異なるスクリプトがあり、1つのスクリプトに組み合わせたいと思います。
スクリプト1には1行があります
Stop-Process -ProcessName alcore.* -force
それは、「アルコア」から始まるプロセスを終了することです。
スクリプト2には1行もあります
Start-Service -displayname crk*
CRKで始まるサービスを開始します。
これらを1つのスクリプトに結合するにはどうすればよいですか?プロセスが実行されている場合、私はそれらを止めたいと思います。そうでない場合は、サービスを開始したいと思います。どうすればこれを達成できますか?
私はこれを試していますが、それは機能していません
$services = Get-Process alcore.*
if($services.Count -qe 1){
Stop-Process -ProcessName alcore.* -force
} else {
Start-Service -displayname crk*
}
どうすればこれを正しく行うことができますか?また、これらを関数にまとめて、関数を呼び出す必要がありますか?それは少しきれいに思えます。助けてくれてありがとう。
乾杯、
〜CK
解決
GetServiceを使用してサービスステータスを取得します。プロセスは実行されている可能性がありますが、サービスは一時停止される可能性があります。
$services = @(Get-Service alcore.*)
foreach ($service in $services)
{
if ($service.Status -eq 'Running')
{
$service | Stop-Service
}
else
{
Start-Service -DisplayName crk*
}
}
所属していません StackOverflow