分享一篇很好的介绍AD属性的文章

AD图片插件

如何给AD添加图片

http://www.doc88.com/p-9542932844870.html

AD过滤条件

重命名ou使用user.Rename会一次全部改完,但是不能设置他的name等属性,要不然会出现不能在RDN上操作属性的错误

重命名CN需要这样使用属性

                DirectoryEntry user = search.FindOne().GetDirectoryEntry();
SetProperty(user, "displayName", new_name.Substring(3));
user.CommitChanges();
SetProperty(user, "userPrincipalName", new_name.Substring(3) + "@xd-ad.com.cn");
user.CommitChanges();
SetProperty(user, "sAMAccountName", new_name.Substring(3));
user.CommitChanges();

设置group为通用组

SetProperty(group, "groupType", "-2147483640");

 #region AD用户操作,设置属性
public async Task SetProperty(DirectoryEntry de, string PropertyName, string PropertyValue)
{
if (PropertyValue != null)
{
if (de.Properties.Contains(PropertyName))
{
if (PropertyValue != "")
{
de.Properties[PropertyName][0] = PropertyValue;
}
else
{
de.Properties[PropertyName].Clear();
}
}
else
{
if (PropertyValue != "")
{
de.Properties[PropertyName].Add(PropertyValue);
}
}
}
}
#endregion

在代码中新建的group在server中无法添加子group,查下了文章,原因如下

ad错误,服务器不愿意处理该请求,是因为服务器本身的错误造成的,通用组不能在全局组下面

获取DirectoryEntry的Properties的代码示例

DirectoryEntry root = new DirectoryEntry(@"IIS://localhost/W3SVC");
string PInfo = "";
foreach (string elmentName in root.Properties.PropertyNames)
{
PropertyValueCollection valueCollection = root.Properties[elmentName];
for (int i = 0; i < valueCollection.Count; i++)
{
PInfo += elmentName + "[ " + i.ToString() + "] = " + valueCollection[i].ToString() + "\r\n";
}
}

如果exchange用户是根据AD来生成的,那么在exchange中删除用户的时候,会同步删除AD中相同的用户,反过来则不会,一般管理人员操作的时候都是先处理EXCHANGE中的账户,再处理AD中的账户

虽然这种操作比较危险,但是删除账户是删除到一个回收站中,还是可以恢复的,不过如果超过了可以恢复的时间,就不能恢复了,EXCHANGE 14天,AD 60,这个只能是管理人员多注意了

函数求值超时导致DirectoryEntry对象生成错误

网上的解决方案是这样的

后来发现这种解决方案不行,产生问题的原因是我的机器不能访问AD中的资源造成的,因为我的程序是根据域名来访问资源,但是本地的IP地址找不到服务器的主机,所以造成错误。
所以解决方案就是,把DNS的主地址设置为AD的地址就行了,AD主控已经提供DNS服务了,这样又造成无法上网查资料了,尝试过双DNS,也不行,额................暂时就手动来回切换吧

ASP.NET-AD开发技巧的更多相关文章

  1. Asp.Net MVC 开发技巧(一)

    开发程序时的流程: 1.设计数据模型. 数据模型最为重要,不仅关系到数据的存储,同时程序的可扩展性,效率也受影响,甚至决定开发工作量.所以要极其认真的设计数据库的表和相关字段. 建完基本的数据模型后, ...

  2. Asp.Net MVC 开发技巧(二)

    Linq查询 Linq的使用大体分为两种:语句表达式   和  方法 首先,我们要在控制器中定义好context private ApplicationDbContext db = new Appli ...

  3. Asp.net性能优化技巧

    [摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...

  4. WebApp开发技巧大全 看了就明白了

    [转载]阅读原文 自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程 序,运行在高端的移动终端设备).开发者们都 ...

  5. iPhone开发技巧之日志保存教程

    http://mobile.51cto.com/iphone-283337.htm Objective-C开发程序的时候,有专门的日志操作类NSLog,它将指定的输出到标准的错误输出上(stderr) ...

  6. 基于Citus和ASP.NET Core开发多租户应用

    Citus是基于PsotgreSQL的扩展,用于切分PsotgreSQL的数据,非常简单地实现数据“切片(sharp)”.如果不使用Citus,则需要开发者自己实现分布式数据访问层(DDAL),实现路 ...

  7. AngularJS进阶(三十一)AngularJS项目开发技巧之获取模态对话框中的组件ID

    AngularJS项目开发技巧之获取模态对话框中的组件ID 需求 出于项目开发需求,需要实现的业务逻辑是:药店端点击查看"已发货""已收货"订单详情时,模块弹出 ...

  8. Javascript网页特效开发技巧

    Javascript网页特效开发技巧 相信很多人跟我一样,做网站开发已经有两到三年了,但大部分时间还是复制别人的代码,虽然能看懂别人的代码,同时也觉得别人写的代码很简单,但自己却写不出来: 我总结了一 ...

  9. 在Ubuntu下搭建ASP.NET 5开发环境

    在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...

  10. ASP.NET MVC开发:Web项目开发必备知识点

    最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...

随机推荐

  1. navicat数据库同步

    10.168.95.246

  2. php Aes 128位算法

    <?php class Mcrypt { private static $key = "fsdjfojojodjiovjojgfosdjfiojio"; private st ...

  3. docker overlay网络实现

    DOCKER的内置OVERLAY网络 内置跨主机的网络通信一直是Docker备受期待的功能,在1.9版本之前,社区中就已经有许多第三方的工具或方法尝试解决这个问题,例如Macvlan.Pipework ...

  4. [MVC.NET] Asp.Net MVC3 简单入门第一季

    转自:http://www.cnblogs.com/fly_dragon/archive/2011/10/12/2208042.html 初识Asp.Net MVC2.0 初识Asp.Net MVC2 ...

  5. kindoreditor上传图片

    <!doctype html><html> <head> <meta charset="utf-8" /> <title> ...

  6. Hdu-6230 2017CCPC-哈尔滨站 A.Palindrome Manacher 主席树

    题面 题意:给你一个字符串,问你满足s[i]=s[2n-i]=s[2n+i-2]的子串(这子串长度为3n-2)有多少个,原字符串长度<=5e5 题解:对于这种子串,其实要满足2个回文,跑过一次M ...

  7. 图片文字滚动插件jQuery Scrollbox

    图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好 ...

  8. Python 之 基础知识(二)

    一.分支运算 在Python 2.x中判断不等于还可以用<> if语句进阶:elif if 条件1: ...... elif 条件2: ...... else: ...... 二.逻辑运算 ...

  9. date 格式化

    以这个为例:    yyyy-MM-dd HH:mm:ss 首先得写好你需要的模板 options.sign = options.sign || 'yyyy-MM-dd HH:mm:ss'; 其次就可 ...

  10. MemCached总结一:Unbutu操作系统下memcached服务器安装和telnet方式连接memcache

    1.在Unbutu上安装memcached服务器 sudo apt-get update sudo apt-get install memcached 2. 确认memcached是否安装 要确认me ...