补充维生素ad,C#操作AD域补充

#region 获取AD域树结构
///
/// 获取AD域树结构
///

///
public DirectoryEntry GetADTree()
{
DirectoryEntry de = new DirectoryEntry(GetDomainPath(), adminUser, adminPwd);
return de;
}
#endregion
获取顶级DirectoryEntry 对象,然后过滤,分层展示树结构
以下代码树形展示了OU层的结构,通过这个树形child.SchemaClassName区分即可。
opad = new OperateAD(domain, ip, account, password);
//TreeNode users = new TreeNode("Users");
//TreeNode groups = new TreeNode("Groups");
//TreeNode services = new TreeNode("Services");
TreeNode services = new TreeNode("organizationalUnit");
viewPC.Nodes.AddRange(new TreeNode[] { services });
foreach (DirectoryEntry child in opad.GetADTree().Children)
{
TreeNode newNode = new TreeNode(child.Name);
switch (child.SchemaClassName)
{
case "organizationalUnit":
services.Nodes.Add(newNode);
break;
}
AddPathAndProperties(newNode, child);
}
///
/// 填充树结构
///

/// 节点
/// 元素
private void AddPathAndProperties(TreeNode node, DirectoryEntry entry)
{
foreach (DirectoryEntry nodesName in entry.Children)
{
TreeNode nodetree = new TreeNode(nodesName.Name);
node.Nodes.Add(nodetree);
foreach(DirectoryEntry nodeName in nodesName.Children)
{
nodetree.Nodes.Add(nodeName.Name);
}
}
}
另外添加几个方法。
#region 将用户移动到组织单位中
///
/// 将用户移入组织单位中
/// DirectoryEntry de = ExitUser("qq");
/// AddUserToOrganize("qq","bdxyxx/cw");
///

/// 用户账户名
/// 组织单位路径
///
public bool AddUserToOrganize(string userName,string OraganizePath)
{
DirectoryEntry Oraganize = null;
DirectoryEntry user = null;
try
{
Oraganize = ExitOU(OraganizePath);
user = ExitUser(userName);
if ((Oraganize != null) && (user != null))
{
//用户移入组织单位中
user.MoveTo(Oraganize);
DomainUser._success = "用户成功移入部门!";
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
DomainUser._failed = "加移入部门失败!" + ex.Message.ToString();
return false;
}
}
#endregion
#region 添加用户账户
///
/// 添加用户账户
///

/// 账户类
///
public bool AddAccount(DomainUser user)
{
if (user.Ou != null)
{
//string ou = "总部/物业公司/小区/辉辉";
if (user.Ou == "")
{
return AddADAccountToOrganize(user.Ou, user);
}
else
{
CreateOrgnanizeUnit(user.Ou);
return AddADAccountToOrganize(user.Ou, user);
}
}
else
{
return AddADAccountToOrganize("", user);
}
}
#endregion
Tags:  什么是ad域 ad域控 ad域安装 ad域管理 补充维生素ad

延伸阅读

最新评论

发表评论