扫描不同域下的AD账户进行删除
2024-09-08 03:11:54
public ResultModel GetEntryOneToDel(string sAMAccountName)
{
bool del=false;
ResultModel result = new ResultModel();
foreach (var ldap in LDAPStore)
{
ADHelper.DomainName = ldap.DomainName;
ADHelper.LDAPDomain = ldap.LDAPDomain; //ADHelper.DomainName = ldap.LDAPDomain;
ADHelper.ADPath = ldap.ADPath;
ADHelper.ADUser = ldap.ADUser;
ADHelper.ADPassword = ldap.ADPassword;
if (ADHelper.IsAccExists(sAMAccountName))
{
del = true;
break;
}
}
if (del == true)
{ DirectoryEntry de = null;
DirectoryEntry userEntry = new DirectoryEntry();
try
{
de = ADHelper.GetDirectoryObject();
DirectorySearcher deSearch = new DirectorySearcher(de);
deSearch.Filter = "(&(&(objectCategory=person)(objectClass=user))(sAMAccountName=" +
sAMAccountName + "))"; // LDAP 查询串
SearchResult sr = deSearch.FindOne();
userEntry = sr.GetDirectoryEntry();
de = userEntry.Parent;
de.Children.Remove(userEntry);
de.CommitChanges();
de.Dispose();
userEntry.Dispose();
result.ExecResult = ExecResult.Success;
return result;
}
catch (Exception ex)
{
de.Dispose();
userEntry.Dispose();
result.ExecResult = ExecResult.Failure;
LogHelper.WriteLog(new LogModel(Level.Error, DateTime.Now, "del ADAccount is error: " + ex.Message));
return result;
}
}
else
{
result.ExecResult = ExecResult.Failure;
result.ResultMessage = "无此帐号";
LogHelper.WriteLog(new LogModel(Level.Error, DateTime.Now, "del ADAccount is not Exists" ));
return result;
} }
利用ADHelper提供的共有方法,先扫描所有域(格式XML),如果存在SAMAccountName,则返回True,利用
DirectoryEntry ,和过滤器等类方法进行删除,像是找一个同学,不需要知道年级、班,只需要知道学生编号就好,因为即使手里掌握不同的学校名(域名),因编号是唯一的,也能找到他。
最新文章
- sublime 3
- 【转】 IOS开发xcode报错之has been modified since the precompiled header was built
- 使用Nginx解决IIS绑定域名导致应用程序重启的问题
- POJ 2376 Cleaning Shifts(轮班打扫)
- Objective-C 【This is ARC】
- Java多线程(六) 线程系列总结
- linux命令 -->; pwd命令
- 回击MLAA:NVIDIA FXAA抗锯齿性能实測、画质对照
- java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决方案
- Clustering text documents using k-means
- POJ 2388
- 2733:判断闰年-poj
- 自定义ArrayList
- 1-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案安全篇(来看一下怎么样监听网络数据,监听电脑上位机软件的数据)
- JavaScript中 call和apply
- Maven常见jar包依赖
- Django Rest Framework 请求流程
- Linux内核设计基础(一)之中断处理
- 【转】MEF程序设计指南二:Silverlight中使用CompositionInitializer宿主MEF
- 继承方法-->;一级一级继承
热门文章
- Dynamics CRM中的操作(action)是否是一个事务(transaction)?
- 用linux编译并运行c文件
- 初始FPGA
- 2019牛客多校(第一场)F-Random Point in Triangle
- luoguP3531 [POI2012]LIT-Letters
- day50_9_11 bootstarp使用
- verilog语法标准
- USACO Corn Fields
- Angular 4.x NgClass ngStyle 指令用法
- 【ECharts】1.学习ECharts从现在开始:第一个Echart图形