WMI : vérifier l'existance d'un répertoire

Résolu
Signaler
Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
21 août 2008
-
Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
21 août 2008
-
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); }

2 réponses

Messages postés
60
Date d'inscription
dimanche 9 janvier 2005
Statut
Membre
Dernière intervention
21 août 2008
1
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....
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
23
Peut être que ceci marchera mieux.

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

::|The S@ib|:: MVP C#.NET