Identificare i nomi dei PC nel dominio con C#
Cercando di trovare il modo per identificare i nomi dei PC connessi alla rete, mi sono imbattutto in uno script per identificare i nomi dei PC nel dominio.
Non è proprio il mio caso, in quanto identifica anche i vecchi PC non più funzionanti o PC non connessi.
Ma può comunque far comodo.
Prima di tutto dobbiamo aggiungere un reference in Visual Studio: System.DirectoryServices.
Quindi cliccate con il destro sul nomde del progetto, Add -> Reference e nella lista Assemblies cercate System.DirectoryServices.
Una volta aggiunto il reference, possiamo scrivere e lanciare il nostro codice C#:
namespace Test
{
class Program
{
static void Main(string[] args)
{
List<String> list = listDomainComputers();
foreach (String str in list)
{
Console.WriteLine(str);
}
}
public static List<String> listDomainComputers()
{
List<String> computerNames = new List<String>();
String computerSchema = "Computer";
DirectoryEntry winNTDirectoryEntries = new DirectoryEntry("WinNT:");
foreach (DirectoryEntry availDomains in winNTDirectoryEntries.Children)
{
foreach (DirectoryEntry pCNameEntry in availDomains.Children)
{
if (pCNameEntry.SchemaClassName.ToLower().Contains(computerSchema.ToLower()))
{
computerNames.Add(pCNameEntry.Name);
}
}
}
return computerNames;
}
}
}
Partendo da qui, e conoscendo la struttura del dominio, possiamo anche cercare in altri "posti".
Enjoy!
c# dominio directoryservices visual studio reference
Commentami!