public void CreateWindowsGroup(String groupName, String groupDesc, int groupCtl)
{
String ladpRootPath = "LDAP://192.168.213.168/CN=Users,DC=pk1,DC=cctv,DC=com";
DirectoryEntry ladpRoot = new DirectoryEntry(ladpRootPath);
ladpRoot.Username = "XXXXX";
ladpRoot.Password = "XXXXX";
DirectoryEntry group = ladpRoot.Children.Add("CN=" + groupName, "group");
group.Properties["sAMAccountName"].Value = groupName;
group.Properties["description"].Value = groupDesc;
group.Properties["groupType"].Value = groupCtl;
group.CommitChanges();
group.Close();
}
上述代码用于在AD上创建一个用户组,值得注意的是如果你的程序是放在域控上面执行的,那么 ladpRoot.Username和ladpRoot.Password就不能赋值。另外ladpRootPath是ladp的路径写法,LDAP://192.168.213.168表示你要操作的主机地址, DC=pk1,DC=cctv,DC=com表示要操作的Windows域,CN=Users表示在windows域的主目录下的Users容器对象。方法参数groupCtl表示一些用户组的类别,包含组别和作用域两种含义,对于组别,分为通讯组和安全组,如果是安全组,值应该为-2147483648,否则为0.对于作用域,分为本地组、全局组和通用组,对应的值分别为0x4、0x2和0x8。groupCtl的值就应该 [组别值] | [作用域值]。
下面给出一些常用的用户操作代码:
修改用户组信息:
public void ModifyWindowsGroup(String groupName, String groupDesc, int groupCtl)
{
String ladpRootPath = "LDAP://192.168.213.168/CN=Users,DC=pk1,DC=cctv,DC=com";
DirectoryEntry ladpRoot = new DirectoryEntry(ladpRootPath);
ladpRoot.Username = "XXXXX";
ladpRoot.Password = "XXXXX";
DirectoryEntry group = ladpRoot.Children.Find("CN=" + groupName, "group");
group.Properties["description"].Value = groupDesc;
group.Properties["groupType"].Value = groupCtl;
group.CommitChanges();
group.Close();
}
删除用户组信息:
public void DeleteWindowsGroup(String groupName)
{
String ladpRootPath = "LDAP://192.168.213.168/CN=Users,DC=pk1,DC=cctv,DC=com";
DirectoryEntry ladpRoot = new DirectoryEntry(ladpRootPath);
ladpRoot.Username = "XXXXX";
ladpRoot.Password = "XXXXX";
DirectoryEntry group = ladpRoot.Children.Add("CN=" + groupName, "group");
group.DeleteTree();
group.CommitChanges();
group.Close();
}
分享到:
相关推荐
C#作为.NET框架的主要编程语言,提供了丰富的类库来与Active Directory(AD)进行交互,从而获取和操作域用户、用户组以及组织单元(OU)等信息。本篇文章将详细探讨如何使用C#来实现这一目标。 首先,我们需要引入...
下面是一段基本的代码示例,展示如何使用C#连接到AD域并获取用户或组的信息: ```csharp using System; using System.DirectoryServices; public class AdReader { public static void Main(string[] args) { ...
在IT领域,特别是企业级应用开发中,"C# AD域验证"是一个常见的主题,它涉及到Windows活动目录(Active Directory, AD)与C#编程语言的集成。活动目录是Microsoft提供的一种目录服务,用于管理网络资源,如用户、...
使用C#获取WINDOWS系统的图标--DEMO
本文将深入探讨如何使用C#编程语言在ASP.NET环境中对AD域用户进行操作,包括认证、创建和删除等关键功能。 首先,进行AD用户认证是确保网络安全的重要环节。在ASP.NET应用中,C#可以借助System.DirectoryServices...
"CloseWindow 1.00"显然是一款用C#编写的工具,主要用于处理和操作Windows系统中的窗口。这款工具提供了获取、打开、关闭窗口以及执行其他相关操作的功能。下面将详细介绍这个主题中的相关知识点。 1. **C#基础**:...
总之,C#调用Windows API进行摄像头操作虽然涉及较多底层细节,但通过合理的封装和抽象,可以使代码保持清晰和易于维护。在实际项目中,还可以考虑使用第三方库如AForge.NET或Emgu CV,它们提供了更高级别的接口,...
本篇文章将详细介绍如何使用C#和.NET框架进行AD域操作,包括读取用户和组信息、创建与删除用户和组,以及移动用户到组等功能。 首先,进行AD域操作前,需要引用System.DirectoryServices命名空间,通过...
在本文中,我们将深入探讨如何使用C#编程语言和Windows API来实现切换系统默认音频设备的功能。这个功能在多媒体应用、在线会议软件或者游戏开发中非常常见,它允许用户快速改变声音输出源,以适应不同的使用场景。 ...
本文将深入探讨如何使用C#编程语言来读取AD域中的组织结构和用户信息。C#提供了丰富的类库,如System.DirectoryServices命名空间,使得与AD进行交互变得相对简单。 首先,我们需要理解AD的组织结构。AD域是基于树形...
利用 Windows API 32 中打印函数,对打印机进行发送打印任务、暂停、取消、获取打印任务、获取打印机列表、状态、纸张等信息。压缩包中包含4个平时收集的打印类,测试均可用。附含Windows API 函数 for Visual Basic...
在IT行业中,C#是一种广泛使用的编程语言,尤其在Windows应用程序开发中占据着核心地位。在本项目中,"C#管理window账号"是针对Windows操作系统中的账户管理功能进行的一次自定义开发,以解决Windows SharePoint ...
C# 开机启动服务(windows service) 本程序用ASP.NET C#开发,不针对系统版本限制。 本源码拿就来可以直接写您想要的服务,无需再改其它的代码,拿来主义是不是很好?例如订单服务。 本服务是100%源码,源码中包含: ...
本文将深入探讨如何使用C#来构建一个高度仿真的Windows图片浏览器,该浏览器不仅在功能上能够满足用户的基本需求,而且在用户体验上也力求接近原生系统的效果。 首先,我们要理解“高仿”意味着对用户界面(UI)的...
"C#生成的exe文件添加到Windows服务器的服务" 在这篇文章中,我们将详细介绍如何将C#生成的exe文件添加到Windows服务器的服务中。下面是详细的步骤和知识点: 一、创建Windows服务项目 在 Visual Studio 中创建一...
使用c#创建windows窗口(基于api)
标题 "c#写的类似windows文件查询搜索" 描述了使用C#编程语言开发的一个Windows桌面应用程序,该程序的用户界面设计灵感来源于Windows操作系统中的资源管理器,具备文件查询和搜索功能。这一项目的核心目标是为用户...
c#类似windowxp界面c#类似windowxp界面
标题 "C# 自动 定时 程序 (windows服务的形式)" 涉及的是使用C#编程语言创建一个能在Windows操作系统环境下自动执行定时任务的服务。这种服务通常被称为Windows服务,它允许程序在没有用户登录的情况下持续运行,...