Permisos de escritura de EventLog

Mi pregunta está relacionada con los permisos de escritura en el Registro de eventos de Windows. He examinado varias publicaciones sobre este tema y he encontrado algunas formas de resolver mi problema, pero ninguna de ellas es aceptable para mi situación actual.

Yo uso C # en .NET 4.0. Yo uso la clase EventLog:Clase EventLog

En resumen, necesito ver si hay una manera de suplantar o autenticar con un usuario autenticado y una contraseña para obtener el derecho que necesito para escribir en el Registro de eventos. El servidor siempre estará en la familia de servidores de Windows, pero la versión puede variar.

Mi aplicación es un servicio de Windows que se ejecuta con una de las siguientes cuentas:

Servicio de redServicio localSistema localUsuario con derechos restringidos (usuarios o grupos de usuarios de dominio)

Aquí hay algunos otros criterios que tengo:

No puedo poner al usuario del servicio como Administrador, ni siquiera como administrador local en el servidorNo puedo editar o alterar el registroNo puedo alterar el UAC o las políticas de grupo en el servidorTengo un usuario con derechos de administrador, perono se puede utilizar para ejecutar el servicioEl registro de eventos siempre será el registro de eventos local, no en una máquina remotaEl registro probablemente siempre será el registro de "aplicación"La Fuente puede variar, y eso parece ser el meollo del problema.

Mi pregunta es :¿Es esto posible?

¿Puedo suplantar a un usuario en mi código para lograr lo que necesito? Hago eso cuando me conecto a servicios web, iniciando sesión en servidores smtp y courseclogging en bases de datos, etc.

Me encontré en esta clase:Clase EventLogPermission

Pero parece que no puedo entender bien cómo usar la clase.

Espero haber expresado bien mi problema. No considero esto un duplicado de otra publicación debido a mis criterios.

Respuestas a la pregunta(2)

Su respuesta a la pregunta