承接MOSS各种工作流开发 联系人:王先生.电话:18618405729QQ:252385878 QQ群:41696750 MSN:wanghao-3@hotmail.com

导航

统计

获取AD用户和OU属性字段名称

网上找的貌似不全

其它可用字段,我试了一下,见下表(不全):
用户帐户属性 
字符名“常规”标签
说明
姓 Sn
名 Givename
英文缩写 Initials
显示名称 displayName
描述 Description
办公室 physicalDeliveryOfficeName
电话号码 telephoneNumber
电话号码:其它 otherTelephone 多个以英文分号分隔
电子邮件 Mail
网页 wWWHomePage
网页:其它 url 多个以英文分号分隔
“地址”标签
国家/地区 C 如:中国CN,英国GB
省/自治区 St
市/县 L
街道 streetAddress
邮政信箱 postOfficeBox
邮政编码 postalCode
 
“帐户”标签
用户登录名 userPrincipalName 形如:S1@mcse.com
用户登录名(以前版本) sAMAccountName 形如:S1
登录时间 logonHours
登录到 userWorkstations 多个以英文逗号分隔
用户帐户控制 userAccountControl (启用:512,禁用:514, 密码永不过期:66048)
帐户过期 accountExpires
 
“配置文件”标签
配置文件路径 profilePath
登录脚本 scriptPath
主文件夹:本地路径 homeDirectory
连接 homeDrive
到 homeDirectory
“电话”标签
家庭电话 homePhone (若是其它,在前面加other。)
寻呼机 Pager 如:otherhomePhone。
移动电话 mobile 若多个以英文分号分隔。
传真 FacsimileTelephoneNumber
IP电话 ipPhone
注释 Info

“单位”标签
职务 Title
部门 Department
公司 Company

“隶属于”标签
隶属于  memberOf  用户组的DN不需使用引号, 多个用分号分隔 
“拨入”标签 远程访问权限(拨入或VPN) msNPAllowDialin
允许访问 值:TRUE
拒绝访问 值:FALSE
回拨选项 msRADIUSServiceType
由呼叫方设置或回拨到 值:4
总是回拨到 msRADIUSCallbackNumber 

没有找到我需要的 万般无奈之际,只能自己想办法通过代码来获取想要的信息

研究了下其实也非常简单

 

 string text = string.Empty;
                DirectoryEntry entry = new DirectoryEntry(ConfigurationManager.AppSettings["ldap"], ConfigurationManager.AppSettings["adminname"], ConfigurationManager.AppSettings["password"]);
                //获取子结点
                System.DirectoryServices.DirectoryEntry subentry = entry.Children.Find(ouname, "organizationalUnit");


                //对子对象进行循环
                foreach (DirectoryEntry res in subentry.Children)
                {
                    if (res.Name.ToString().Substring(0, 3) == "CN=" && res.SchemaClassName == "user") //user
                    {
                        foreach (object p in res.Properties)
                        {
                            Response.Write(((System.DirectoryServices.PropertyValueCollection)(p)).PropertyName.ToString() + "=========\n" + ((System.DirectoryServices.PropertyValueCollection)(p)).Value);
                        }
                    }

                    Response.Write("---------------------------------------------------------");
                    if (res.Name.Substring(0, 3) == "OU=")
                    {
                        foreach (object p in res.Properties)
                        {
                            Response.Write(((System.DirectoryServices.PropertyValueCollection)(p)).PropertyName.ToString() + "==============\n"+((System.DirectoryServices.PropertyValueCollection)(p)).Value);
                        }
                    }

 

可以得到非常全面的AD属性

 

 

posted on 2010-06-23 13:04  A A  阅读(1446)  评论(1编辑  收藏