Tenemos un script de PowerShell que reinicia un servicio en otra computadora. Cuando usamos los cmdlets de control de servicio integrados de PowerShell, así:
$svc = Get-Service -Name MyService -ComputerName myservicehostname
Stop-Service -InputObject $svc
Start-Service -InputObject $svc
Recibimos este error:
Stop-Service: No se puede abrir el servicio MyService en la computadora 'myservicehostname'.
Sin embargo, cuando usamos sc.exe, así:
C:\Windows\System32\sc \\myservicehostname stop MyService
C:\Windows\System32\sc \\myservicehostname start MyService
El comienzo y la parada tienen éxito.
El usuario que reinicia no es un administrador. Usamos subinacl para otorgar permisos de usuario para iniciar / detener y consultar el servicio:
subinacl.exe /service MyService /GRANT=MyServiceControlUser=STO
¿Cómo es que PowerShell no puede detener mi servicio pero sí sc.exe
puede?
fuente
subinacl
antes. ¡Qué utilidad tan útil! Gracias por regresar para dejar esta información para el resto de nosotros.El siguiente comando funciona como se esperaba en mi máquina con Windows Server 2008 R2.
¿También puede probar este comando único para determinar si eso funciona y ha verificado que el usuario es miembro de un grupo que es miembro del grupo Usuarios en los servidores de destino?
fuente