Script bat pour lister services

Résolu/Fermé
robix62 Messages postés 975 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 mars 2016 - 11 août 2010 à 12:15
 Blooge - 12 sept. 2014 à 10:51
Bonjour,

je suis entrain de réaliser un script me permettant de lister les services sur un pc distant et pouvoir faire plusieurs actions sur ces services

je récupère les données via "sc \\ipduposte query"

dans l'idéal

je souhaiterai que le script se déroule de cette façon

qu'on me demande l'ip => ça c'est ok

ensuite que j'ai 5 choix,
lister les services
redémarrer un service => ça c'est ok
démarrer => ça c'est ok
arrêter => ça c'est ok
quitter => ça c'est ok

le problème étant pour lister les services, je souhaiterai n'avoir que le nom du service, le fichier exe correspondant au service et son état et optionnellement, pouvoir le sauvegarder dans un fichier texte

merci d'avance pour vos réponses



A voir également:

6 réponses

ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
Modifié par ghuysmans99 le 11/08/2010 à 14:59
net start te donnera la liste des services actifs ...
Google is your best friend
VB.NET is good ... VB6 is better !
1
robix62 Messages postés 975 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 mars 2016 61
11 août 2010 à 17:15
voilà le script, il n'est pas terminé

je n'arrive pas encore à reprendre seulement les données que je souhaite,c'est à dire le nom du service et son état

@color 1F
cls
@echo off
echo ---------------------------------------
echo Demarrer / arreter / redemarrer un service a distance
echo ---------------------------------------
echo .
echo .


set /p adresseip=Entrer l'adresse ip de l'ordinateur distant ?

:DEB

echo 1 - Recuperer les services demarres
echo 2 - Recuperer les services arretes
echo 3 - Redemarrer un service
echo 4 - Arreter un service
echo 5 - Demarrer un service
echo 6 - Quitter
Echo Votre choix ?
set /p choix=

IF %choix%==1 GOTO CHOIX1
IF %choix%==2 GOTO CHOIX2
IF %choix%==3 GOTO CHOIX3
IF %choix%==4 GOTO CHOIX4
IF %choix%==5 GOTO END

GOTO END

:CHOIX1
sc \\%adresseip% queryex > liste_des_services_en_cours_de_%adresseip%.txt
pause
notepad liste_des_services_en_cours_de_%adresseip%.txt
cls
GOTO DEB

:CHOIX2
sc \\%adresseip% queryex > liste_des_services_arretes_de_%adresseip%.txt
pause
notepad liste_des_services_arretes_de_%adresseip%.txt
cls
GOTO DEB

:CHOIX3
set /p service=service a redemarrer ?
sc \\%adresseip% stop %service%
pause
sc \\%adresseip% start %service%
pause
cls
GOTO DEB

:CHOIX4
set /p service=service a arreter ?
sc \\%adresseip% stop %service%
pause
cls
GOTO DEB

:CHOIX5
set /p service=service a demarrer ?
sc \\%adresseip% start %service%
pause
cls
GOTO DEB


:END



qu'est ce que vous en pensez ?
avez vous une réponse à mon probleme ?

merci d'avance
1
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
11 août 2010 à 22:32
Bonsoir,

j'ai pu avoir un peu de temps !

Pour lister les services actifs :

:CHOIX1
cls 
sc \\%adresseip% queryex > %tmp%\active.txt
for /f "tokens=1,* delims= " %%a in ('type "%tmp%\active.txt" ^|findstr /i /r "Service_NAME:"') do echo %%b >> act.txt
pause
notepad %tmp%\act.txt 
cls 
GOTO DEB 


Pour lister les services inactifs :

:CHOIX2 
sc \\%adresseip% queryex state= inactive > %tmp%\inactive.txt
for /f "tokens=1,* delims= " %%a in ('type "%tmp%\inactive.txt" ^|findstr /i /r "Service_NAME:"') do echo %%b >> %tmp%\inact.txt
pause
notepad %tmp%\inact.txt
cls 
GOTO DEB 


Cordialement.
1
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
11 août 2010 à 22:33
Ne pas oublier d'effacer les fichiers txt a chaque fois ^^
0
robix62 Messages postés 975 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 mars 2016 61
12 août 2010 à 09:59
waouw merci , ça a l'air de fonctionner pour certains services

il y a par exemple ocs que je ne peux pas arrêter

pourtant je reprend bien le nom de service mais je pense que l'espace lui pose problème
le service s'appel OCS INVENTORY

j'ai essayé de mettre un espace, un % entre les deux mais il me répond que le service n'est pas installé

As tu une solution pour cela ?

Merci d'avance
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
12 août 2010 à 10:02
De le mettre entre "OCS INVENTORY" peut être

Cordialement
0
robix62 Messages postés 975 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 mars 2016 61
12 août 2010 à 10:06
erf ne marche pas mais en tout cas, tu m'a enlevé une belle épine du pied.

je laisse le poste ouvert si jamais une autre personne aurait une autre idée.

Merci encore
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
12 août 2010 à 10:09
Le problème ne vient pas de l'espace, car pour moi

sc \\127.0.0.1 start "ipod service"

Marche bien.

Vérifies le nom qu'il porte directement dans les services
0
Bonjour,

Exactement, le même besoin que moi. je souhaiterai extraire sous Excel la liste des services et les comptes qui les lancent.
Merci d'avance
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
robix62 Messages postés 975 Date d'inscription mardi 29 mai 2007 Statut Membre Dernière intervention 15 mars 2016 61
11 août 2010 à 16:11
elle me donne bien les services actifs par contre si je souhaite agir sur un des services, il me faut le nom "court" qui est en .exe
0
nirG95 Messages postés 292 Date d'inscription lundi 21 avril 2008 Statut Membre Dernière intervention 15 décembre 2010 32
11 août 2010 à 17:44
Bonjour,

Si personne ne te répond pas d'ici demain je te donnerai un coup de main pour faire ton script, mais là c'est l'heure de partir du boulot :p

PS : juste avec le nom tu peux arreter/demarrer le service ex : sc \\127.0.0.1 start "ipod service"

A demain peut être.

Cordialement.
0
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
11 août 2010 à 19:58
Et c'est ce qu'il faut, donc plus besoin du nom de l'exécutable ...
0