Hallo Community,
Ich wüde gern ein kleines Tool erstellen,
welches mir verschiedene Auswertungen von meinem Privaten Netzwerk liefert.
Ins Programm soll implementiert werden :
Welche PCs sind Online ?
Ausgabe : PC von ... Online
So jetzt, wie gehe ich vor ?
Ich muss ja irgendwie testen, ob der Rechner "Online" ist - dachte an einen Ping ?
Dann muss ich den User Namen auslesen, in VB war mal was mit getusername - ist das in c# auch möglich ?
Soweit erstmal, bin für jeden Tipp/Link dankbar.
Grüße
hardy
Hallo,
Achtung! - Hinter dir ist ein dreiköpfiger Affe!
Angemeldete Benutzer erhälst Du über API Call NetWkstaUserEnum (netapi32).
Grüsse
Ich habe mich erstmal darauf konzentriert, meine Lokalen Informationen zu bekommen
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Web;
using System.Diagnostics;
using System.Resources;
namespace Netzwerk_Tool
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string userName = System.Environment.UserName;
string machineName = System.Environment.MachineName;
private string MyIP
{
get
{
return System.Net.Dns.GetHostByName(
System.Net.Dns.GetHostName()).AddressList[0].ToString();
}
Klappt soweit auch, wie gehe ich nun aber weiter voran, das er mir das Netzwerk nach PC durchsucht und mir diese Auflistet ?
grüße,
hardy
using System.DirectoryServices;
...
DirectoryEntry root = new DirectoryEntry("WinNT://");
root.Children.SchemaFilter.Add("Domain");
foreach (DirectoryEntry domain in root.Children)
{
Console.WriteLine(domain.Name.ToUpper());
domain.Children.SchemaFilter.Add("Computer");
foreach (DirectoryEntry host in domain.Children)
Console.WriteLine("* " + host.Name);
Console.WriteLine();
}
Ist nicht getestet, sollte aber so hinhauen.
Voraussetzung ist ein Verzeichnisdienstanbieter (z. B. PDC) im Netz - ggf. das Protokoll ändern (z. B. LDAP://).
Grüsse