Active Directory 中在线的计算机列表

2024-02-12

我使用这段代码输出网络上所有计算机的列表(语言是 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)我只想获取当前计算机的列表online.

这是可以做到的,因为我见过其他程序这样做,而且它们速度更快,而且它们只能显示在线的程序。

我错过了什么吗?


我知道它有点旧,但对其他人来说......这个片段将在 2-3 秒内从使用 AD 的域返回 760 个计算机名称......这是一个显着的改进......享受!

    Friend Shared Function DomainComputers() As Generic.List(Of String)

    ' Add a Reference to System.DirectoryServices

    Dim Result As New Generic.List(Of String)

    Dim ComputerName As String = Nothing
    Dim SRC As SearchResultCollection = Nothing
    Dim Searcher As DirectorySearcher = Nothing

    Try

        Searcher = New DirectorySearcher("(objectCategory=computer)", {"Name"})

        Searcher.Sort = New SortOption("Name", SortDirection.Ascending)
        Searcher.Tombstone = False

        SRC = Searcher.FindAll

        For Each Item As SearchResult In SRC
            ComputerName = Item.Properties("Name")(0)
            Result.Add(ComputerName)
        Next

    Catch ex As Exception

    End Try

    Return Result

End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Active Directory 中在线的计算机列表 的相关文章

  • 将 Stream 反序列化为 List 或任何其他类型

    尝试将流反序列化为List
  • 在动态事件处理程序中引用“this”

    在我的 myClass 类中 我使用 Reflection Emit 为 myClass 类成员之一动态编写事件处理程序 我已经成功地做到了这一点 现在 我想修改事件处理程序以调用 myClass 类中的实例方法之一 但是 我无法弄清楚如何
  • Accept() 是线程安全的吗?

    我目前正在用 C 语言为我正在做的课程编写一个简单的网络服务器 我们的一项要求是实现一个线程池来使用 pthread 处理连接 我知道我将如何粗略地执行此操作 在主线程中调用accept并将文件描述符传递给freee线程 但是我的朋友建议了
  • 为什么 VB.NET 和 C# 中针对值检查 null 存在差异?

    In VB NET http en wikipedia org wiki Visual Basic NET有时候是这样的 Dim x As System Nullable Of Decimal Nothing Dim y As System
  • 将图像文件从网址复制到本地文件夹?

    我有该图像的网址 例如 http testsite com web abc jpg http testsite com web abc jpg 我想将该 URL 复制到 c images 中的本地文件夹中 而且当我将该文件复制到文件夹中时
  • 键盘加速器在 UWP 应用中停止工作

    我正在尝试将键盘加速器添加到 UWP 应用程序中的 CommandBar 菜单项 当应用程序启动时 这工作正常 但在我第一次打开溢出菜单后 加速器停止工作 这似乎不会发生在主要命令 菜单之外 上 只有溢出菜单内的辅助命令才会发生 此外 单击
  • 在Application_AquireRequestState事件中用POST数据重写Url

    我有一个在其中注册路线的代码Application AcquireRequestState应用程序的事件 注册路由后 我会在 Http 运行时缓存中设置一个标志 这样我就不会再次执行路由注册代码 在此事件中注册路线有特定原因Applicat
  • 访问“if”语句之外的变量

    我怎样才能使insuranceCost以外可用if陈述 if this comboBox5 Text Third Party Fire and Theft double insuranceCost 1 在 if 语句之外定义它 double
  • 从 future 中检索值时的 SIGABRT

    我在使用 C 11 future 时遇到问题 当我打电话时wait or get 关于返回的未来std async 程序接收从mutex标头 可能是什么问题呢 如何修复它 我在 Linux 上使用 g 4 6 将以下代码粘贴到 ideone
  • 如何在编译C代码时禁用警告?

    我正在使用 32 位 Fedora 14 系统 我正在使用编译我的源代码gcc 有谁知道如何在编译c代码时禁用警告 EDIT 是的 我知道 最好的办法是修复这些警告以避免任何未定义 未知的行为 但目前在这里 我第一次编写了巨大的代码 并且在
  • 导出类时编译器错误

    我正在使用 Visual Studio 2013 但遇到了一个奇怪的问题 当我导出一个类时 它会抛出 尝试引用已删除的函数 错误 但是 当该类未导出时 它的行为会正确 让我举个例子 class Foo note the export cla
  • 方法“xxx”不能是事件的方法,因为该类派生的类已经定义了该方法

    我有一个代码 public class Layout UserControl protected void DisplayX DisplayClicked object sender DisplayEventArgs e CurrentDi
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • 更改 IdentityServer4 实体框架表名称

    我正在尝试更改由 IdentityServer4 的 PersistedGrantDb 和 ConfigurationDb 创建的默认表名称 并让实体框架生成正确的 SQL 例如 而不是使用实体IdentityServer4 EntityF
  • 在VisualStudio DTE中,如何获取ActiveDocument的内容?

    我正在 VisualStudio 中编写脚本 并尝试获取当前 ActiveDocument 的内容 这是我当前的解决方案 var visualStudio new API VisualStudio 2010 var vsDTE visual
  • 将非算术类型作为参数传递给 cmath 函数是否有效?

    给定以下用户定义类型S具有转换功能double struct S operator double return 1 0 以及以下调用cmath http en cppreference com w cpp header cmath使用类型的
  • 从 C 线程调用 Python 代码

    我对从 C 或 C 线程调用 Python 代码时如何确保线程安全感到非常困惑 The Python 文档 http docs python org c api init html non python created threads似乎是
  • 如何将对象转换为传递给函数的类型?

    这不会编译 但我想做的只是将对象转换为传递给函数的 t public void My Func Object input Type t t object ab TypeDescriptor GetConverter t ConvertFro
  • C++ [Windows] 可执行文件所在文件夹的路径[重复]

    这个问题在这里已经有答案了 我需要访问一些文件fstream在我的 Windows 上的 C 应用程序中 这些文件都位于我的exe文件所在文件夹的子文件夹中 获取当前可执行文件的文件夹路径的最简单且更重要的 最安全的方法是什么 Use 获取
  • C# 粘贴到文本框时检查剪贴板中的字符

    有没有一些方法可以在粘贴到文本框 C 之前仅检查剪贴板中的字符 Ctrl V 和右键单击 gt 粘贴 但不使用 MaskedTextbox 在文本框文本更改中添加规则以仅接受数字 例如 private string value privat

