C# Active Directory通过objectGUID获取DirectoryEntry对象
public static DirectoryEntry GetDirectoryObjectByGUID(string paramGUID)
{
try
{
string objectGUID = Guid2OctetString(new Guid(paramGUID));//转换GUID
DirectoryEntry de = GetDirectoryObject();
DirectorySearcher deSearch = new DirectorySearcher();//查询
deSearch.SearchRoot = de;
deSearch.Filter = "(&(objectGUID=" + objectGUID + "))";
deSearch.SearchScope = SearchScope.Subtree;
SearchResult results = deSearch.FindOne();
if (results != null)
{
return new DirectoryEntry(results.Path, paramADUser, paramADPasword, AuthenticationTypes.Secure);
}
else
{
return null;
}
}
catch (Exception e)
{
return null;
}
}
public static string Guid2OctetString(Guid objectGuid)
{
byte[] byteGuid = objectGuid.ToByteArray();
StringBuilder sb = new StringBuilder();
foreach (byte b in byteGuid)
{
sb.Append(@"\" + b.ToString("x2"));
}
return sb.ToString();
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
