2009-06-08 9 views

答えて

1

これはVBのソリューションですが、この作業を行うために必要な変更を行うことができます。

おそらくもっと良い方法ですが、これは最初のカットです。

Imports System.Net.NetworkInformation 
Imports System.Directory Services 

Class NetworkInfo 

Function GetComputers() as list(Of String) 

dim List as new list(of String) 

Dim DomainEntry as new DirectoryEntry("WinNT://" + DomainInfo.GetDomain.Trim()) 
DomainEntry.Children.SchemaFilter.Add("computer") 

For Each Machine as DirectoryEntry in DomainEntry.Children 
List.Add(Machine.Name) 
Next 

return List 

End Function 

End Class 

あなたはIPアドレスのようなものをキャプチャできるようにSystem.Net.NetworkInformation名前空間では約ノック便利なツールのすべての種類など

+0

ありがとう、これは私が必要としていたものです – melculetz

+0

これは静的IPアドレスのホストで動作し、動的DNSアドレスを登録していませんか? – Arafangion

+0

これは、静的IPアドレスと動的IPアドレスの両方で機能します。 – Hooloovoo

5

nmapこれにはさらに1トンを加えます。オープンソース。

+0

ありがとう、しかし、私はnmapを使用することができないので、既存のプログラムでこの機能を実装する必要があります – melculetz

+0

あなたはNmapがそれを行い、C#でそのメソッドを再実装する方法を見ることができます... – Moo

+0

nmapは動作する唯一のソリューションです。 C#から呼び出すことができます。 (確か.NETプログラマが他のプログラムを呼び出すことができます) – Arafangion

1

私は(これを考えることができる最も簡単な方法があります。愚かではない)は、ICMPecho requestRFC 792で定義)を224.0.0.1に送信することです。 C#はこれを行うためのクラスPingを提供します。ネットワークに接続されているすべてのマシンがマルチキャストをサポートしているかどうかという疑問もあります。

関連する問題