何らかの理由でサービスを止めようとしても、「停止中」になってサービスが落ちてくれない事があります。
このような場合は、PowerShell でプロセスそのものを殺してサービス停止します。
プロセスを殺す場合は、kill(Stop-Process の Alias)でプロセス ID を指定するのですが、残念な事に、Get-Service ではプロセス ID が取得できません。
このため、プロセス ID は Win32_Service の Name で検索し、ProcessID を取得します。
これを PowerShell で書くとこんな感じになります
# サービス名 $ServiceName = "W3SVC" # 該当サービスのプロセスIDの取得 $ID = (Get-Wmiobject Win32_Service | ? { $_.Name -eq $ServiceName }).ProcessID # プロセスを殺す kill -Id $ID -Force |
停止中になっているサービスを全部殺すには、以下のようにします。
|
これでもサービスが落ちない時は、コンピューターそのものを再起動します。
Copyright © MURA All rights reserved.