【发布时间】:2010-09-23 13:04:03
【问题描述】:
我正在使用这个 sn-p 代码来输出我网络上所有计算机的列表(语言是 jscript.net,但它只是对 C# 的一个小操作)。
var parentEntry = new DirectoryEntry();
parentEntry.Path = "WinNT:";
for(var childEntry in parentEntry.Children) {
if(childEntry.SchemaClassName == "Domain") {
var parentDomain = new TreeNode(childEntry.Name);
this.treeView1.Nodes.Add(parentDomain);
var subChildEntry : DirectoryEntry;
var subParentEntry = new DirectoryEntry();
subParentEntry.Path = "WinNT://" + childEntry.Name;
for(subChildEntry in subParentEntry.Children) {
var newNode1 = new TreeNode(subChildEntry.Name);
if(subChildEntry.SchemaClassName == "Computer") {
parentDomain.Nodes.Add(newNode1);
}
}
}
}
我有两个问题:
1) 非常慢。大约有 100 台计算机显示,加载大约需要 1 分钟。
2) 我只想获取当前在线的计算机列表。
这是可以做到的,因为我见过其他程序这样做,而且它们的速度要快得多,而且它们只能在线显示那些。
我错过了什么吗?
【问题讨论】:
标签: c# active-directory ldap jscript.net