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 :

transformer un batch .bat en script VBS [Batch]


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut transformer un batch .bat en script VBS
    Bonjour

    je n'y connais rien en vbs ou si peu.

    j'aimerai bien pouvoir traduire le petit lots de commande batch suivant en un script vbs :

    @ECHO OFF
    ECHO Script généré par GUNT Version 3.0.1.9
    REM La ligne suivante permet de lancer UNCONN (déconnexion des lecteurs)
    REM \\SRV-PEDAGO\NETLOGON\UNCONN.EXE /keep=z
    NET USE P: /Home /Yes
    NET USE Q: "\\SRV-PEDAGO\sciences$" /Yes
    REM Modifier les 2 lignes suivantes en fonction du serveur hébergeant les espaces "ELEVES"
    NET USE R: "\\SRV-PEDAGO\Eleves$" /Yes
    NET USE S: "\\SRV-PEDAGO\Classes$" /Yes
    REM La ligne suivante permet de lancer le client ESU
    REM \\SRV-PEDAGO\NETLOGON\ESU\ESUCLNT.EXE

    autant la connexion des disques réseaux m'est accessible autant les appels aux exécutables ne sont pas (encore) à ma portée.

    Quelqu'un aurait-il l'amabilité de me faire une tradcution ? j'adapterai ensuite.

    Avec mes remerciements

    Claf60

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Si ce script fonctionne, pourquoi as-tu besoin de l'adapter en VBS ? Surtout s'il est généré automatiquement, en plus...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Parce que nous sommes passés à la nouvelle version qui ne gère que les scripts VBS.

    Au moment de la bascule GUNT => KOXO tous les scripts ont été récupérés de l'ancienne version automatiquement sans traduction du batch vers vbs !! (peut-être une fausse manoeuvre).

    Maintenant il serait plus rapide de refaire les comptes en générant automatiquement les vrais scripts vbs mais ... on ne fait pas cela en cours d'année avec 1400 users !!!

    Alors ma chance est que les users héritent du script de leur groupe ... je n'aurai donc pas 1400 scripts à re écrire ;-) tout au plus 200 !!!!

    le préjudice ne porte que sur les espaces mutuels qui ne montent pas à l'ouverture de la session.

  4. #4
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut Mac LAK,
    Salut claf60, bienvenu dans le forum,

    Dans la mesure où tu n'es pas familier avec vbs, le mieux serait peut-être qu'on te fournisse une solution générique permettant d'encapsuler ton script cmd. Ainsi, tu serais libre de modifier ce dernier et le script vbs ne ferait que transmettre son exécution à l'interpréteur de commande.

    Quand dis-tu ?

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Bonjour

    pas testé :
    VBS

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'http://msdn.microsoft.com/en-us/library/8kst88h6(VS.85).aspx
    Dim WshNetwork
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    WshNetwork.MapNetworkDrive "P:"
    WshNetwork.MapNetworkDrive "Q:", "\\SRV-PEDAGO\sciences$"
    WshNetwork.MapNetworkDrive "R:", "\\SRV-PEDAGO\Eleves$"
    WshNetwork.MapNetworkDrive "S:", "\SRV-PEDAGO\Classes$"
    WSCript.Quit

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Bonjour Mac LAk, maxim_um, Acris

    Salut claf60, bienvenu dans le forum
    Merci Maxim_um

    Dans la mesure où tu n'es pas familier avec vbs, le mieux serait peut-être qu'on te fournisse une solution générique permettant d'encapsuler ton script cmd
    C'est une très belle proposition, maxim_um. Mais je vais devoir augmenter mes capacités en vbscipt. Alors autant commencer à cette occasion. J'ai un lointain passé d'analyste-programmeur (Assembleur, C++,Ada, ...). Il faut que je me tape toutes les nouvelles syntaxes du Vbscript et que je pratique surtout régulièrement.

    Acris, merci pour le codage. Il fonctionne. Cela reste assez simple. Cependant pour la ligne
    WshNetwork.MapNetworkDrive "P:"
    sans paramètre, il aime pas et je ne sais comment lui faire avaler la variable /HOME et le paramètre /YES typiques à Net Use ?
    VBScript sait-il récupérer les variables d'environnement utilisateurs ? si oui de quelle manière je passe la variable "\\nomduserveur\%username%$" et le paramètre /PERSISTENT:YES ?

    Je continue de chercher sur MSDN.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Il faut lire la documentation http://msdn.microsoft.com/en-us/libr...h6(VS.85).aspx

    Le lecteur P correspond à quoi ?? la machine elle meme ?? et le /home c'est quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshNetwork.MapNetworkDrive "P:"
    Remplace peut etre par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WshNetwork.MapNetworkDrive "P:" "\\NOMDUPC\"
    WshNetwork.MapNetworkDrive "P:" "\\NOMDUPC\home"
    Pour le mode persistant, il faut ajouter true par défaut c'est false

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    'http://msdn.microsoft.com/en-us/library/8kst88h6(VS.85).aspx
    Dim WshNetwork
    Set WshNetwork = WScript.CreateObject("WScript.Network")
    WshNetwork.MapNetworkDrive "P:"
    WshNetwork.MapNetworkDrive "Q:", "\\SRV-PEDAGO\sciences$",True
    WshNetwork.MapNetworkDrive "R:", "\\SRV-PEDAGO\Eleves$",True
    WshNetwork.MapNetworkDrive "S:", "\\SRV-PEDAGO\Classes$",True
    WSCript.Quit

    VBScript sait-il récupérer les variables d'environnement utilisateurs ? si oui de quelle manière je passe la variable "\\nomduserveur\%username%$" ?
    Pas compris ce que tu veux, peux tu expliquer ?

  8. #8
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Salut,

    "/home" est un paramètre pour la commande "Net use", il désigne le "home directory", c'est le répertoire d'accueil de l'utilisateur. Vbscript et l'objet WshNetwork n'offrent pas d'équivalence directe au paramètre "/home", mais il reste toutefois possible de reconstruire ce chemin en utilisant les différentes propriétés de WshNetwork, à savoir UserDomain, ComputerName et UserName.
    Dans le même temps, cela répond à la demande sur les variables réseau de l'utilisateur.

    Voilà un exemple de mise en œuvre de ces propriétés :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Set WshNetwork = WScript.CreateObject("WScript.Network") 
    WScript.Echo "Domaine = " & WshNetwork.UserDomain 
    WScript.Echo "Nom ordinateur = " & WshNetwork.ComputerName 
    WScript.Echo "Nom utilisateur = " & WshNetwork.UserName
    Il ne faut pas oublier aussi la méthode Run de l'objet WshShell, qui permettrait ainsi d'utiliser directement la commande "Net use", et ça reste quand même du vbscript.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set WshShell = WScript.CreateObject ("WSCript.Shell") 
    WshShell.Run "NET USE P: /Home /Yes", 0, true
    enjoy;

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup Acris, Maxim_um

    Vos réponses sont complètes et claires.

    Maxim_um a complètement répondu au problème sans le savoir pour ma question subsidiaire :
    => appeler un exécutable dans un vbscript !! par exemple pour "UNCONN.EXE /keep=z" et "ESUCLNT.EXE"

    Merci beaucoup encore

    J'espère qu'un jour je pourrai aussi efficacement secourir quelqu'un.

    J'ai compulsé la doc Vbscript et j'ai pu constater que ce ne sera pas si évident d'être rapidement à l'aise avec ce petit langage.

    Vous m'avez en tout cas super fait gagner du temps et je suis certain que mes 1400 users s'associent à ma gratitude.

    Résolu

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

Discussions similaires

  1. Batch .bat ou .vbs de full restoration (.bkp) d'une bdd
    Par Moostiq dans le forum Administration
    Réponses: 23
    Dernier message: 15/11/2010, 17h57
  2. ssh ou rsh pour executer un script batch (.bat)
    Par simodsio dans le forum Administration système
    Réponses: 5
    Dernier message: 31/03/2009, 10h43
  3. Language de script Batch (*.bat)
    Par secretman dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 20/08/2008, 13h43
  4. Comment ravoir la main sur un script VBS executer en BATCH
    Par arnaudperfect dans le forum VBScript
    Réponses: 0
    Dernier message: 19/11/2007, 12h18
  5. Probleme recuperation d'une valeur : script vbs -> .bat
    Par pinpin_du_net dans le forum Windows
    Réponses: 3
    Dernier message: 10/05/2005, 12h43

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