在搜索活动目录的时候我们也行会使用到DirectorySearcher这个对象,但是如果用objectguid来进行过滤,
ds.Filter="(&(objectclass=group)(objectguid=c8977fe9-cc80-4ab1-b540-cc979a3cb7d6))"
这个样子是搜索不到的。我们需要对objectguid进行一些转换才可以做到。
以下代码是在国外的网站上找到的,可以参考。
static string ConvertGuidToOctectString(string objectGuid)
{
System.Guid guid = new Guid(objectGuid);
byte[] byteGuid = guid.ToByteArray();
string queryGuid = "";
foreach (byte b in byteGuid)
{
queryGuid += @"\" + b.ToString("x2");
}
return queryGuid;
}
我是这样使用的
ds.Filter = "(&(|(objectCategory=organizationalUnit)(objectClass=group))(objectguid=" + ConvertGuidToOctectString("c8977fe9-cc80-4ab1-b540-cc979a3cb7d6") + "))";