最近需要编写代码加入计算机账号到域,也就是active directory,但是加入计算机账号以后,账号默认是禁用的,用了一天时间才搞明白怎样使账户启用。
代码如下:
string path = "";//域服务器url
string userName = "";//用户名
string pwd = "";//密码
string name = "myNode";//父节点
string computerName = "com1";//计算机名
DirectoryEntry entry = new DirectoryEntry(path + "ou=" + name,userName,pwd);
DirectoryEntry de = entry.Children.Add("CN=" + computerName, "computer");
de.Properties["sAMAccountName"].Value = computerName;
de.CommitChanges();
//直接设置属性也是可以的,但是这样的话,就是硬编码了,所以先执行CommitChanges,然后再设置userAccountControl的值会更好一些。
//enable account
const int ADS_UF_ACCOUNTDISABLE = 0x0002;
int val = (int)de.Properties["userAccountControl"].Value;
de.Properties["userAccountControl"].Value = val & (~ADS_UF_ACCOUNTDISABLE);
de.CommitChanges();
这样,计算机账户就是在启用状态了:)

本文介绍如何通过编程方式将计算机账号加入Active Directory并启用该账号。使用C#代码示例展示了如何连接到域服务器、创建计算机账号及修改账号状态。
2505

被折叠的 条评论
为什么被折叠?



