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

krishou 60 Messages postés dimanche 9 janvier 2005Date d'inscription 21 août 2008 Dernière intervention - 3 avril 2006 à 14:09 - Dernière réponse : krishou 60 Messages postés dimanche 9 janvier 2005Date d'inscription 21 août 2008 Dernière intervention
- 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 

2 réponses

Répondre au sujet
krishou 60 Messages postés dimanche 9 janvier 2005Date d'inscription 21 août 2008 Dernière intervention - 3 avril 2006 à 16:24
+3
Utile
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....
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krishou
TheSaib 2369 Messages postés mardi 17 avril 2001Date d'inscription 26 décembre 2007 Dernière intervention - 3 avril 2006 à 14:43
0
Utile
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.