IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

[batch] reboot de tous les postes d'un réseaux


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut [batch] reboot de tous les postes d'un réseaux
    Salut @ll

    Je suis en train de faire un batch qui reboote tous les postes d'un réseau dont le nom est de la forme AP254001, AP254002, AP254003,.... sous Windows NT4

    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
    @ECHO OFF
    CLS
    
    SET const=AP254
    
    FOR /l %%a IN (0,1,3) DO (
    FOR /l %%b IN (0,1,9) DO (
    FOR /l %%c IN (0,1,9) DO (
    
    ECHO "PING du poste %const%%%a%%b%%c"
    PING %const%%%a%%b%%c
    IF "%ERRORLEVEL%"=="0" GOTO PINGOK
    GOTO NORESEAU
    
    :PINGOK
    rem Si le nom du poste se trouve dans le fichier Noreboot.txt on le reboote pas
    FIND %const%%%a%%b%%c "Noreboot.txt"
    IF "%ERRORLEVEL%"=="1" GOTO REBOOT
    GOTO FIN
    
    :REBOOT
    ECHO "reboot du poste %const%%%a%%b%%c"
    shutdown \\%const%%%a%%b%%c /R /Y /C
    GOTO FIN
    
    :NORESEAU
    ECHO "Le poste n'est pas sur le reseau"
    GOTO FIN
    
    :FIN
    
    )
    )
    )
    Une erreur s'est glissé dans mon batch mais je la trouve pas

    Erreur de syntaxe incorrecte
    Si vous trouver dites le moi.

    Si vous voyez aussi un moyen d'optimiser mon code n'hésitez pas.

    Merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Teste en remplaçant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FOR /l %%a IN (0,1,3) DO ( 
    FOR /l %%b IN (0,1,9) DO ( 
    FOR /l %%c IN (0,1,9) DO (
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /l %%a IN (0,1,3) DO ( FOR /l %%b IN (0,1,9) DO ( FOR /l %%c IN (0,1,9) DO (


    Je te conseille d'utiliser PowerBatchpour mettre au point tes batchs : il a un assistant exécution pas à pas qui permet de visualiser où le Batch "plante" si besoin.

  3. #3
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    essaie comme ceci :
    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
    @ECHO OFF 
    CLS 
    
    SET const=AP254
    
    FOR /l %%a IN (0,1,3) DO FOR /l %%b IN (0,1,9) DO FOR /l %%c IN (0,1,9) DO Call :Reboot %%a %%b %%c
    Goto :eof
    
    :Reboot
    ECHO "PING du poste %const%%1%2%3" 
    PING %const%%1%%2%3
    IF "%ERRORLEVEL%"=="0" GOTO PINGOK 
    GOTO NORESEAU 
    
    :PINGOK 
    rem Si le nom du poste se trouve dans le fichier Noreboot.txt on le reboote pas 
    FIND %const%%1%%2%3 "Noreboot.txt" 
    IF "%ERRORLEVEL%"=="1" GOTO REBOOT 
    GOTO FIN 
    
    :REBOOT 
    ECHO "reboot du poste %const%%%a%%b%%c" 
    shutdown \\%const%%1%%2%3 /R /Y /C 
    GOTO FIN 
    
    :NORESEAU 
    ECHO "Le poste n'est pas sur le reseau" 
    GOTO FIN 
    
    :FIN 
    Goto :eof
    Dans ton contexte tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    IF ERRORLEVEL 0 GOTO PINGOK

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Merci de votre aide.

    J'essaye ça demain et vous tiens au courant!!!

    Juste une petite question

    Pourquoi tu mets ceci?

  5. #5
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Le 1er termine le batch principale

    Le second termine le "sous programme" :Reboot
    Syntaxe pour W2k et XP seulement.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Donc dans mon cas je n'ai pas besoin de le mettre vu que je suis sous NT4

  7. #7
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    vérifie si cela fonctionne mais je ne pense pas.
    Dans ce cas tu dois utiliser 2 batch.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    J'ai essayé sans et cela fonctionne parfaitement.

    Merchi de votre aide

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Il faut que je mette

    Sinon mes boucles faisait un tour de trop:

    AP254000
    AP254001
    ...
    AP254399
    AP254

    Maintenant cela s'arrête bien à AP254399

    :p

  10. #10
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Je t'ai laissé le découvrir
    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Déploiement] Pourquoi mon application ne fonctionne pas sur tous les postes ?
    Par Willthelegend dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 08/09/2008, 20h34
  2. Réponses: 6
    Dernier message: 14/05/2008, 16h46
  3. lancer une application sur tous les postes
    Par Moine dans le forum Développement
    Réponses: 0
    Dernier message: 21/11/2007, 18h25
  4. Paramétrage pour tous les postes d'un réseau
    Par Slyders dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 06/07/2007, 16h11
  5. tous les posts de LAN en la meme IP!
    Par omari dans le forum Développement
    Réponses: 3
    Dernier message: 09/06/2004, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo