2010-06-11 16 views
3

J'ai un script écrit en Visual Basic qui démarre un processus (donné au script en tant qu'argument) sur un système distant (à nouveau, donné en argument) en utilisant WMI. Ce script fonctionne très bien lorsque vous utilisez un compte administrateur sur le système distant, mais lorsque vous utilisez un compte non administrateur, je reçois l'erreur suivante:Comment exécuter une commande sur un système Windows distant en tant qu'utilisateur non administrateur avec WMI?

ConnectServer Failed w/ (-2147024891) Access is denied. 

Je voudrais être en mesure d'exécuter des processus sur des systèmes distants comme un utilisateur non-administrateur avec ce script, et je suis assez sûr que le problème est dû aux paramètres de sécurité sur le système distant, mais je n'ai pas été en mesure de réinitialiser les bons.

Répondre

3

Il semble que vous ayez besoin de configurer des autorisations de lancement et d'activation pour cet utilisateur, sur la machine cible, via DCOMCNFG. Par défaut, les utilisateurs non administrateurs ne disposent pas d'autorisations de lancement et d'activation à distance. En outre, selon le système d'exploitation auquel vous vous connectez, il se peut qu'il existe un groupe «Utilisateurs COM distribués» auquel vous pouvez ajouter votre utilisateur. Ce groupe a déjà les autorisations appropriées. Le groupe Distributed COM Users a été inclus pour la première fois dans Windows Server 2003 Service Pack 1 (DCOM Security Enhancements).

Vous pouvez en savoir plus sur les autorisations WMI et DCOM here. Des étapes plus détaillées sur la façon de configurer WMI et DCOM sont incluses dans le thread serverfaultWhich permissions/rights does a user need to have WMI access on remote machines?.