随机推荐

  • 获取调用者类

    我正在编写 Logger 并在自动添加类名时遇到问题 我从中调用了 print log 方法 例如这样的事情 class Logger def self print log string puts Time now strftime T c
  • 美国电话号码验证

    我有一个网站表单 需要输入美国电话号码以供后续使用 在这种情况下这是非常有必要的 我想尝试消除用户输入垃圾数据330 000 0000 我已经看到了第三方为您验证电话号码的一些选项 但是我不知道这是否是这种情况的最佳选择 但是 如果您使用过
  • PyQt 项目视图自定义拖放

    我正在 QTableView 中进行自定义拖放实现 当我拖动一个单元格并将其放在另一个单元格上时 我想根据拖动的内容和放置的位置手动更改模型中的一些数据 我怎样才能做到这一点 我已经阅读了所有 Qt 文档 但我完全迷失了 特别是通过拖放 C
  • Couchbase 中的存储桶密码

    我正在创建一个使用 springboot 和 Couchbase 进行反应式编程的演示项目 我在 application properties 文件中设置了以下属性 spring couchbase bootstrap hosts loca
  • APK 0(零)设备兼容性

    我正在生成一个要在商店上发布的 APK 它是现有应用程序的更新 上传到 Google Play Console 后 支持的 Android 设备 0 台设备 这是我的清单
  • vue js如何使用方法将数据从父组件、v-for循环列表传递到子组件

    我试图实现在子组件 模态组件 中显示每个项目收据数组的项目列表 但一直无法这样做 方法display receipts 是将receipts modal的数据值改为true 我可以在哪里放置 v bind 来传递数组 任何帮助深表感谢 Pa
  • 使用networkx从图中删除边

    我正在尝试转换DiGraph成n叉树并按层序或BFS显示节点 我的树与此类似 但更大 为简单起见 使用以下示例 G networkx DiGraph G add edges from n n1 n n2 n n3 G add edges f
  • 是否可以使用服务帐户访问Provisioning API?

    我的服务帐户范围是 https apps apis google com a feeds user https apps apis google com a feeds user 和 DriveScope DRIVE 我在我的服务帐户 ID
  • VS2015:警告MSB3884:找不到规则集文件

    将我的 WinForms VS2013 项目升级到 VS2015 后 我开始看到 MSB3884 找不到规则集文件 警告 Google 搜索发现了一篇 MSDN 文章 Stack Overflow 文章以及许多其他网站都指向了该文章 类似问
  • R可以识别Excel文件是否有注释单元格吗?

    我有一张 Excel 表格 xlsx 其中有一些注释的单元格 导入R后 R有什么办法可以识别注释的单元格吗 因为我必须仅对注释的单元格使用一些 if else 条件 Let s say we have this file test xlsx
  • 以逗号或分号分隔的自动完成文本框

    我想要一个TextBox支持自动完成 并允许用户输入以逗号或分号分隔的多个单词 并为每个单词提供建议 我有一个标准TextBox with textBox AutoCompleteCustomSource AddRange new appl
  • Haskell、通道、STM、线程、消息传递

    我正在尝试使用 Channels STM 在 Haskell 中实现消息传递 也许这是一个糟糕的想法 并且有更好的方法在 Haskell 中实现 使用消息传递 如果是这种情况 请告诉我 然而 我的探索提出了一些关于并发 Haskell 的基
  • Firebase Chrome 扩展 Javascript content_security_policy 清单 3

    我刚刚开始工作chrome extensions and javascript看到每个人都建议使用Manifest version 3开始 我想实施firebase进入我的扩展和旧的Manifest version 2我需要输入这个 con
  • 使用 R 和 tidyverse 将 tidy 表转换为深度嵌套列表

    我正在尝试使用 R tidyverse 将整洁的表 例如下面的示例 转换为嵌套列表 使用一些 tidyverse 魔法 我能够将其转换为深度为三的嵌套列表 但我不知道如何将其嵌套得更深 采用以下示例输入 library tidyverse
  • TFS 构建:以管理员身份运行 Powershell 脚本

    我为我们的夜间构建服务器创建了一个构建定义 构建项目 Windows 服务 后 我需要执行 Powershell 脚本来安装并启动该服务 因此 我添加了一个构建步骤来运行特定的 Powershell 脚本 然后我在 很快 夜间构建服务器上安
  • 根据原始列名称重命名列 R

    我有一个与此类似的数据框 事实上 for 循环中有 16 个 head data A tibble 1 x 4 AAA AAC AB AC 1 18 25 39 9 2 20 25 30 7 我想根据列的原始名称动态更改所有列名称 如下所示
  • 如何将 int 转换为 QString?

    有没有QString函数需要一个int并将其输出为QString Use QString number http doc qt io qt 5 qstring html number int i 42 QString s QString n
  • 是否可以在 Selenium 和 Chrome 网络驱动器上禁用加载图像(仅限 jpg 和 png)?

    在我努力提高硒测试应用程序的性能时 我想知道是否可以避免加载某些文件 例如图像 jpg 和 png 参数 disable images 禁用所有图像 包括 gif 在我看来 它可以是谷歌分析标签 我必须捕获它 是的 您可以通过指定来做到这一
  • React Native - 从库项目中,如何导入和使用包的模块

    我使用创建了一个 React Native 库项目react native create library命令为我的开发提供更加模块化的环境 因此稍后我可以将该库用于多个正在进行的应用程序项目并消除代码重复 对于 Java 它非常适合外部应用
  • Active Directory 中在线的计算机列表

    我使用这段代码输出网络上所有计算机的列表 语言是 jscript net 但这只是 C 的一个小操作 var parentEntry new DirectoryEntry parentEntry Path WinNT for var chi