2012-03-08 79 views
1

我想要獲取域中計算機上的Switched列表。當然,我可以通過使用directoryentry class獲得域中的計算機列表,但是它給出域中所有計算機的列表,無論它是否打開。我已經在stackoverflow上獲得了2,3個鏈接,但沒有得到答案。 pinging需要更多時間。在C#中有沒有任何有效的解決方案?c#:如何找到域C#中的計算機開機?

+0

pinging可能是唯一的解決方案 – xbonez 2012-03-08 10:53:46

+0

你需要什麼信息?也許有更好的方法來解決任何激勵問題。 – shambulator 2012-03-08 12:08:37

回答

0

你可能想看看像SCOM這樣的解決方案。它提供了一個比ping更可靠的「心跳」功能(某些企業防火牆可能會阻止icmp,例如ping流量)。還有一些其他監控的東西。這確實意味着更多的管理開銷。

如果你想要最簡單的解決方案,你無法繞過ping。也許你可以使用像這樣的多線程的ping:https://codereview.stackexchange.com/questions/1202/c-multi-thread-ping

0

爲了解決這個問題,我簡單地做了一個C#應用程序,它能夠對所有計算機執行ping操作,這可以根據您的網絡快速完成。

Basicly你做的是(和我做了什麼):
1)取你的網絡傢伙
2)與他談話,問他是否有任何「防洪」。
3)如果他沒有尖叫,可以儘可能多地產生線程,並使用它們來ping機器:)。


@Mr快樂已經鏈接到代碼如何多線程平(不是它的問題)。