就像本主题中一样,我难以验证guid是否存在于LDAP中。 Guid先前是从AD下载的,并保存在SQL数据库中。现在,为了满足我的应用程序的需要,我想在AD中验证我的GUID(如果存在)。我写了一段代码,连接到AD并检查给定的对象(adSearch.Filter ="(&(姓名=约翰·史密斯1)"
。在这种情况下,我正在Name属性中查找Jan Kowalski 1,它可以正常工作,并可以使用许多其他属性,例如userPrincipalName等。检查GUID后,我立即得到adResults为空。 adSearch.Filter ="(&(objectGUID = 5c9a13b7-288d-4fdf-856f-e9ccddb5631e))";
C#:
public static string GetGuid(string objectGuid, string objectClass)
{
DirectoryEntry adRoot = new DirectoryEntry(ConfigurationManager.AppSettings["LDAPConnection"], ConfigurationManager.AppSettings["LDAPUser"], ConfigurationManager.AppSettings["LDAPPass"]);
Object adsiObj = adRoot.NativeObject;
DirectorySearcher adSearch = new DirectorySearcher(adRoot);
//adSearch.Filter = "(&(objectGUID=" + queryGuid + "))";
adSearch.Filter = "(&(objectGUID=5c9a13b7-288d-4fdf-856f-e9ccddb5631e))";
//adSearch.Filter = "(&(Name=Jan Kowalski 1))";
SearchResult adResults = adSearch.FindOne();
var adObject = adResults.GetDirectoryEntry();
return adObject.Guid;
}
由主持人最后编辑: