Script bat pour lister services

Résolu
robix62 Messages postés 975 Date d'inscription   Statut Membre Dernière intervention   -  
 Blooge -
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   Statut Contributeur Dernière intervention   340
 
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   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   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   Statut Membre Dernière intervention   32
 
Ne pas oublier d'effacer les fichiers txt a chaque fois ^^
0
robix62 Messages postés 975 Date d'inscription   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   32
 
De le mettre entre "OCS INVENTORY" peut être

Cordialement
0
robix62 Messages postés 975 Date d'inscription   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   32
 
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
Blooge
 
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   Statut Membre Dernière intervention   62
 
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   Statut Membre Dernière intervention   32
 
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   Statut Contributeur Dernière intervention   340
 
Et c'est ce qu'il faut, donc plus besoin du nom de l'exécutable ...
0