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 :

Script Installation logiciel que sur postes et non serveurs


Sujet :

Scripts/Batch

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut Script Installation logiciel que sur postes et non serveurs
    Bonjour,

    j'ai un script qui installe VNC et je veux qu'il ne s'installe que sur les postes users et qu'il ne puisse absolument pas s'installer sur des serveurs.
    Il s'agit d'un script d'ouverture de session pour tous les users

    le script :

    start \\serveur\netlogon\appli.exe

    Comment faire pour : " exécuter ce script sauf sur les serveurs ou machines suivants : srv1, srv 2 etc ...)" en batch ?

    Merci beaucoup de votre aide

    PS : poste XP, niveau débutant pour script

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    La solution "propre" c'est de déployer ton script via GPO et d'appliquer ton script uniquement sur l'OU contenant les PC, comme ca ton logiciel s'installera uniquement sur les PC et pas les serveurs.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    Bonsoir,

    Je n'ai malheureusement pas réussi à mettre en place la GPO. C'est pour cela que je suis ici. Suite à de nombreux test, consultation sur Internet , livres, conseil, j'ai obtenu aucun résultat. J'ai surement fais des erreurs mais sachant que le temps me manque je dois mettre en place cette solution maintenant et ensuite continuer sur la GPO.

    Merci de votre aide

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Je n'ai malheureusement pas réussi à mettre en place la GPO.
    Eh bien ca ne devrait pas etre bien compliqué pourtant. Tu as bien un domaine sur ton réseau? Eh bien il faut aller sur le controleur de domaine, lancer l'éditeur de gpo et en créer une nouvelle avec un script de démarrage.

    Je ne vois pas pourquoi ca ne marcherait pas, et de toute facon ce sera plus rapide que de trouver une espece d'astuce bizarre pour executer ton script sur certains PC.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    OK

    J'ai un domaine avec l'AD + dns intégré sous Win serv 2003.
    J'ai crée une OU avec dedans deux ordinateur du domaine sous XP pour tester.
    Via la console GPO, je veux appliquer un script.bat de démarrage qui installe un logiciel ( un fichier .exe autoextractible via winrar).

    Ce script est valide et approuvé( en double cliquant à partir d'un bureau le logiciel s'installe en mode silencieux).
    Il se trouve dans dans le répertoire paratagé \\serveur\netlogon sur le même serveur.
    Quand je fais parcourir pour indiquer le script via la console GPO c'est écrit de cette facon : mondomaine.fr\netlogon\script.bat.
    J'ai même essayé de mettre le script.bat dans le répertoire par defaut pour les script de la GPO.
    J'ai appliqué à ce groupe une stratégie, elle est activé et appliqué.

    Actualisation aussi via les commandes : gpupdate /force sur les pcs
    Aucun sécurité de filtrage
    Aucune autre stratégie est activé.

    Dans configuration ordinateur/ administration j'ai essayé :
    - activé le paramètre : configuration ordinateur/modèles d'administration/système/ouverture de session/Toujours attendre le réseau lors du démarrage de l'ordinateur et de l'ouverture de session

    - Dans stratégie de groupe j'ai activé l'intervalle d'actualisation pour les ordniateurs toutes les 7 secondes ( si on met 0 au lieu des minutes), j'ai essayé aussi 1 minute. Par defaut c'est 90 minutes il me semble.

    j'ai attendu le lendemain pour voir si cela marchait.

    J'ai redémarré les ordinateurs tests à chaque modif et aucun résultat, le script n'est pas pris en compte. j'ai testé le script dans script ouverture de session sur moi pour les users dans l'AD et cela marche parfaitement. Mais ce n'est pas ca que je veux. ( + lecteur de doc, consultation site internet, forum)

    Bref je ne sais plus quoi faire d'autre
    Si vous avez des idées.
    Merci de votre aide.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    Suite à mon message ci dessus.

    Sachant que je suis sur le forum de script batch, si vous savez comment faire pour :

    exécuter ce programme : start /wait \\serveur\netlogon\appli.exe
    sur tous les postes sauf les machines suivantes : @ip ou nom de serveur.

    je ne sais pas une boucle do while peut etre

    do start /wait \\seveur\netlogon // l'appli est installé
    tant que @ip différent de -@IP1
    - @IP2
    - etc ...
    je n'ai que 5 serveurs à interdire

    Merci de votre aide

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Si je comprends bien ton script fonctionne en ouverture de session mais pas en démarrage?

    est ce que tu as un message dans l'event viewer qui pourrait donner un indice? du genre une erreur lors de l'execution du script de démarrage. Est ce que par hasard ton executable requiert une réponse de la part l'utilisateur, genre appuyer sur OK ou quelque chose comme ca? Et dernière question, c'est quoi exactement le logiciel que tu installes - pour savoir s'il existe un fichier msi qui pourrait l'installer?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    "Si je comprends bien ton script fonctionne en ouverture de session mais pas en démarrage?"

    ==> Oui, j'ai testé le script batch en tant que script d'ouverture de sessions (clic doit sur user, profile dans l'AD) donc pas en GPO et ca marche.
    En GPO rien ne se passe ( surement un paramétrage que j'ai oublié de faire )

    "est ce que tu as un message dans l'event viewer qui pourrait donner un indice? du genre une erreur lors de l'execution du script de démarrage. "

    ==> Si tu veux dire le résultat de stratégie de groupe, via l'assistant j'ai indiqué le pc qui était concerné et je vois à droite dans refus GPO résumé :
    nom : { série de chiffre qui concerné mon "OU" Ultravnc crée
    emplacement : mondomaine.fr/Ultravnc
    raison du refus : inaccessible.
    Dans l'onglet paramètre, rien n'est indiqué dans configuration ordinateur.

    "Est ce que par hasard ton executable requiert une réponse de la part l'utilisateur, genre appuyer sur OK ou quelque chose comme ca? "

    ==> Non il s'installe en mode automatique et silencieux, Aucune interaction n'eest necessaire

    "Et dernière question, c'est quoi exactement le logiciel que tu installes - pour savoir s'il existe un fichier msi qui pourrait l'installer? "

    ==> ultravnc

    merci de votre aide

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    tu peux essayer en vbscript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim shell as new wscript.shell
    
    strComputerName = shell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
    
    if strcomputername <> "monserveur1" and strcomputername <> "monserveur2" then 
    shell.run( "\\dossier\vnc.exe")
    end if
    Vérifie quand meme avant les droits sur ton dossier de partage, que ce soit biern "tout le monde" en lecture et execution au moins.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    Si je comprends bien le script,

    il exécute le programme si les pc "monserveur1" sont concernés ( en fait c'est machine(poste user) qu'il faudrait mettre ici ce qui serait long à écrire soit 200 postes).Ne serait il pas possible de dire plutot le contraire, si les "monserveur1" and "monserveur2" ne sont pas concernés alors exécuter le programme. Je pense que ce serait comme ca peut etre.

    j'explique le probleme, précisément, c'est que comme on abandonne pour linstant la GPO, je vais faire executer le script batch qui éxécute le pg via le script d'ouverture de sessions utilisateur de l'AD.
    Des qu'un user se loggue, le script s'éxécute ( testé et approuvé).
    Mais admettons que le user se loggue sur un serveur avec son compte cela veut dire que le script va aussi s'éxécuter sur le serveur. ( à priori)
    Or c'est hors de question.
    Donc la condition serait : le script s'exécute sauf sur les serveurs cité 'monserveur1" and "monserveur1" etc ...

    merci beaucoup de votre aide

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    Je propose une autre idée qui va un peu simplifier les choses.

    Si l'Os de la machine est xp on exécute le script
    sinon non

    car les serveurs sont sur du windows 2003 server.

  12. #12
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par monsieur77 Voir le message
    Je propose une autre idée qui va un peu simplifier les choses.

    Si l'Os de la machine est xp on exécute le script
    sinon non

    car les serveurs sont sur du windows 2003 server.
    tu peux donc voir du côté de la commande ver /? pour XP c'est la version 5.1.2600

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    Bonjour,

    je ne suis pas bon du tout en programmation mais comment faire en batch

    if le résultat de la commande ver donne xp then
    start \\netlogon\script.bat

    je vais tester :

    if ver | find /i "version 5.1"
    then start script.bat
    mais pas sur que ca marche

    Merci de votre aide

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    à priori j'ai testé avec ca et ca marche :

    @echo off

    ver | find /i "version 5.1." > nul
    if %errorlevel%==0 goto winxp

    :winxp
    start script.bat
    goto end

    " texte ci dessous copié d'un site "
    Aussi étonnant que cela puisse paraître il n’existe pas de variable d’environnement permettant de récupérer cette information sur la version ! Seule la variable %OS% est définie mais ne permet pas différencier les différents OS bâtis sur les noyaux NT (tels que 2003, 2000, XP), de plus elle n’est pas présente sur tous les OS Microsoft.

    Merci de votre aide à tous

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    dernière question :

    cela veut dire qu'à chaque fois que les users se loggue le logiciel va s'installer. ( vu qu'il s'agit d'un script d'ouverture de session)

    ==> Avez une idée sur le fait que si le logiciel est deja installé le script ne doit pas le rè-installer


    merci

  16. #16
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    salut,

    une des solution:

    c'est de tester l'existence du dossier parent de ton application

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    @echo off
    rem sil le dossier existe on fait un BREAK
    if exist "dossier_parent_ton_application\" (goto:eof)
    
    suite d'instructions

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    suite à votre idée je propose un leger changement :
    si le dossier parent n'existe pas alors on exécute le programme

    Pouvez vous me dire si c'est correct,
    je ne pense pas.

    ---------------------------------

    @echo off

    rem sil le dossier n'existe alors on exécute le pg
    if not exist "C:\Program Files\Logiciel" goto:executer

    :executer
    ver | find /i "version 5.1." > nul
    if %errorlevel%==0 goto winxp

    :winxp
    start script.bat
    goto end
    ------------------------------------


    Merci

  18. #18
    Membre chevronné
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Points : 1 991
    Points
    1 991
    Par défaut
    Citation Envoyé par monsieur77 Voir le message
    suite à votre idée je propose un leger changement :
    si le dossier parent n'existe pas alors on exécute le programme

    Pouvez vous me dire si c'est correct,
    je ne pense pas.

    ---------------------------------

    @echo off

    rem sil le dossier n'existe alors on exécute le pg
    if not exist "C:\Program Files\Logiciel" goto:executer

    :executer
    ver | find /i "version 5.1." > nul
    if %errorlevel%==0 goto winxp

    :winxp
    start script.bat
    goto end
    ------------------------------------


    Merci
    untested.bat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    
    rem sil le dossier n'existe alors on exécute le pg
    if not exist "C:\Program Files\Logiciel\" (
    ver | find /i "version 5.1." > nul && start script.bat
    )

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    ça c'est de l'optimisation ^^
    cependant, dans votre script, je ne vois pas quand est ce qu'on fait le test
    si c'est un XP ou pas car avant on faisait :

    -------------------------------
    ver | find /i "version 5.1." > nul
    if %errorlevel%==0 goto winxp // si le code retour est 0 donc ok alors on va dans :winxp

    :winxp
    start script.bat
    goto end
    --------------------------------

    Je vais tester votre untested.bat et reviens indiquer le résultat.

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 106
    Points : 48
    Points
    48
    Par défaut
    j'ai testé.
    Quand je me loggue sur mon poste XP le logiciel s'installe
    et via le bureau à distance quand je me connecte sur un serveur 2003 avec mon compte le logiciel ne s'installe pas. à priori cela fonctionne comme voulu.

    Mais je ne vois toujours pas comment cette condition est vérifiée, j'aimerais comprendre :

    if %errorlevel%==0 goto winxp // si le code retour est 0 donc ok alors on va dans :winxp

    dans ca :
    if not exist "C:\Program Files\Logiciel\" (
    ver | find /i "version 5.1." > nul && start script.bat
    )

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Logiciel basé sur un jeu non informatique
    Par S-SaS dans le forum Licences
    Réponses: 1
    Dernier message: 09/03/2010, 09h34
  2. comment installer logiciel libre sur un serveur d'application sous Linux (Débian)
    Par meriem_inf dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 01/09/2009, 12h56
  3. problème d'instalation logiciel scite sur vista
    Par fredo25 dans le forum Windows Vista
    Réponses: 3
    Dernier message: 12/05/2008, 20h30
  4. Install logiciel OK sur un WinXP, impossible sur l'autre
    Par django29 dans le forum Windows XP
    Réponses: 6
    Dernier message: 20/03/2008, 09h11
  5. comment installer le bde sur poste client
    Par pierrot67 dans le forum Bases de données
    Réponses: 1
    Dernier message: 17/05/2007, 14h57

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