c#:如何找到域c#中的计算机?

时间:2012-03-08 10:52:14

标签: c# .net windows

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

2 个答案:

答案 0 :(得分:0)

您可能希望查看类似SCOM的解决方案。它提供了“心跳”功能,它比ping更可靠(某些企业防火墙可能阻止icmp,例如ping流量)。还有一堆其他的监控内容。它确实意味着更多的管理开销。

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

答案 1 :(得分:0)

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

基本上你做的是(我做了什么):
1)取你网络人 2)和他谈谈,问他是否有“防洪” 3)如果他没有尖叫,尽可能多地产生线程并使用它们ping机器:)

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