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();
        }


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部