利用DirectoryEntry组件来查看网络所有电脑及用户
来源:互联网 发布:在淘宝网开店要钱吗 编辑:程序博客网 时间:2024/05/01 19:58
利用DirectoryEntry组件来查看网络所有电脑及用户
发布时间: 2010-04-27 06:33:25 约 83 人浏览
"N年前",在一个MOSS2007开发的项目上,客户提出有这样一个需求,有没有办法列出局域网中的所有计算机及用户呢?
办法当然会有很多种喽...KAKIM当然喜欢的是简洁易懂而又能实现功能的代码,所以后来就用了DirectoryEntry类
创建了一个DirectoryEntry实例,将它的Path设为"WinNT:"(可以后面跟domain,如WinNT://your domain),以通过对它的所有子项的递归枚举来发现网络上的所有域(以及工作组)。就可以发现网络上的所有计算机及用户名
代码
private void GetChildren(DirectoryEntry entry, TreeNode entryNode)
{
if (entry.Children != null)
{
foreach (DirectoryEntry de in entry.Children)
{
if (de.SchemaClassName == "User" ||
de.SchemaClassName == "Computer" ||
de.SchemaClassName == "Domain")
{
TreeNode _node = new TreeNode(de.Name);
entryNode.Nodes.Add(_node);
GetChildren(de, _node);
}
}
}
}
private void GetNTUser()
{
try
{
using (DirectoryEntry root = new DirectoryEntry("WinNT:"))
{
TreeNode node = new TreeNode(root.Name);
treeView1.Nodes.Add(node);
GetChildren(root, node);
}
}
catch
{ }
}
private void Form1_Load(object sender, EventArgs e)
{
GetNTUser();
}
所以,搜出结果如下图
关于DirectoryEntry 类的用法,不防参考一下MSDN,这里就不重复了
- 利用DirectoryEntry组件来查看网络所有电脑及用户
- 利用DirectoryEntry组件来查看网络
- 利用DirectoryEntry组件来查看网络,显示域用户的列表, 查询客户端域账户
- asp.net 下利用DirectoryEntry验证用户及获取域控制器下的用户结构信息
- asp.net 下利用DirectoryEntry验证用户及获取域控制器下的用户结构信息
- 查看所有用户分区表及分区策略
- 查看所有用户分区表及分区策略
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组【理论篇】
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- linux下查看所有用户及所有用户组
- Serialization - shared delegates
- 10.07.18 ~ 10.07.24
- [转]《做第一等的事业,做中国的脊梁》 ——清华大学校长在本科生毕业典礼的讲话
- Data Structure: Insert Sort
- Hibernate 中一对多关系总结
- 利用DirectoryEntry组件来查看网络所有电脑及用户
- 折半查找算法(1)
- java练习题
- Resharper 快捷键
- on the way
- 从零开始实现一个电子商务网站----一切从需求开始(二)
- IOCP模型
- HDU 2141(搜索题,二分)
- 去掉Input文本框的边框