novell.directory.ldap获取邮箱活动目录
在windows系统上可以使用下列方法来查找所有的员工邮箱和员工组:
StringDictionary ReturnArray = new StringDictionary();
Dictionary<string, string> resultDict = new Dictionary<string, string>();
DirectoryEntry deDirEntry = new DirectoryEntry("LDAP://mail.test.com",
UserName,
Password,
AuthenticationTypes.Secure); DirectorySearcher mySearcher = new DirectorySearcher(deDirEntry); string sFilter = String.Format("(&(mailnickname=*)(|(objectcategory=user)(objectcategory=group)))");//(objectcategory=user)(objectcategory=group) mySearcher.Filter = sFilter;
mySearcher.Sort.Direction = System.DirectoryServices.SortDirection.Ascending;
mySearcher.Sort.PropertyName = "cn";
mySearcher.PageSize = ; SearchResultCollection results;
results = mySearcher.FindAll();
但是在移动端使用xamarin开发的时候是不能用上面的类的,需要使用其他的类库。
下面推荐使用novell.directory.ldap类库,可以在NuGet上搜索LDAP即可查到,在我们安装程序包时可能遇到在PCL(可移植的)上无法安装,没关系,我们可以单独只装各平台的代码就可以了,虽然写的代码一样,但是就是要分平台来写,下面是例子:
cn.Connect("mail.test.com", );
cn.Bind("test@test.com", "**password**");
string sFilter = String.Format("(&(mailnickname=*)(|(objectcategory=user)(objectcategory=group)))");
LdapSearchResults ldapSearchResults = cn.Search("CN=Users,DC=corp,DC=test,DC=com", LdapConnection.SCOPE_SUB, sFilter, null, false);
var entries = new List<LdapEntry>();
try
{
while (ldapSearchResults.hasMore())
{
entries.Add(ldapSearchResults.next());
}
}
catch (LdapException ex)
{
System.Console.WriteLine(ex.LdapErrorMessage);
}
注意事项,使用novell.directory.ldap时,有部分帐号无法连接。Search的参数请根据实际情况配置。
novell.directory.ldap获取邮箱活动目录的更多相关文章
- 使用Novell.Directory.Ldap.NETStandard在.NET Core中验证AD域账号
Novell.Directory.Ldap.NETStandard是一个在.NET Core中,既支持Windows平台,又支持Linux平台,进行Windows AD域操作的Nuget包. 首先我们 ...
- Delphi访问活动目录(使用COM,活动目录Active Directory是用于Windows Server的目录服务)
活动目录Active Directory是用于Windows Server的目录服务,它存储着网络上各种对象的有关信息,并使该信息易于管理员和用户查找及使用.Active Directory使用结构化 ...
- 利用WINDOWS活动目录提供LDAP的方案
Windows Server 2008 R2 活动目录服务安装 http://blog.sina.com.cn/s/blog_622de9390100kgv3.html WINDOWS 2008 域控 ...
- Server2012R2实现活动目录(Active Directory)双域控制器互为冗余
在活动目录中部署两台主控域控制器,两台域控制器互为冗余. Server 2012 R2新建活动目录和DC refer to: https://www.cnblogs.com/jfzhu/p/40061 ...
- Delphi访问活动目录
活动目录Active Directory是用于Windows Server的目录服务,它存储着网络上各种对象的有关信息,并使该信息易于管理员和用户查找及使用.Active Directory使用结构化 ...
- 获取当前进程目录 GetCurrentDirectory() 及 获取当前运行模块路径名GetModuleFileName()
GetCurrentDirectory 获得的是当前进程的活动目录(资源管理器决定的),可以用SetCurrentDirectory 修改的. 转自 http://m.blog.csdn.net/bl ...
- CAS连接微软活动目录的配置方法
原文地址:http://blog.csdn.net/baozhengw/article/details/3857669在微软活动目录中建立一个用户节点,帐号为wangzhenyu,cn为zhenyu ...
- Active Directory中获取域管理员权限的攻击方法
Active Directory中获取域管理员权限的攻击方法 译:by backlion 0x00 前言 攻击者可以通过多种方式在Active Directory中获得域管理员权限, ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之三:安装Windows活动目录域服务
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
随机推荐
- ogre3D学习基础1 -- 核心对象与脚本技术
一.核心对象介绍1.命名空间 Ogre3d使用了C++的特性--命名空间,可以防止命名混淆.使用方法也简单,using namespace Ogre;或者直接在使用时加上“Ogre::”的前缀,如Og ...
- LeetCode661图片平滑器
题目描述:包含整数的二维矩阵 M 表示一个图片的灰度.你需要设计一个平滑器来让每一个单元的灰度成为平均灰度 (向下舍入) ,平均灰度的计算是周围的8个单元和它本身的值求平均,如果周围的单元格不足八个, ...
- java基础-容器
已经写了一段时间JAVA代码了,但仔细想来,却发现对JAVA的很多方面还是一片迷茫. 利用周末补一下基础知识吧. 大致列一下这个周末需要学习的内容 1 容器 (本节内容) 2 线程 3 流 目录 1 ...
- Spring整合hibernate -hibernateTemplate
目录 1 在Spring中初始化hibernateTemplate并注入Sessionfactory 2 DAO里注入hibernateTemplate 3 getHibernateTemplate. ...
- quagga源码学习--BGP协议的初始化
quagga支持BGP-4,BGP-4+协议,支持多协议(mpls,isis,ospf等等)以及单播,组播路由的导入和分发. 具体的协议,这里就不附录了,网络上有很多资料,或者RFC. 协议源码的学习 ...
- hdu 4176
Class Statistics Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 201621123034 《Java程序设计》第4周学习总结
Week04-面向对象设计与继承 1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词 答:对象.重载.继承.多态 1.2 尝试使用思维导图将这些关键词组织起来.注:思维导图一般不需 ...
- Python脚本获取Linux系统信息
# -*- coding:utf-8 -*- import os import subprocess import re import hashlib #对字典取子集 def sub_dict(for ...
- ubuntu 下openoffice安装
openoffice官网建议的安装步骤:http://www.openoffice.org/download/index.html 前提条件 如果你希望Java集成,你要确保你有安装最新的JRE.它的 ...
- String类型的XML文件的格式化
在接收到的xml报文中,未经过格式化,不好看 package org.zln.xml.format; import org.dom4j.Document; import org.dom4j.Docum ...