分享一篇很好的介绍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. C语言数组和函数实例练习(二)

    1.C语言中不允许函数的嵌套定义,但可以使用函数的嵌套调用. 例1:输入4个整数,找出其中最大的数. #include <stdio.h> #include <stdlib.h> ...

  2. hdoj--1281--棋盘游戏(最小点覆盖+枚举)

    棋盘游戏 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  3. poj 3259-- Wormholes(SPFA)

                                                                                                         ...

  4. computed与methods的异同

    在vue.js中,有methods和computed两种方式来动态当作方法来用的 如下: 两种方式在这种情况下的结果是一样的 写法上的区别是computed计算属性的方式在用属性时不用加(),而met ...

  5. codeforces 708ALetter Cyclic Shift

    2019-05-18 09:51:19 加油,加油,fightting !!! https://www.cnblogs.com/ECJTUACM-873284962/p/6375011.html 全为 ...

  6. .Net Core Autofac实现依赖注入

    Autofac 是一款适用于Microsoft .NET 4.5, Silverlight 5, Windows Store apps, and Windows Phone 8 apps的超赞的 Io ...

  7. Java登录界面简单设计

    package cn.com.view; import java.awt.Color; import java.awt.Font; import java.awt.SystemColor; impor ...

  8. C#中大批量导入数据SqlBulkCopy

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  9. 第5章分布式系统模式 使用客户端激活对象通过 .NET Remoting 实现 Broker

    正在 .NET 中构建一个需要使用分布式对象的应用程序,并且分布式对象的生存期由客户端控制.您的要求包括能够按值或按引用来传递对象,无论这些对象驻留在同一台计算 机上,还是驻留在同一个局域网 (LAN ...

  10. YCbCr to RGB and RGB toYCbCr

    RGB => YCbCr: Y = 0.299R + 0.587G + 0.114BCb = -0.1726R - 0.3388G + 0.5114B + 128Cr = 0.5114R - 0 ...