c#通过WMI的Active Directory

时间:2010-06-16 11:08:50

标签: c# active-directory wmi

有没有人有一些关于使用WMI(System.Management命名空间)而不是System.DirectoryServices命名空间访问Active Directory,LDAP查询的示例。

在MSDN页面上,使用CIM类进行了一些描述 http://msdn.microsoft.com/en-us/library/aa392320(v=VS.85).aspx 但我找不到一些实现它的C#示例。

例如,要访问某些Win32类,您必须初始化Scope对象以使用CIMV2名称空间

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

使用ObjectQuery类查询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();
}

如何使用相同的范围访问AD? 谢谢:))