我们有一个PowerShell脚本,可以在另一台计算机上重新启动服务。当我们使用PowerShell的内置服务控件cmdlet时,如下所示:
$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
可以停止我的服务?