2011-11-09 6 views
1

J'essaie d'implémenter une interface de journalisation dans mon application C# qui enregistrera les événements dans «Windows Event Logging» localement ou à distance. Localement, il n'y a pas de problème car System.Diagnostics est un espace de noms facile à utiliser. Cependant, le faire sur une machine distante (se connecter sur les journaux Windows d'une autre machine) apporte des problèmes d'authentification et d'autorisation, à savoir "Accès refusé". Ce qui est assez compréhensible, car il serait illogique de laisser tout le monde ajouter des journaux.Enregistrement des événements Windows à distance - Autorisation

Je sais que la création d'un nouveau dossier de l'événement et la source ne peut être accompli au niveau local, que je l'ai déjà fait (nous allons l'appeler « ma candidature ». J'ai également commencé le service « Remote Registry ».

Pour plus de commodité , j'ai testé fonction d'enregistrement avec l'outil « de eventcreate » pour en déduire ce qui est permis, ce qui est pas sur « Exécuter en tant qu'administrateur » cmd

eventcreate /s myLogServer /id 999 /T Error /L "My Application" /so "My Application" /d "Log Test" 

Cela échoue naturellement avec « erreur:.. L'accès est refusé Lorsque j'ajoute

/u mydomain\myLogServer /p myPassword 

, alors cela fonctionne très bien. Cependant, naturellement, je ne veux pas donner les informations d'identification de myLogServer. Je préfèrerais créer un utilisateur restreint ou mieux, utiliser l'authentification Windows via la machine cliente (ce qui se passe, je l'espère, quand je n'entre pas dans/u/p). Question: Comment puis-je le configurer pour que seuls les utilisateurs spécifiés puissent écrire des journaux dans le dossier de journal spécifié? Autorisations de configuration sur les clés de registre (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog ..). Autorisé à définir des autorisations pour les fichiers journaux d'événements (*. Evtx). Sous-question: Ai-je besoin d'emprunter l'identité de l'utilisateur spécifié dans le code C# pour obtenir l'autorisation, ou existe-t-il un moyen d'ajouter des détails d'authentification à un objet EventLog?

Répondre

0

Selon TechNet here:

Dans Windows Server® 2003, Windows Vista et Windows Server® 2008, il est possible de personnaliser les autorisations sur chaque journal des événements sur un ordinateur. Cette fonctionnalité n'était pas disponible dans les versions précédentes de Windows. La liste de contrôle d'accès (ACL) est stockée en tant que chaîne SDDL (Security Descriptor Definition Language) dans une valeur REG_SZ appelée "CustomSD" pour chaque journal des événements dans le Registre.

+0

Dommage que je les ai testé sur des machines Windows 7 :). Serait bien que si je peux accomplir cela sur Windows 7 aussi. – Natan

+0

Assez sûr que cela s'applique également à Windows 7. – user957902

Questions connexes