ASP.NET-AD开发技巧
分享一篇很好的介绍AD属性的文章
AD图片插件
如何给AD添加图片
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开发技巧的更多相关文章
- Asp.Net MVC 开发技巧(一)
开发程序时的流程: 1.设计数据模型. 数据模型最为重要,不仅关系到数据的存储,同时程序的可扩展性,效率也受影响,甚至决定开发工作量.所以要极其认真的设计数据库的表和相关字段. 建完基本的数据模型后, ...
- Asp.Net MVC 开发技巧(二)
Linq查询 Linq的使用大体分为两种:语句表达式 和 方法 首先,我们要在控制器中定义好context private ApplicationDbContext db = new Appli ...
- Asp.net性能优化技巧
[摘 要] 我只是提供我几个我认为有助于提高写高性能的asp.net应用程序的技巧,本文提到的提高asp.net性能的技巧只是一个起步,更多的信息请参考<Improving ASP.NET Pe ...
- WebApp开发技巧大全 看了就明白了
[转载]阅读原文 自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程 序,运行在高端的移动终端设备).开发者们都 ...
- iPhone开发技巧之日志保存教程
http://mobile.51cto.com/iphone-283337.htm Objective-C开发程序的时候,有专门的日志操作类NSLog,它将指定的输出到标准的错误输出上(stderr) ...
- 基于Citus和ASP.NET Core开发多租户应用
Citus是基于PsotgreSQL的扩展,用于切分PsotgreSQL的数据,非常简单地实现数据“切片(sharp)”.如果不使用Citus,则需要开发者自己实现分布式数据访问层(DDAL),实现路 ...
- AngularJS进阶(三十一)AngularJS项目开发技巧之获取模态对话框中的组件ID
AngularJS项目开发技巧之获取模态对话框中的组件ID 需求 出于项目开发需求,需要实现的业务逻辑是:药店端点击查看"已发货""已收货"订单详情时,模块弹出 ...
- Javascript网页特效开发技巧
Javascript网页特效开发技巧 相信很多人跟我一样,做网站开发已经有两到三年了,但大部分时间还是复制别人的代码,虽然能看懂别人的代码,同时也觉得别人写的代码很简单,但自己却写不出来: 我总结了一 ...
- 在Ubuntu下搭建ASP.NET 5开发环境
在Ubuntu下搭建ASP.NET 5开发环境 0x00 写在前面的废话 年底这段时间实在太忙了,各种事情都凑在这个时候,没时间去学习自己感兴趣的东西,所以博客也好就没写了.最近工作上有个小功能要做成 ...
- ASP.NET MVC开发:Web项目开发必备知识点
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
随机推荐
- 【cl】eclipse配置svn
查看Eclipse版本号 http://jingyan.baidu.com/article/020278118660e81bcd9ce545.html Window>preferences输入S ...
- 关于联想超极本出现蓝屏Default Boot Device Missing or Boot Failed的解决办法
联想笔记本出现以下症状无法开机时: 解决方案:恢复BIOS默认设置,把硬盘设置为第一启动项. 若成功检测到硬盘并有EFI引导程序,那么恭喜你这就完事了,重启后就可以正常开机了. 但是,若在UEFI模式 ...
- Design库,所有控件的使用
导入地址com.android.support:design:23.2.0..输入design搜索到确认就可以. 布局中android.support.design.widget.XXX,调用控件 控 ...
- matlab实现基于DFS的Ford_Fulkerson最大流最小割算法
function [F, maxf, V, S] = Ford_Fulkerson(C, src, sink) n = size(C, 1); F = zeros(n); maxf = 0; V = ...
- [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...
- 使用ssh和putty操控远程的linux server
windows下没有openssh,今天这里使用openssh-server作为server,windows下使用putty作为client, putty主要流程分以下几步: step 1: 下载pu ...
- BOW模型在ANN框架下的解释
原文链接:http://blog.csdn.net/jwh_bupt/article/details/17540561 作者的视野好,赞一个. 哥德尔第一完备性定理,始终是没有能看完完整的证明,艹!看 ...
- PhotoZoom Pro 7怎么进行参数设置
每个用户在使用PhotoZoom时,在针对不同的图片,我们处理的方式也不同.所以在参数设置会因图片不同而不同.那么在PhotoZoom中参数究竟如何设置呢? 首先,我们先打开[参数设置],点击后会弹出 ...
- Java中 对象的创建于调用
Main方法是程序的主入口,想要用某个方法必须在main方法中调用 创建对象: 类名 对象名 = new 类名(); 使用对象访问类中的成员: 对象名.成员变量: 对象名.成员方法(); 成员变量的默 ...
- python学习小结
1学习的课程名字叫什么 python:前端初识html,后台基础flask 2怎么输出一句话,用代码举例 输出用:print 例如: 3使用终端工具怎么运行 Python代码 例如我要运行题目2的程序 ...
