【C#代码】使用C#为AD添加用户

开发原因:

测试为什么在真是环境中取数据慢的问题。结论:绝对不是数据量的事情,可能是AD服务器不在本地的原因。

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices.AccountManagement;

namespace ADADD
{
    class Program
    {
        private static string stringDomainName = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
        static void Main(string[] args)
        {

            for (int i = 0; i < 10000; i++)
            {
                bool b = CreateUser("wang", "yang", "yixiaozi"+i.ToString(), "00"+i.ToString(), "[email protected]", "13522420921", "beijing,chaoyang");
            }
        }

        internal static bool CreateUser(string firstName, string lastName, string userLogonName, string employeeID, string emailAddress, string telephone, string address)
        {
            PrincipalContext PrincipalContext1 = new PrincipalContext(ContextType.Domain, stringDomainName);

            UserPrincipal usr = UserPrincipal.FindByIdentity(PrincipalContext1, userLogonName);
            if (usr != null)
            {
                return false;
            }

            // Create the new UserPrincipal object
            UserPrincipal userPrincipal = new UserPrincipal(PrincipalContext1);

            if (lastName != null && lastName.Length > 0)
                userPrincipal.Surname = lastName;

            if (firstName != null && firstName.Length > 0)
                userPrincipal.GivenName = firstName;

            if (employeeID != null && employeeID.Length > 0)
                userPrincipal.EmployeeId = employeeID;

            if (emailAddress != null && emailAddress.Length > 0)
                userPrincipal.EmailAddress = emailAddress;

            if (telephone != null && telephone.Length > 0)
                userPrincipal.VoiceTelephoneNumber = telephone;

            if (userLogonName != null && userLogonName.Length > 0)
                userPrincipal.SamAccountName = userLogonName;

            userPrincipal.SetPassword("a");

            userPrincipal.Enabled = true;
            userPrincipal.ExpirePasswordNow();

            try
            {
                userPrincipal.Save();
            }
            catch (Exception e)
            {
                return false;
            }
            return true;
        }

    }
}

如果不愿意编译,可以直接下载执行文件,不过测试完后删除的代码就需要自己写喽。

http://files.cnblogs.com/files/yixiaozi/ADADD.zip

时间: 2024-10-28 16:40:38

【C#代码】使用C#为AD添加用户的相关文章

自建JS代码库(1)---添加用户的常用验证

自建JS代码库(1)---添加用户的常用验证 大家都知道现在有许多比较成熟的javascript代码库,比如:JQuery,Prototype等,里面有许多经过验证的非常好用的函数.这些优秀的代码库能够提高我们的开发效率,但是我们在开发过程中同时还会遇到一些经常使用的方法,而这些可能写起来也比较的繁琐,这个时候我们有自己的代码库直接Copy代码是不是能够让你心情愉悦呢? 今天简单的整理了一下,在项目开发过程中添加系统用户的时候可能会使用到的一些常用的验证. 1.判断用户名只能是字母或数字,且长度

如何在Windows Server 2008R2上面批量添加AD用户及自定义OU批量添加用户

首先这里我们需要找HR要到员工的信息表,越详细越好 注:密码不能太过于简单,一定要符合密码的复杂性的要求,不然会提示报错信息 然后把修改号的表保存到C盘的根目录下面 下面添加这些信息for /f "skip=1 eol=; tokens=1-10 delims=, " %a in (c:\aduserdata.csv) do dsadd user cn=%a,cn=users,dc=abc123,dc=com -display a% -upn %[email protected] -s

基于AD的用户组织目录树选择工具的解决方案

基于AD的用户组织目录树选择工具的解决方案 2009-03-06 11:00 by Virus-BeautyCode, 1675 阅读, 5 评论, 收藏, 编辑 本文的需求来自进来SharePoint开发中的人员选择,基础中国的用户更加喜欢通过组织结构来选择人员,这样可以清晰的知道选择人员的部门,通过组织结构选择人员是本文的讨论点. 我也是集合了前人的思路,进行了整合,参考了下面的博客 基于AD的用户组织目录树选择工具的解决方案http://blog.lickies.cn/Lists/Post

for添加用户

添加10个用户user1到user10,密码同用户名:但要求只有用户不存在的情况下才能添加:接受一个参数:add: 添加用户user1..user10del: 删除用户user1..user10其它:退出 代码 #!/bin/bash # A=$1 if [ $A == add ];then   for I in {1..10};do     USER=user$I     if ! id $USER &> /dev/null ;then       useradd user$I &

Project Server 2013新手入门 (一)为PWA添加用户并分享网站

之前做过Project server 2013的很多测试,一直没发上来.现在终于想着能写点自己会的东西,都比较简单,我也是新手. 之前测试的文档我会陆续的发上来,供新人参考,有不懂的,大家也可一起讨论. 我这里就不先写什么安装操作的文档啦,如果以后有需要,我再做.接下来的几篇稿子,我都写project PWA搭建好之后的一 些实际测试.那么,接下来我就开始分享我知道的东西. 一.为PWA新建用户 我们都知道微软的产品基本都是基于微软特有的AD活动目录的,这些产品像Exchange,Lync,Sh

tomcat8+jdk1.8.0_131环境搭建与添加用户(win764位)

tomcat8下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.14/bin/apache-tomcat-8.5.14-windows-x64.zip jdk1.8.0下载地址:http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-windows-x64.exe tomc

IdentityServer4 使用OpenID Connect添加用户身份验证

使用IdentityServer4 实现OpenID Connect服务端,添加用户身份验证.客户端调用,实现授权. IdentityServer4 目前已更新至1.0 版,在之前的文章中有所介绍.IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API . 本文环境:IdentityServer4 1.0  .NET Core 1.0.1 下面正式开始. 新建IdentityServer4服务端 服务端也就是提供服务,如QQ

AD域用户和samba结合使用,smb.conf配置文件

#此配置文件仅为samba和AD域用户访问设置权限的配置文件 [global]    workgroup = OFFICE realm = OFFICE.ABC.COM    security = ADS    client signing = required    template homedir = /home/%U    template shell = /bin/bash    winbind enum users = Yes    winbind enum groups = Yes 

linux中添加用户后命令行改变

描述: [[email protected] /]# mkdir -p /u01/oracle[[email protected] /]# useradd -g oinstall -G dba -d /u01/oracle/ oracleuseradd: warning: the home directory already exists.Not copying any file from skel directory into it. 而且/u01/oracle目录下没有任何文件. 解决方法: