Récupération d'infos sur un pc distant

Soyez le premier à donner votre avis sur cette source.

Vue 22 039 fois - Téléchargée 2 448 fois

Description

Récupère plein d'infos (version d'os, interfaces réseaux, ...) sur une machine distante en donnant juste un nom de machine, un login d'un compte administrateur et son password.
Pour une machine locale, c'est encore plus simple, le compte courant est utilisé.

ATTENTION : ce code utilise du WMI, et certaines classes n'existes pas sur certaines machines

Conclusion :


S'il y a un bug du style InvalidCastException dans l'une des fonctions, c'est que le pc ne possède pas la classe WMI utilisée. On peut tester sa présence avec wbemtest.exe dans l'invite de commande

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_pietou
Messages postés
16
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
6 mai 2008
-
Bien, bien...
Mais avec un petit exemple d'utilisation ce serait très chouette aussi. :-D ça empêche de devoir tout lire et de refaire ce que tu as sans doute déjà fait.
t_barbillon
Messages postés
341
Date d'inscription
mercredi 8 juin 2005
Statut
Membre
Dernière intervention
10 février 2009
1 -
Salut, c'est pas idiot, mais en même temps tu n'es pas obligé de tout lire, puisque les méthodes sont relativement "parlantes" et un peu expliquées/commentées
madebyhisto
Messages postés
27
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
11 mai 2011
2 -
Ajouter une interface générique pour accéder à des pc distants, pour présenter un projet il me semble que c'est la moindre des choses. Comme cela ça prouve que les méthodes ont été tester et valider...
kichou86
Messages postés
16
Date d'inscription
vendredi 30 janvier 2009
Statut
Membre
Dernière intervention
16 février 2011
-
Bonjour,
Vous saurez comment on pourrait faire avec du WMI pour récupérer les machines d'un réseau. On connecte au domaine et on récupéré toutes les machines dessus pour pouvoir faire des actions dessus. Merci d'avance.
cs_pietou
Messages postés
16
Date d'inscription
mardi 11 mai 2004
Statut
Membre
Dernière intervention
6 mai 2008
-
Hello Kichou86, ceci devrait t'aider :

private System.Collections.ArrayList listComputer()
{
System.Collections.ArrayList PCList = new System.Collections.ArrayList();
DirectoryEntry entry = null;
DirectorySearcher mySearcher = new DirectorySearcher(entry);
TimeSpan waitTime = new TimeSpan(0, 0, 60);
mySearcher.ClientTimeout = waitTime;
string strCat = "(objectCategory=" + "computer" + ")"; //desired object category like "user","computer",...
mySearcher.Filter = strCat;

string strName;
try
{
foreach (SearchResult result in mySearcher.FindAll())
{
strName = result.GetDirectoryEntry().Name; // strName contains "CN=PCName"
strName = strName.Remove(0, 3); //delete "CN=" => strName contains "PCName"
PCList.Add(strName);
}
}
catch (Exception Ex)
{
MessageBox.Show("Error = " + Ex.Message + Ex.InnerException, "Error");
}
return PCList;
}

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.