2010-11-24 13 views
2

Je suis en train de se connecter au ManagementScope comme suit:Impossible de se connecter au ManagementScope via C#. Accès refusé

ManagementScope scope = new ManagementScope(@"\\mydomain\root\RSOP\Computer")); 
scope.Connect(); 

Mais une exception (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) est levée si l'utilisateur n'est pas un administrateur de domaine. Comment un utilisateur de domaine simple peut-il se connecter à ce périmètre de gestion?

Merci.

+0

Can not! Il doit être administrateur de domaine - par conception. – Aliostad

+0

Je le pensais aussi ... Mais je peux lire les paramètres de la politique de mot de passe de domaine via GPMC en tant qu'utilisateur de domaine simple. Comment GPMC peut-il le faire? – Dmitrii

Répondre

1

Malheureusement vous ne pouvez pas sans élever les privilèges de l'utilisateur du domaine.

Si vous écrivez une application déployable, vous pouvez bac à sable accès WMI dans un service Windows hébergeant une application WCF ou Remoting.

Ce service serait configuré pour s'exécuter sous un compte avec des droits suffisants pour accéder à WMI. Votre application WCF/Remoting exposerait toutes les fonctionnalités ou données auxquelles vous avez besoin d'accéder via des méthodes wrapper. Ces méthodes peuvent être appelées par des applications clientes sans droits élevés.

+0

Je le pensais aussi ... Mais je peux lire les paramètres de la politique de mot de passe de domaine via GPMC en tant qu'utilisateur de domaine simple. Comment GPMC peut-il le faire? – Dmitrii

+0

@Eric - spéculation pure: si l'utilisateur définit un nouveau mot de passe, vous devez être en mesure de lire la politique de mot de passe de toute façon pour s'assurer qu'il répond à la politique. – Kev

3

essayer .....

ConnectionOptions con = new ConnectionOptions(); 
        con.Username = "Administrator"; 
        con.Password = "Password"; 

ManagementScope scope = new ManagementScope(@"\\" + strIPAddress + @"\root\cimv2", con); 
       scope.Connect(); 
Questions connexes