web-dev-qa-db-fra.com

«L'accès à la clé de Registre« Global »est refusé» lors de l'accès aux compteurs de performances

J'essaie de lire certains compteurs de performances à partir de mon application ASP.NET. Lorsque je le fais, j'obtiens l'erreur "L'accès à la clé de registre 'Global' est refusé."

J'ai essayé de suivre les instructions ici et ici , en utilisant l'utilisateur IIS AppPool\DefaultAppPool, qui est l'identité que mon pool d'applications est configuré pour utiliser:

Screenshot of App Pool configuration

J'ai ajouté cet utilisateur au groupe d'utilisateurs de l'Analyseur de performances:

enter image description here

Et après avoir ajouté l'utilisateur, j'ai redémarré mon ordinateur. Mais je reçois toujours l'erreur.

J'ai également essayé d'ajouter les utilisateurs IUSR et NETWORK SERVICE au groupe d'utilisateurs de l'Analyseur de performances, mais ceux-ci ne fonctionnent pas non plus. Par désespoir, j'ai essayé d'ajouter l'utilisateur "Tout le monde" au groupe d'utilisateurs de l'Analyseur de performances, et cela fonctionne réellement. Mais mon objectif est de consigner les statistiques de mon application en production, et je ne veux pas ajouter "Tout le monde" à ce groupe sur le serveur de production.

Que doit-il se passer d'autre pour lire les compteurs de performances sans générer d'exception de sécurité?

36
Charlie Kilian

J'ai trouvé la solution. Alors que divers liens sur Internet vous indiquent d’utiliser l’identité IIS APPPOOL\DefaultAppPool, ce n'est PAS l'histoire complète. Cela ne fonctionnera que si vous affectez en fait vos applications à un pool d'applications nommé "DefaultAppPool".

Ce lien sur ServerFault a la réponse. Vous devez utiliser le nom de votre pool d'applications. Dans mon cas, le nom du pool d'applications était "staging", donc l'utilisateur correct était IIS APPPOOL\staging. Placer cet utilisateur dans le groupe d'utilisateurs de l'Analyseur de performances a résolu mon problème.

60
Charlie Kilian