Entonces, quiero deshabilitar o habilitar un servicio dependiendo de qué usuario inicie sesión, ya que es un servicio que solo necesita estar activo para un usuario específico y, de lo contrario, consume recursos innecesarios del sistema.
La forma más sencilla sería crear un archivo por lotes por usuario (es un sistema local, por lo que no hay demasiados usuarios) y ejecutar ese archivo por lotes cuando un usuario inicia sesión mediante net stop/start o sc config. El problema con ese enfoque es que esos comandos requieren privilegios elevados y uno de los usuarios no tiene privilegios elevados.
¿Existe otra forma de hacer esto o existe una solución alternativa para otorgar temporalmente derechos elevados a un archivo por lotes?
Gracias.
Respuesta1
Puede utilizar una tarea programada para solucionar el problema de los privilegios elevados.
Para cada usuario final:
- Inicie el Programador de tareas y cree una nueva tarea (seleccione "Crear tarea" a la derecha)
- En la pestaña General, configure la tarea para que se ejecute en su propia cuenta (administrador), ya sea que haya iniciado sesión o no, y con los privilegios más altos.
- En la pestaña Activadores, agregue un activador "Al iniciar sesión" y configure la cuenta del usuario final
- En la pestaña Acciones, agregue una acción "Iniciar un programa" y proporcione la línea de comando que desea ejecutar ("nombre-servicio NET STOP" o "nombre-servicio NET START").
- Guarde su nueva tarea programada.
Cuando uno de sus usuarios finales inicia sesión, el Programador de tareas ejecutará NET START/STOP en su cuenta de administrador, iniciando o deteniendo el servicio sin requerir privilegios elevados en el momento de iniciar sesión.
Algunas preguntas para usted: ¿Qué sucede si ambos usuarios finales inician sesión? ¿Obtiene el resultado correcto en todas las secuencias de inicio de sesión (es decir, usuario A, luego B y usuario B, luego A)? No olvides considerar también las secuencias de cierre de sesión...
Respuesta2
Los servicios actúan de la misma manera en todas las cuentas de usuario... así que al desactivarlos con un archivo por lotes, esto afectará a la cuenta del otro usuario (administrador, por ejemplo)... así que crear otra cuenta no tiene valor :(.. .Intente simplemente crear 2 archivos por lotes, uno para detenerlo y otro para comenzar... Me sorprende que Windows no pueda tener un uso de servicio diferente para diferentes usuarios y necesidades... Estoy decepcionado...