Active Directory 编程二三则

原创 2007年09月15日 22:02:00

 
一、 查询是否存在指定的AD账号:

 

 using (DirectoryEntry de = new DirectoryEntry("LDAP://RootDSE"))
 
...{
          
string DCName = (string)de.Properties["defaultNamingContext"][0];

          
using (DirectoryEntry DC = new DirectoryEntry("LDAP://" + DCName))
          
...{
                   
using (DirectorySearcher deSearch = new DirectorySearcher( ))
                   
...{
                            deSearch.SearchRoot 
= DC;
                            deSearch.SearchScope 
= SearchScope.Subtree;
                            deSearch.Filter 
= "(&(&(objectCategory=person)(objectClass=user))(sAMAccountName=" + myAccountName+ "))";
                            
using (SearchResultCollection results = deSearch.FindAll( ))
                            
...{
                                
if (results.Count == 0)
                                
...{
                                    
return false;
                                }

                                
return true;
                            }

                     }

            }

}


 二、SearchScope.Base的使用

        当我们需要在一个多值的属性中查询时,就可以使用SearchScope.Base,例如,当我们要查询组myGroup中的Member中的所有组成员时,我们就可以使用SearchScope.Base 与 DirectorySearcher对象的AttributeScopeQuery属性来进行查询。

 

//这里的ADPath是要进行查询的group的AD中的路径,如 "LDAP://YourServerName/OU=Group,O=Microsoft,C=US                                        
            using (DirectoryEntry group = DirectoryEntry(ADPath, ADUser, ADPassword, AuthenticationTypes.Secure))
            
...{
                
string filter = "(objectClass=Group)";
                
string[ ] properties = new string[ ] ......"cn""displayname""distinguidshedName" };
                
using (DirectorySearcher search = new DirectorySearcher(group, filter, properties, SearchScope.Base))
                
...{
                    search.AttributeScopeQuery 
= "member";
                    
using (SearchResultCollection results = search.FindAll( ))
                    
...{

                        
for (int i = 0; i < results.Count; i++)
                        
...{
                            
using (DirectoryEntry de = results[i].GetDirectoryEntry( ))
                            
...{
                                
// add your process code....

                            }

                        }

                    }

                }

            }


 

部署第一个域:Active Directory系列之二

在上篇博文中我们介绍了部署域的意义,今天我们来部署第一个域。一般情况下,域中有三种计算机,一种是域控制器,域控制器上存储着Active Directory;一种是成员服务器,负责提供邮件,数据库,DH...
  • albert528108
  • albert528108
  • 2013年09月16日 16:06
  • 1415

查找Active Directory中属性值以及一些常用属性

1、打开ADSI编辑器,连接到对应的Active Directory 2、打开Active Directory选择创建一测试账号,给账号需要的字段赋值 3、在ADSI编辑器列表中找到所创建的测试账...
  • sytiao
  • sytiao
  • 2016年07月11日 19:04
  • 1079

jenkins插件之权限认证相关插件Active Directory和LDAP

Active Directory配置: LDAP插件 配置:
  • weiguang1017
  • weiguang1017
  • 2017年03月21日 11:38
  • 934

Win 10 打印机active directory域服务当前不可用解决方法

明明电脑已经连接上了打印机,电视在Word中打印的时候还是显示“未安装打印机”,点击“添加打印机”的时候,会弹出一个对话框说“Active Directory域服务当前不可用”,真是很奇怪。检查了一下...
  • T3
  • T3
  • 2017年04月28日 09:58
  • 8915

无法与域的active directory域控制器连接

解决方法:   将客户机的DNS设为AD的IP 问题:      注意: 此信息主要供网络管理员参考。如果您不是网络的管理员,请通知网络管理员您收到了此信息...
  • kelsel
  • kelsel
  • 2016年10月08日 17:07
  • 3142

实战Active Directory站点部署与管理,Active Directory系列之十二

实战Active Directory站点部署与管理 上篇博文中我们家介绍了站点的设计目的及大致原理,今天我们通过实战为大家介绍如何进行站点的部署以及管理。实验拓扑如下图所所示,adtest.co...
  • zy_27_ok
  • zy_27_ok
  • 2017年06月21日 15:56
  • 114

基于Active Directory的用户验证

由于需要使用MS的AD用户验证的功能,使AD用户认证成为公司的唯一用户认证的系统,因此,最后一直在找AD用户验证的资料,还好, 找到了如下的资料,非常不错,值得一看!!!   当然,还找到了更好的资...
  • vegas_lee
  • vegas_lee
  • 2014年05月22日 15:39
  • 23

活动目录(Active Directory)

Active Directory和活动目录是同义词,已合并。 活动目录 百科名片    活动目录(Active Directory)是面向Windows Stand...
  • zhongguowangzhan
  • zhongguowangzhan
  • 2017年11月16日 15:30
  • 32

用备份进行Active Directory的灾难重建:Active Directory系列之三

用备份进行Active Directory的灾难重建   上篇博文中我们介绍了如何部署第一个域,现在我们来看看我们能够利用域来做些什么。域中的计算机可以共享用户账号,计算机账号和安全策略,我们来看...
  • zmoneyz
  • zmoneyz
  • 2014年07月07日 20:31
  • 1008

用备份进行Active Directory的灾难重建:Active Directory系列之三

转载 http://yuelei.blog.51cto.com/202879/116181 用备份进行Active Directory的灾难重建   上篇博文中我们介绍了如何部署第一个域...
  • kkdelta
  • kkdelta
  • 2013年04月07日 13:55
  • 1520
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Active Directory 编程二三则
举报原因:
原因补充:

(最多只允许输入30个字)