2010-06-16 7 views
3

Quelqu'un at-il un exemple d'accès à Active Directory, à l'interrogation LDAP à l'aide de WMI (espace de noms System.Management) et non à l'espace de noms System.DirectoryServices.C# Active Directory via WMI

Voici la page MSDN il est décrit un peu en utilisant les classes CIM http://msdn.microsoft.com/en-us/library/aa392320(v=VS.85).aspx Mais je ne peux pas trouver un exemple C# en rendre compte.

Par exemple, pour accéder à une classe Win32 vous devez initialiser l'objet Scope utiliser cimv2

private ConnectionOptions connection; 
private ManagementScope scope; 
... 
connection = new ConnectionOptions(); 
... 
scope = new ManagementScope("\\\\" + computer + "\\root\\CIMV2", connection); 
try 
{ 
    scope.Connect(); 
} 

Et utiliser la classe ObjectQuery pour effectuer des requêtes de données WMI

ObjectQuery objectQuery = new ObjectQuery("SELECT Name FROM Win32_Processor"); 
ManagementObjectSearcher searcher = ManagementObjectSearcher(scope, objectQuery); 
foreach (ManagementObject queryObj in searcher.Get()) 
{ 
return queryObj["Name"].ToString(); 
} 

Comment est-il possible d'accéder AD utilisant la même portée? Merci de

Répondre

1
+0

Je suis sûr que l'OP aurait pu googlé que. Cette question mérite un échantillon de code. –

+0

Ok merci :) Comme je l'ai compris, namespace devrait être changé de \ root \ CIMV2 à \ root \ Directory \ LDAP Et WQL devrait ressembler à SELECT * de DS_Computer où DS_Name = ... –