在搜索活动目录的时候我们也行会使用到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") + "))";