c#:如何在域c#中找到已打开的计算机

本文关键字:计算机 | 更新日期: 2023-09-27 18:27:03

我想获取域中已打开的计算机的列表。目前,我可以使用directoryentry class获得域中计算机的列表,但无论是否打开,它都会给出域中所有计算机的列表。我已经在stackoverflow上引用了2,3个链接,但没有得到答案。pinging需要更多的时间。在c#中有什么有效的解决方案吗?

c#:如何在域c#中找到已打开的计算机

您可能需要考虑像SCOM这样的解决方案。它提供了比ping更可靠的"心跳"功能(一些公司防火墙可能会阻止icmp,例如ping流量)。还有其他一些监控的东西。不过,这确实意味着更多的管理开销。

如果你想要最简单的解决方案,你就无法绕过ping。也许您可以使用多线程ping,如下所示:https://codereview.stackexchange.com/questions/1202/c-multi-thread-ping

为了解决这个问题,我简单地制作了一个C#应用程序,它可以对所有计算机执行ping操作,这可以根据您的网络快速完成。

基本上你所做的是(以及我所做的):
1) 找你的网络伙伴
2) 和他谈谈,问他是否有"防洪"措施
3) 如果他没有尖叫,你可以生成尽可能多的线程,并用它们来ping机器:)


@Happy先生已经链接到了关于如何进行多线程ping的代码(这根本不是问题)。