2010-06-11 4 views
2

Je reçois une exception avec un message "Accès refusé" lors de l'exécution d'une demande WMI. Certaines demandes WMI semblent nécessiter des privilèges de sécurité plus élevés que d'autres. En fin de compte, mon objectif est de surveiller les lancements de processus dans le système et le journal. Peu importe s'il y a une meilleure approche, c'est maintenant devenu une vendetta pour obtenir cette approche WMI pour fonctionner.Résolution de l'exception "Accès refusé" avec les appels WMI

J'ai essayé le code à Security Tools -> WMI Programming Using C#.Net et toujours recevoir l'exception. Si vous copiez le code trouvé dans l'entrée de blog, vous pouvez reproduire mon problème.

Un autre article sur un sujet similaire peut être trouvé à link text mais encore une fois, essayez le code et vous verrez la même exception de sécurité.

Comment autoriser mon code à exécuter ces demandes WMI? J'utilise Windows 7 Pro et VS 2010 dans un nouveau projet de ligne de commande C#. Choisir "Exécuter en tant qu'administrateur" pour l'instance VS2010, puis exécuter le code fonctionne. Comment puis-je automatiser ceci afin qu'un utilisateur n'ait pas à élever manuellement le privilège?

Répondre

2

Certains de ces appels WMI peuvent nécessiter des privilèges d'administrateur. avez-vous essayé en cliquant droit sur votre fichier .exe et en sélectionnant "Exécuter en tant qu'administrateur"?

Add a manifest à votre programme afin qu'il s'exécute toujours avec les privilèges d'administrateur. Here est un autre lien qui est plus à propos.

+0

Eh oui, le choix de l'instance VS2010 "Exécuter en tant qu'administrateur" puis exécuter le code fonctionne. Comment puis-je automatiser ceci afin qu'un utilisateur n'ait pas à élever manuellement le privilège? (Modification de la question pour refléter cela). – BigBrother

+0

Nims - merci pour l'information. J'ai suivi les instructions et je peux exécuter manuellement l'application manifeste (mt.exe) pour créer le fichier .exe avec le manifeste incorporé. Cependant, l'utilisation d'une étape de post-construction ne fonctionne pas. Je l'ai modifié même en fonction des commentaires sur la page - des idées? Il toujours des erreurs avec "... sorti avec le code 3." – BigBrother

+0

erreur 3 est "Le système ne peut pas trouver le chemin spécifié." voyez si donner le chemin absolu à mt.exe résout le problème. Il y a une question sttackoverflow sur cette erreur ici: http://stackoverflow.com/questions/2505612/the-command-bin-mt-exe-nologo-manifest-exited-with-error-code-3-in-ccn –