WMI : vérifier l'existance d'un répertoire [Résolu]

Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
21 août 2008
- - Dernière réponse : krishou
Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
21 août 2008
- 3 avril 2006 à 16:24
Voilà le bout de code que j'ai écrit afin de savoir si un répertoire existe sur la machine distante.
La connexion WMI fonctionne nickel. La requête par contre semble être éronnée.
Le message de l'exception est : "Demande non valide". Quelqu'un aurait une idée pour remédier à ce problème?

Merci d'avance

try{



ConnectionOptions CO =
new
ConnectionOptions();
CO.Username =
"administrateur";
CO.Password =
"********";

ManagementPath MP =
new
ManagementPath(
\\\\machine\\root\\cimv2);

ManagementScope MS =
new
ManagementScope(MP, CO);
MS.Connect();

ObjectQuery OQ =
new
ObjectQuery(
@"SELECT * FROM Win32_Directory where Caption like 'c:\temp'");

ManagementObjectSearcher MOS =
new
ManagementObjectSearcher(MS, OQ);

Console.WriteLine(MOS.Get().Count.ToString());

foreach (
ManagementObject MO
in MOS.Get()) {

Console.WriteLine(MO[
"Name"].ToString()); }



Console.ReadKey(
false);


}



catch (
Exception ext) {
Console.WriteLine(
"WMI Connection Failed"+ext.Message);
Console.ReadKey(
false); }
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Dernière intervention
21 août 2008
3
Merci
Le problème c'est que je récupère le path complet depuis un bdd.
Normalement, les propriétés Name et Caption des objets Directory devraient correspondre au path complet selon msnd. Après test, lorsque je fais un "where name like 'c:%'", il me sort bien tout les répertoires du disque C.... J'ai donc chercher un peu...

Le problème vient des "" qu'il faut doubler...

Merci quand même de ta réponse....

Merci krishou 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de krishou
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
0
Merci
Peut être que ceci marchera mieux.

WHERE drive='c:' and Name LIKE 'temp'

::|The S@ib|:: MVP C#.NET
Commenter la réponse de TheSaib

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.