2 votes

Accès refusé lors d'une tentative d'appel WMI à distance depuis un service

J'ai une application C# qui se connecte via WMI à de nombreux systèmes distants, à la fois dans un domaine et en mode autonome. Le programme fournit à WMI des informations d'identification et utilise l'impersonnalisation. Lorsqu'il est exécuté manuellement (à partir d'une console), il se connecte correctement et tout va bien. Cependant, lorsque ce même .exe est appelé depuis un service (exécuté en tant qu'utilisateur local), il obtient toujours 0x80070005 (E_ACCESSDENIED) lorsqu'il appelle Connect() sur le ManagementScope.

J'ai fait de nombreuses recherches et trouvé de nombreux articles apparemment utiles sur des sujets similaires, mais aucun ne fonctionne. Celui-là et son [post ultérieur][2] sur le site de MS est très similaire, sauf que mon échec se produit à la connexion, et non lors de l'exécution d'une requête, ce qui semble être un problème de permission du système local.

J'ai modifié les autorisations DCOM, les autorisations de remoting WMI, les options d'impersonnalisation, les options de stratégie, le pare-feu Windows, entre autres, mais sans résultat. Y a-t-il quelqu'un qui puisse m'aider ?

Edit : En creusant un peu plus, j'ai trouvé cette petite page de MS, qui indique vraiment que mon erreur (0x80070005) est un problème DCOM qui se produit pendant la connexion, et pas spécifiquement une erreur WMI. Les causes qu'ils donnent sont 1. Échec de l'authentification, ou 2. Permissions de lancement/activation à distance de DCOM. Puisque mon programme fonctionne lorsqu'il est exécuté manuellement avec les mêmes informations d'identification, je dois supposer que c'est un problème DCOM. J'ai configuré l'activation et le lancement à distance/local pour autoriser SYSTEM, LOCAL SERVICE, INTERACTIVE et Administrateurs, mais cela échoue toujours. Comme le service est exécuté en tant que système local, je suppose que ces paramètres devraient suffire.

0voto

David W Points 5303

Il se peut que je simplifie à l'extrême ou que je ne comprenne pas bien votre problème, mais il me semble que si vous tentez d'accéder à une à distance fournisseur WMI via un service ne possédant que les informations d'identification d'un machine locale un tel effort échouera toujours (à dessein). Il n'y a pas de chemin pour l'authentification à partir de MACHINE \account à AUTREMACHINE \account ou DOMAINE \account. Encore une fois, si je simplifie trop ou si je ne comprends pas bien, je m'en excuse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X