別のコンピューターでサービスを再起動するPowerShellスクリプトがあります。PowerShellの組み込みのサービスコントロールコマンドレットを使用すると、次のようになります。
$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc
このエラーが返されます。
Stop-Service:コンピューター 'myservicehostname'でMyServiceサービスを開けません。
ただし、sc.exeを使用すると、次のようになります。
C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService
開始と停止は成功します。
再起動しているユーザーは管理者ではありません。subinaclを使用して、サービスを開始/停止してクエリを実行するユーザー権限を付与します。
subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO
PowerShellでサービスを停止できないのsc.exe
はなぜですか?