Je suis en train de créée un petit script pour tester l'existance ou non d'un process sur des serveurs distant. j'utilise la commande tasklist, qui fonctionne très bien. une fois la commande executé, je recupère la reponse et la formate pour afficher un message simple (genre test service toto sur server srv1 : OK ou KO) sauf que quand tasklist ne trouve pas le dis service, il m'affiche toute une ligne a la con : Information : aucune tâche en service ne correspond aux critères spécifiés.
J'aimerais donc que cette ligne ne s'affiche pas au cas ou le tasklist ne trouve rien, afin de bien afficher mon KO car la du coup , j'ai ce message a la con, et mon message formaté ne sort pas, du coup on sait pas sur quel serveur le process n'est pas la.
Voici mon script pour l'instant (le fichier serveur.txt contient la liste des serveurs a tester)
Code :
@echo off
::Verification Process
:: Variables
set login=admin
set passwd=admin
echo Test des services Cognos
::Serveur xxx
for /f "tokens=1" %%i in (./serveur.txt) do (
for /f "tokens=2" %%t in ('tasklist /s %%i /u %login% /p %passwd% /FI "IMAGENAME eq cog*" /NH') do ( call :affich %%i %%t )
)
pause
goto FIN
::proc d'affichage
:affich
set res=
set parm=%2
ifdefined parm set res=OK
if not defined parm set res=KO
echo Test de Cognos sur %1 : %res%
goto:EOF
:FIN
Dans le cas ou tout est la, j'ai ceci comme réponse :
Code :
Test de Cognos sur serveur1 : OK
Test de Cognos sur serveur2 : OK
Test de Cognos sur serveur3 : OK
Appuyez sur une touche pour continuer...
mais si pour tester je change le filtre en metant tot* a la place de cog*, voici ce que j'ai :
Code :
Information : aucune tâche en service ne correspond aux critères spécifiés.
Information : aucune tâche en service ne correspond aux critères spécifiés.
Information : aucune tâche en service ne correspond aux critères spécifiés.
Appuyez sur une touche pour continuer...
J'aimerais a la place avoir comme mon message OK, mais avec le KO a la place.
Marsh Posté le 10-03-2011 à 13:42:41
Bonjour a tous
Je suis en train de créée un petit script pour tester l'existance ou non d'un process sur des serveurs distant.
j'utilise la commande tasklist, qui fonctionne très bien.
une fois la commande executé, je recupère la reponse et la formate pour afficher un message simple (genre test service toto sur server srv1 : OK ou KO)
sauf que quand tasklist ne trouve pas le dis service, il m'affiche toute une ligne a la con : Information : aucune tâche en service ne correspond aux critères spécifiés.
J'aimerais donc que cette ligne ne s'affiche pas au cas ou le tasklist ne trouve rien, afin de bien afficher mon KO
car la du coup , j'ai ce message a la con, et mon message formaté ne sort pas, du coup on sait pas sur quel serveur le process n'est pas la.
Voici mon script pour l'instant (le fichier serveur.txt contient la liste des serveurs a tester)
Dans le cas ou tout est la, j'ai ceci comme réponse :
mais si pour tester je change le filtre en metant tot* a la place de cog*, voici ce que j'ai :
J'aimerais a la place avoir comme mon message OK, mais avec le KO a la place.
J'espère avoir été asser claire.
Merci de votre aide.
---------------
Serveur HFR - OpenTTD