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

VBScript Discussion :

VB Script - Reprise après redémarrage et Commande del dans Shell.run


Sujet :

VBScript

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut VB Script - Reprise après redémarrage et Commande del dans Shell.run
    Bonjour à tous,

    Je suis en train de migrer mes clients antivéroles mais j'aimerai le faire automatiquement par GPO. Avant de le mettre sur l'AD, j'aimerai résoudre les quelques pépins que j'ai avec.

    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
     
    dim Fso, Shell
    set Fso = CreateObject("Scripting.FileSystemObject")
    Set Shell = WScript.CreateObject("WScript.Shell")
     
    if (Fso.FolderExists("C:\Documents and Settings\All Users\Application Data\Symantec\Symantec AntiVirus Corporate Edition")) = True then
    	'Rien
    elseif (Fso.FolderExists("C:\Documents and Settings\All Users\Application Data\Symantec\Norton AntiVirus Corporate Edition\7.5\Logs")) = False then
    	Shell.run "net use X: \\monserveur\VPHOME password /user:utilisateur"
    	Shell.run "X:\CLT-INST\WIN32\Symantec_AntiVirus.msi /passive RUNLIVEUPDATE=0 EBOOT=REALLYSUPPRESS"
     
    else Shell.RegWrite "HKLM\SOFTWARE\Intel\LANDesk\VirusProtect6\CurrentVersion\AdministratorOnly\Security\LockUnloadServices", "0", "REG_DWORD"
    	Shell.RegWrite "HKLM\SOFTWARE\Intel\LANDesk\VirusProtect6\CurrentVersion\AdministratorOnly\Security\UseVPUninstallPassword", "0", "REG_DWORD"
    	Shell.run "MsiExec.exe /x {0EFC6259-3AD8-4CD2-BC57-D4937AF5CC0E} REMOVE=ALL /qn"
    	Shell.run "del C:\Program Files\Symantec\LiveUpdate /F /S /Q"
    	Shell.run "del C:\Documents and Settings\All Users\Application Data\Symantec /F /S /Q"
    	Shell.run "del C:\Program Files\Symantec_Client_Security /F /S /Q"
     
    end if
    Mes deux problèmes sont:

    - Est il possible de reprendre le script vbs après le redémarrage imposé par la désinstallation du client version 8 pour que le nouveau client s'installe, sans faire créer d'entrée dans le RunOnce ?

    - Y'a-t'il une syntaxe particulière pour que ma commande Shell.run "del... fonctionne. La commande del ne trouve pas le chemin telle quelle dans le vbs, en shell windows, il faut rajouter des "" pour qu' elle fonctionne correctement.
    del "C:\Program Files\Symantec_Client_Security" /F /S /Q par exemple
    Si ce n'est pas un problème de syntaxe, il faut que je déclare les 3 path ?

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Pour le premier point tu peux ajouter grâce au gpo un script au démarrage d'une session.

    Pour le deuxième point, le " est le caractère d'échappement en vbs, ce qui donne par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.run "del ""C:\Documents and Settings\All Users\Application Data\Symantec"" /F /S /Q"
    Ainsi la commande sera équivalente celle que tu taperais dans le cmd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    del "C:\Documents and Settings\All Users\Application Data\Symantec" /F /S /Q
    Sachant que ce qui suit, dans une console msdos, ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    del C:\Documents and Settings\All Users\Application Data\Symantec /F /S /Q
    En effet cela tente de te supprimer :

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Tout d'abord merci de ta réponse ced600

    Pour la GPO, j'avais vu juste mais je voulais surtout savoir si un script vbs pouvait être repris après un reboot ou pas, apparement pas.

    Pour l'histoire des "", j'ai un message d'erreur me disant : Le fichier spécifié est introuvable malgré la correction que tu as apporté à ma commande Shell.run
    Le répertoire est bien présent.

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    1) bah en fait tu peux à différentes étapes de ton script ecrire dans un fichier que tu as réalisé l'étape 1, 2, 3, ...
    Et au démarrage de ton script, tu regardes le fichier, et selon la dernière étape que tu as fait, à l'aide de if, de select case ou autre, tu démarre ton script qu'à tel ou tel endroit.

    2) il faut apporter la correction sur tous les run, je n'en ai fait qu'un seul à titre d'exemple

    3) Essaye la commande dans une console cmd, c'est peut être une erreur sur la commande elle même.
    Tu peux aussi essayer de rajouter "cmd \k (ou \c)" avant le del pour spécifier que tu lances une console dos avec en argument ta commande del.
    \k -> la console reste visible après execution de la commande.
    \c -> la console disparait ...

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Oui, j'avais compris pour la correction sur tous les run mais cela ne fonctionne pas quand même.
    J'ai testé ma commande dans un shell et elle fonctionne comme il faut. D'ailleurs, j'ai changé pour rmdir qui efface correctement tout.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Shell.run "rmdir ""C:\Program Files\Symantec\LiveUpdate"" /S /Q"
    Shell.run "rmdir ""C:\Documents and Settings\All Users\Application Data\Symantec"" /S /Q"
    J'ai testé avec un cmd \k pour avoir une erreur mais ça marche toujours, même message d'erreur.

    Sinon je pensais qu'il était possible de feinter les commandes en déclarant mes chemins dans une variable mais je sais pas trop comment faire :S

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    bonjour tu nous montre pas ta ligne de commande avec cmd ..

    cmd est obligatoire avec les commandes "DOS" .. dir, del, rmDir... pour lesquelles il n'y as pas de fichier .exe ou .com..


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell.run "cmd /K rmdir ""C:\Program Files\Symantec\LiveUpdate"" /S /Q"

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Effectivement, ça marche mieux avec cmd /K
    avec le \K, ça ne lançait que la fenêtre de shell

    Merci

  8. #8
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Effectivement, ça marche mieux avec cmd /K
    avec le \K, ça ne lançait que la fenêtre de shell

    Merci
    Oups désolé, j'ai été trop rapide, je me suis trompé de sens

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    No problemo, ça peut arriver

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

Discussions similaires

  1. Relancer un script php après le redémarrage de xampp
    Par ampholyte dans le forum Apache
    Réponses: 2
    Dernier message: 26/09/2012, 14h23
  2. Execution d'une commande telnet dans un script sh
    Par Nospher dans le forum Linux
    Réponses: 17
    Dernier message: 23/08/2011, 15h30
  3. Commande DEL dans la fonction Shell
    Par Safaritn dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/01/2008, 23h48
  4. [Directives] Execution script php en ligne de commande
    Par pingoo78 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 16/02/2006, 12h06
  5. lancer un script asp en ligne de commande
    Par niel5 dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 26/08/2005, 11h32

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