Hallo!
Ich ermittle mittels des folgenden Codes alle IPs der Computer in einer Arbeitsgruppe:
Code:
private void button1_Click(object sender, EventArgs e)
{
DirectoryEntry DomainEntry = new DirectoryEntry("
WinNT://group");
DomainEntry.Children.SchemaFilter.Add("computer");
foreach (DirectoryEntry machine in DomainEntry.Children)
{
IPHostEntry Tempaddr = (IPHostEntry)Dns.GetHostEntry(machine.Name);
string[] items = new string[Tempaddr.AddressList.Length+1];
if (listView1.Columns.Count < items.Length)
for (int i = listView1.Columns.Count; i < items.Length; i++)
listView1.Columns.Add("
IP " + i.ToString(), 90);
int a = 0;
items[a] = machine.Name;
foreach (IPAddress Address in Tempaddr.AddressList)
{
a++;
items[a] = Address.ToString();
}
listView1.Items.Add(new ListViewItem(items));
}
}
Jedenfalls sollte dann in der listView der Name des Computers und dann seine
IP-Adressen drinnen stehen (Beispiel siehe Anhang).
Aber ich sehe leider nur bei meinem Lokalen PC (im Bsp.
mediacenterpc) mehrere
IP-Adressen.
Wieso ist das so? Wie genau ermitteld
System.Net.Dns.GetHostEntry() die
IP-Adressen?
Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian