Tengo algunos servicios de Windows escritos en C#. Cuando alguien detiene o inicia el servicio, me gustaría poder determinar quién era y registrar esa información.¿Es posible registrar quién inició o detuvo un servicio de Windows?
Intenté registrar Environment.UserName
pero eso evalúa a SYSTEM incluso en mi máquina local.
Además, por el momento estos servicios se están ejecutando en el servidor de Windows 2000.
Sí! Eso es lo que estaba buscando. Solo necesito una forma de averiguar quién detuvo el servicio y ahí está - en el registro de eventos del sistema. ¡Gracias! – HitLikeAHammer
'Dentro del Visor de eventos (Panel de control | Herramientas administrativas | Visor de eventos) en el sistema tab los registros del administrador de control de servicio que iniciaron y detuvieron cada evento. "No veo nada por el estilo. Todo lo que veo es un mensaje como' El servicio de la estación de trabajo ingresó al estado en ejecución. Pero nada sobre qué proceso/servicio provocó que comenzara. incluso en los detalles. Lo más parecido a una causa es el campo * Fuente * que además de la Actualización de Windows, es casi siempre el Controlador de Servicio (bueno, duh) que no dice nada sobre quién/qué le pidió al SC que ejecute el servicio. – Synetech
Es cierto, acabo de confirmar que mi respuesta de hace más de cuatro años ya no funciona de la misma manera.Parece que el Administrador de control de servicios ya no registra sus propios eventos de Inicio y Detención, o al menos no está en el mismo lugar. (Acabo de volver a probar esto en Windows 8. Pude haber estado en Windows XP cuando escribí esa otra respuesta, pero no estoy seguro). – JMD