c# - no se encontro el origen pero no se pudo buscar en algunos o todos
No se encontrĂ³ la fuente, pero algunos o todos los registros de eventos no se pudieron buscar. Registros inaccesibles: Seguridad (9)
Esta pregunta ya tiene una respuesta aquí:
Estoy recibiendo un error:
No se encontró la fuente, pero algunos o todos los registros de eventos no se pudieron buscar. Registros inaccesibles: seguridad
Cuando ejecuto el código a continuación para capturar errores en el servidor Win 2K12 R2 IIS 8.5
EventLog elog = new EventLog();
EventLog.CreateEventSource("MyApp", "Application");
EventLog.WriteEntry(Source, swError.ToString(), EventLogEntryType.Error);
He otorgado acceso completo a HKLM/SYSTEM/CurrentControlSet/services/eventlog
pero aún no funciona. ¿Qué debo hacer para arreglarlo?
Lo sé, llego un poco tarde a la fiesta ... lo que sucede mucho, solo usas la configuración predeterminada en tu grupo de aplicaciones en IIS. En la utilidad de administración de IIS, vaya a app pools->select pool-->advanced settings->Process Model/Identity
y seleccione una identidad de usuario que tenga los permisos adecuados. Por defecto está configurado a ApplicationPoolIdentity
. Si es desarrollador, lo más probable es que administre en su máquina, para que pueda seleccionar su cuenta para ejecutar el grupo de aplicaciones. En los servidores de implementación, permita que los administradores se encarguen de eso.
Localmente ejecuté Visual Studio con derechos de administrador y el error desapareció.
Si obtiene este error en el programador de tareas, debe verificar la opción ejecutar con privilegios altos .
Obtuve este error al ejecutar Visual Studio. Al ejecutar Visual Studio como administrador, la aplicación pudo acceder a los registros de seguridad ya que tenía suficientes permisos (lo que evita el error).
Recientemente comencé a recibir este error dentro de mi registro interno de fallas NLog, con Visual Studio 2013. La solución ha estado usando NLog v2.0.0 durante varios años. En el último mes, nuestro registro principal dejó de funcionar. Para solucionar esto, actualicé NLog a la versión más reciente (v3.1.0) a través de Nuget. La excepción de seguridad ahora se ha ido y TODOS los mensajes de registro están apareciendo nuevamente.
Además, más tarde encontré otra excepción de seguridad y pude solucionarla siguiendo las instrucciones de esta publicación en otro hilo .
También podría deberse a que podría no ser capaz de encontrar el archivo .dll requerido. O el archivo no está en la carpeta o se renombra. Me enfrenté al mismo problema y descubrí que el archivo .dll faltaba en mi carpeta bin de alguna forma.
Use NetworkService como valor de Identidad en la configuración avanzada del conjunto de aplicaciones cuando esté depurando en Visual Studio. ApplicationPoolIdentity está funcionando si abre el sitio directamente desde el navegador (o vaya al directorio virtual en IIS y use la opción Examinar a la derecha).
Vea crear una clave de registro .
Este problema puede ocurrir no solo debido a permisos, sino también debido a la falta de clave de origen del evento porque no se registró correctamente (se necesitan privilegios de administrador para hacerlo; si acaba de abrir Visual Studio de la forma habitual y ejecuta el programa normalmente, ganó). t será suficiente). Asegúrese de que su fuente de eventos "MyApp" esté realmente registrada, es decir, que aparezca en el registro en HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/eventlog/Application
.
Desde MSDN EventLog.CreateEventSource () :
Para crear un origen de evento en Windows Vista y posterior o Windows Server 2003, debe tener privilegios administrativos.
Por lo tanto, debe ejecutar el código de registro fuente del evento como administrador (también, verificar si la fuente ya existe antes - vea el ejemplo anterior de MSDN) o puede agregar manualmente la clave al registro:
- crear una clave de registro
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/eventlog/Application/MyApp
; - dentro, cree un valor de cadena
EventMessageFile
y establezca su valor a, por ejemplo,C:/Windows/Microsoft.NET/Framework/v2.0.50727/EventLogMessages.dll
cada vez que inicie Visual Studio, ejecútelo como administarator.it funciona para mí.
intente dar ID de AppPool o Servicios de red, cualquiera que sea el acceso aplicable HKLM / SYSTEM / CurrentControlSet / services / eventlog / security también. Estaba obteniendo el mismo error ... esto funcionó para mí. Ver el error también dice que los registros inaccesibles son Registros de seguridad.
También di permiso en eventlog / application.
Le di acceso completo a todas partes.