DEMO程序 创建一个用户( C#开发AD域控自动工具之三)

本文介绍如何使用C#开发AD域控自动工具,包括连接域控服务器、创建用户、设置用户属性及密码策略等关键步骤。通过具体示例展示了用户创建过程中的字段设置、异常处理以及必要的服务器配置。

搭建一个开发环境( C#开发AD域控自动工具之一)

DEMO程序连接到域控服务器( C#开发AD域控自动工具之二)

DEMO程序 创建一个用户( C#开发AD域控自动工具之三)

第一个需求,登陆名称绑定计算机名( C#开发AD域控自动工具之四)

流程集成的一个小例子( C#开发AD域控自动工具之四续)

把用户加入组( C#开发AD域控自动工具之五)

对用户按条件添加一个工作站的绑定( C#开发AD域控自动工具之六)

 

继续上面的内容,我们可以正常的连接到AD域控服务器,然后,我们来新建一个用户:

 

界面上先摆几个创建用户的字段,我们增加一个新建用户的函数:


        public void AddUser2AD(string strUserName, string strSAMAccountname, string strPassword, string strPath)
        {
            string strname = "CN=" + strUserName;
            try
            {
                // strADAccount ,strADPassword为AD管理员账户和密码
                DirectoryEntry objDE = new DirectoryEntry(strPath, AD_admin, AD_password);
                DirectoryEntries objDES = objDE.Children;
                DirectoryEntry myDE = objDES.Add(strname, "User");
                myDE.Properties["userPrincipalName"].Value = strSAMAccountname;
                myDE.Properties["name"].Value = strUserName;
                myDE.Properties["sAMAccountName"].Value = strSAMAccountname;
                myDE.Properties["userWorkstations"].Value = "WINHOST1,WINHOST1";
                myDE.CommitChanges();

               
                ps(listBox1, "新增用户:" + strUserName);
/*
                //设置密码 ,这里需要到服务器执行
                //(需要引用COM: Active DS Type Library,引用命名空间using ActiveDs;)
                ActiveDs.IADsUser objUser = myDE.NativeObject as IADsUser;
                objUser.SetPassword(strPassword);
                //设置用户状态:密码永不过期(65536)+用户正常(512)= 66048
                objUser.Put("userAccountControl", 66048);
                objUser.SetInfo();*/
            }

            catch (Exception RaiseErr)
            {           
                ps(listBox1, RaiseErr.Message);
            }

        }

点一下“新建”用户按钮,我们在域控中创建了一个用户:

这个用户的信息包括:用户名,密码,登录名,绑定的工作站。

但是很快,我们发现,这个用户密码没对。原来,对用户密码的设置需要调用“本地的另一个类库”。

就是说首先要添加一个COM类库,然后程序要在域控服务器上去执行

头文件声明也加上:

我们打开代码中注释部分,编译后到域控服务器上去执行:

 

WIN2008的服务器上面还没有安装 .net framework 4.7.2,马上安装一个。(居然还要下载一个证书才能完成4.7.2的安装)

 

用户创建成功,密码策略设置成功,完美。

 

找到一个用户属性参数对应表:

AD属性对照表

“常规”标签

姓 Sn 
名 Givename 
英文缩写 Initials 
显示名称 displayName 
描述 Description 
办公室 physicalDeliveryOfficeName  
电话号码 telephoneNumber 
电话号码:其它 otherTelephone 多个以英文分号分隔 
电子邮件 Mail 
网页 wWWHomePage 
网页:其它 url 多个以英文分号分隔

“地址”标签

国家/地区 C 如:中国CN,英国GB 
省/自治区 St  
市/县 L 
街道 streetAddress 
邮政信箱 postOfficeBox 
邮政编码 postalCode 

“帐户”标签

用户登录名 userPrincipalName 形如:pccai1983@hotmail.com 
用户登录名(以前版本) sAMAccountName 形如:S1 
登录时间 logonHours  
登录到 userWorkstations 多个以英文逗号分隔 
用户帐户控制 userAccountControl (启用:512,禁用:514, 密码永不过期:66048) 
帐户过期 accountExpires 

“配置文件”标签

配置文件路径 profilePath 
登录脚本 scriptPath 
主文件夹:本地路径 homeDirectory 
连接 homeDrive 
到 homeDirectory 

“电话”标签

家庭电话 homePhone (若是其它,在前面加other。) 
寻呼机 Pager 如:otherhomePhone。 
移动电话 mobile 若多个以英文分号分隔。 
传真 FacsimileTelephoneNumber  
IP电话 ipPhone 
注释 Info 

“单位”标签

职务 Title 
部门 Department 
公司 Company 

“隶属于”标签

隶属于  memberOf  用户组的DN不需使用引号, 多个用分号分隔  
“拨入”标签 远程访问权限(拨入或VPN) msNPAllowDialin 
允许访问 值:TRUE 
拒绝访问 值:FALSE 
回拨选项 msRADIUSServiceType 
由呼叫方设置或回拨到 值:4 
总是回拨到 msRADIUSCallbackNumber  

名:GivenName

 

属性
 

显示名称

属性名称

First Name

givenName

Last Name

sn

Initials

initials

Description

description

Office

physicalDeliveryOfficeName

Telephone Number

telephoneNumber

Telephone: Other

otherTelephone

E-Mail

mail

Web Page

wwwHomePage

Web Page: Other

url

帐号属性:

显示名称

属性名称

UserLogon Name

userPrincipalName

User logon name (pre-Windows 2000)

sAMAccountname

Logon Hours

logonHours

Log On To

logonWorkstation

Account is locked out

userAccountControl

User must change password at next logon

pwdLastSet

User cannot change password

N/A

Other Account Options

userAccountControl

Account Expires

accountExpires

地址属性

显示名称

属性名称

Street

streetAddress

P.O.Box

postOfficeBox

City

l

State/Province

st

Zip/Postal Code

postalCode

Country/Region

c,co, and countryCode

成员属性

显示名称

属性名称

Member of

memberOf

Set Primary Group

primaryGroupID

组织属性

显示名称

属性名称

Title

title

Department

department

Company

company

Manager:Name

manager

Direct Reports

directReports

外型属性

显示名称

属性名称

Profile Path

profilePath

Logon Script

scriptPath

Home Folder: Local Path

homeDirectory

Home Folder: Connect

homeDrive

Home Folder: To

homeDirectory

电话相关属性

显示名称

属性名称

Home

telephoneNumber

Home: Other

otherTelephone

Pager

pager

Pager: Other

pagerOther

Mobile

mobile

Mobile: Other

otherMobile

Fax

facsimileTelephoneNumber

Fax: Other

otherFacsimileTelephoneNumber

IP phone

ipPhone

IP phone: Other

otherIpPhone

Notes

info

 

 

 

 

 

 

 

评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘欣的博客

你将成为第一个打赏博主的人!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值