J'utilise cet extrait de code pour afficher une liste de tous les ordinateurs sur mon réseau (la langue est jscript.net, mais c'est juste une petite manipulation de C#).Liste des ordinateurs dans Active Directory qui sont en ligne
var parentEntry = new DirectoryEntry();
parentEntry.Path = "WinNT:";
for(var childEntry in parentEntry.Children) {
if(childEntry.SchemaClassName == "Domain") {
var parentDomain = new TreeNode(childEntry.Name);
this.treeView1.Nodes.Add(parentDomain);
var subChildEntry : DirectoryEntry;
var subParentEntry = new DirectoryEntry();
subParentEntry.Path = "WinNT://" + childEntry.Name;
for(subChildEntry in subParentEntry.Children) {
var newNode1 = new TreeNode(subChildEntry.Name);
if(subChildEntry.SchemaClassName == "Computer") {
parentDomain.Nodes.Add(newNode1);
}
}
}
}
J'ai 2 problèmes avec cela:
1) Il est extrêmement lent. Il y a environ 100 ordinateurs qui montrent, et il faut environ 1 minute pour charger.
2) Je veux obtenir seulement une liste d'ordinateurs qui sont actuellement en ligne. Cela peut être fait parce que j'ai vu d'autres programmes le faire et ils sont beaucoup plus rapides, aussi ils sont capables de montrer seulement ceux en ligne.
Ai-je raté quelque chose?
Pour "réseau", je veux dire mon domaine. –
Je pense qu'il veut dire: tout comme Windows Explorer. Il ne vous montre pas les emplacements réseau qui, si vous deviez essayer d'ouvrir et de lister des partages, renverrait l'erreur suivante: Le serveur RPC n'est pas disponible ... ce que je recherche également pour le moment ... – MaxOvrdrv