Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
Execution distante d'une commande WMIC
Auteur Message
Répondre en citant
Message Execution distante d'une commande WMIC 
Bonjour,

je cherche depuis ce matin un moyen d'aller interroger à distance la stack WMI d'un serveur, et ensuite interpréter le résultat de cette commande.
L'exécution de la commande ne pose pas de problème, en revanche, impossible d'interprêter le resultat.
Mon but est de savoir si un disque est présent ou pas sur ma machine

Commande:
Code:
WMIC /node:"PRO-SVC01-20541" /user:"ORION\svc.sitescope" /password:"s!t&Sc0pe" Path Win32_LogicalDisk Where "name='U:'"


mon problème est que je ne parviens pas a mettre dans une variable le résultat de cette commande, j'avais initialement opter pour le errorlevel, mais malheureusement, impossible d'exécuter la commande, le
Citation:
| find "U:"
me génère systématiquement une erreur lors de l'exécution du code, et si je m'ne passe, le WQL lui me renvoie systématiquement 0 car la commande s'est correctement exécutée, que le disque soit présent ou non


Voici mon code:
Code:
for /f %%i in ('WMIC /node:"SERVER_NAME" /user:"USER" /password:"PWD" Path Win32_LogicalDisk Where "name='U:'"') do set result=%%i
call :traitement_Pol

:traitement_Pol
if "%result"=="No Instance(s) Available" echo "NOK"


Dans mon cas, malgré plusieurs tentatives et syntaxes différentes, soit ma variable ne prend aucune valeur, soit elle prend chaque comme valeur la commande passée....

J'ai eu beau lire de nombreux exemples sur le net, tenter comme je le disais plusieurs syntaxe, rien a faire Mad

Je pense que je dois faire un toute petite erreur de syntaxe, mais je ne vois pas laquelle. D'avance merci pour votre aide



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message Execution distante d'une commande WMIC 
salut,

Je ne sais pas si c'est l'origine de ton problème mais dans ton code tu executes 2 x ta condition if.
si tu fais un call mais un exit /b ou un goto:eof pour qu'il ne repasse pas sur ta vignette.

Code:

for /f %%i in ('WMIC /node:"SERVER_NAME" /user:"USER" /password:"PWD" Path Win32_LogicalDisk Where "name='U:'"') do set result=%%i
call :traitement_Pol
exit/b

:traitement_Pol
cls
echo RESULT = %result%
if "%result"=="No Instance(s) Available" echo "NOK"


Ensuite test la valeur de ton %%i ou %result% pour voir si ta commande wmic est OK.

Il faut d'abord tester ta commande WMIC toute seul dès que la syntaxe est OK tu peux l'intérpreter avec ton batch.

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message Execution distante d'une commande WMIC 
Hello

merci pour ta réponse.

Ma commande WMIC seule fonctionne parfaitement, et elle me renvoie bien les bons résultats une fois intégrées au .bat, mais je ne parviens toujours pas a assigné la valeur de l'output à une variable pour en faire une comparaison par la suite.

J'ai testé ton code, le résultat est le même, la variable result est toujours vide:

Citation:
C:\Users\Administrator>for /F %i in ('WMIC /node:"TRUC" /user:"TRUC" /password:"TRUC" Path Win32_LogicalDisk Where "name='U:'"') do set result=%i
No Instance(s) Available.

:\Users\Administrator>set result=

:\Users\Administrator>set result=

C:\Users\Administrator>call :traitement_Pol

C:\Users\Administrator>REM cls

C:\Users\Administrator>echo RESULT =
RESULT =

C:\Users\Administrator>if "result" == "No Instance(s) Available" echo "NOK"




Répondre en citant
Message Execution distante d'une commande WMIC 
Hello !

doit y avoir a faire des trucs sur l'option token et delims, mais avant tout, ce sera sympa de donner une sortie "typique" de WMIC pour qu'on puisse ajouter :-P

Essaie ça pour voir si ça marche :
Code:

for /f "tokens=*" %%i in ('WMIC /node:"SERVER_NAME" /user:"USER" /password:"PWD" Path Win32_LogicalDisk Where "name='U:'"') do set result=%%i
call :traitement_Pol
exit/b

:traitement_Pol
cls
echo RESULT = %result%
if "%result"=="No Instance(s) Available" echo "NOK"


@+




______________________________________________________
--
> Que pensez vous de l'ajout du repertoire point dans $PATH ?
Ma version de troll 18.0.32 beta 3 vient de me faire un core dump.
-+- SE in Guide du Linuxien Pervers : Bien développer son troll -+-

[Dos9]
Visiter le site web du posteur Skype
Message Execution distante d'une commande WMIC 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch