2016-10-01 1 views
2

私は、次のコマンドを実行すると:私はからサービスを停止することができますセットサービス:それは他のサービスに依存しているため、サービスを停止することはできません

Set-Service : Cannot stop service 'My Service (MyService)' because it is 
dependent on other services. 
At line:1 char:12 
+ Set-Service <<<< -ComputerName appserver -Name MyService -Status Stopped 
    + CategoryInfo   : InvalidOperation: (System.ServiceProcess.ServiceController:ServiceController) [Set-Service], ServiceCommandException 
    + FullyQualifiedErrorId : ServiceIsDependentOnNoForce,Microsoft.PowerShell.Commands.SetServiceCommand

Set-Service -ComputerName appserver -Name MyService -Status Stopped 

は、私は、エラーメッセージが表示されますがservices.msc GUIです。Set-Serviceでサービスを開始できますが、もう一度やり直すことはできません。

サービスが他のサービスに依存しますが、それはそれを他のがそれに依存—何も停止しないから私を妨げる理由を私は理解していないことは事実です。

+0

そして、あなたが最初に応じたサービスを停止する場合は? – Kage

+0

'sc stop MyService'は動作しますか? –

+0

@Kage: 'MyService'には依存するサービスはありません。これは 'AnotherService'に依存していますが、' MyService'がそれに依存しているので、これを止めることはできません。 – Wolfgang

答えて

0

私は最終的にサービスを停止するscを呼び出し、それが停止終了するのを待って、次のコードを使用して、この問題を解決しました。これは、Set-Service -Status Stoppedから期待されるのと同じ結果を達成する。つまり、サービスが停止したときに戻ります。 (サービスを停止するには、独自の開始scが、それは停止完了するまで待機しません。)

Start-Process "$env:WINDIR\system32\sc.exe" \\APPSERVER,stop,MyService -NoNewWindow -Wait 
while ((Get-Service -ComputerName APPSERVER -Name MyService | 
Select -ExpandProperty Status) -ne 'Stopped') { 
    Write-Host "Waiting for service to stop..." 
    Start-Sleep -Seconds 10 
} 
6

Set-Serviceコマンドレットは、サービスの構成を変更するためのコマンドレットです。ステータスを変更してサービスを停止するために使用することは偶然に過ぎません。サービスを停止するには、Stop-Serviceコマンドレットを使用します。これにより、パラメータ-Forceによって依存サービスを停止することができます。 には-ComputerNameというパラメータがないため、最初にGet-Serviceを使用してサービスオブジェクトを取得する必要があります。

Get-Service -Computer appserver -Name MyService | Stop-Service -Force 
+0

[ドキュメント](https://technet.microsoft.com/en-us/library/hh849849.aspx)には、Set-Serviceがサービスを停止して開始できることが記載されているので、これはまだバグだと思っています。しかし、それは簡単な回避策があることを知って良いです。 –

+0

私はそれができないとは言わなかった。しかしサービスそのもの。それが依存サービスのために不可能な場合、 'Stop-Service'のように停止信号を渡すことを許可しません。特にサービスを停止するために作られたものです。だから私はこれを 'Set-Service'のバグとは考えません。 –

+0

しかし、この場合は依存サービスはありません。 OPが停止しようとしているサービスは、他のサービスに依存しています。 –

関連する問題