Bonjour à tous,

J ai un problème avec mon programe
Il doit lister un fichier dans lequel il y a le nom des serveurs puis les services à contrôler

ex
serveur1,service1,service2,service3
serveur2,service1,service2,service3
serveur3,service1,service2,service3

Quand je l'exécute , alors que les services du serveur2 sont arrêtés il me dit qu'il sont tous actifs

Merci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/usr/bin/perl
use Win32::Service;
 
$ficsrv='C:\scripts\expmat\services.txt'; 
 
 
# Controle services ##########################################################
##############################################################################
#sub SERVICES {
### charge le fichier source
open( FIC1,$ficsrv) or die "fichier $ficsrv introuvable";
chomp(@listgbl1=<FIC1>);  # @listgbl1=list globale
close(FIC1);
 
$nbrsvr1=@listgbl1;  #Nombre de serveur à traiter
 
for ($a=0;$a<$nbrsvr1;$a++)
     {
      @list1 = split("," , $listgbl1[$a]);
      $nbrprc1=@list1;    #Nombre de services à traiter
      $serv1=$list1[0];   # Nom du serveur
 
 
print "\n $serv1 \n"; 
 
    for ($b=1;$b<$nbrprc1;$b++)
     {
      $proc1=$list1[$b];   # Nom du process
 
      #Récupération du status du service
      Win32::Service::GetStatus("\\\\".$serv1,$proc1,\%status); 
 
	   	$value=$status{CurrentState};
 
 
      if ($value == 4) {print($proc1 ," service actif \n ");}
      if ($value != 4) {print("Probleme sur le service  ","$proc1 \n" );}
    }
    }
#}