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 :

Exécution VBScript sur ordinateur distant


Sujet :

Scripts/Batch

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 14
    Points : 12
    Points
    12
    Par défaut Exécution VBScript sur ordinateur distant
    Hello les gens,

    Je travaille sur un script qui exécute un vbscript sur une machine distante, le code est fonctionnel et le voici :

    Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $credential = New-Object System.Management.Automation.PSCredential ($login, $password)
    $session = New-PSSession -ComputerName "S101x01h" -Credential $credential
    Invoke-command -Session $session -ScriptBlock { cscript.exe "c:\temp\MyTelnet.vbs" }
     
    Remove-PSSession $session

    Il exécute le vbscript que voici :

    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
    set oShell = CreateObject("WScript.Shell")
    
    oShell.run("Telnet -f c:\temp\telnetOutput.txt")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("Open 10.248.178.146 25")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("{Enter}")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("QUIT")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("{Enter}")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("{Enter}")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("QUIT")
    
    WScript.Sleep 2000
    
    oShell.SendKeys("{Enter}")
    
    WScript.Sleep 2000
    Si vous ne connaissez pas le vbscripting, comprenez qu'il ouvre un shell, y connecte une session et se déconnecte. La partie qui nous intéresse est celle-ci :

    oShell.run("Telnet -f c:\temp\telnetOutput.txt")

    En gros, il va logger la session telnet dans le filepath indiqué.

    Le soucis c'est que lors de l'exécution du vbscript depuis une machine distante, il n'écrit rien dans les logs (En vrai il accède bel et bien au fichier texte, mais il y écrit un string vide) SAUF QUE, lorsque je lance la même commande moi-même (cscript.exe "c:\temp\MyTelnet.vbs"), de façon non-automatisé, sur la machine sur laquelle je suis censé me connecter à distance, tout fonctionne bien et les logs de la session telnet se trouvent dans bel et bien dans le fichier texte.

    Et là je suis coincé, vu que l'intérêt de mon powershell est qu'il puisse exécuter ce vbscript à distance et qu'il travaille ensuite les résultat du log.

    Est-ce qu'il y aurait une bonne âme qui saurais m'aider?

    Merci d'avance.

  2. #2
    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
    Salut,
    vérifie sur le serveur, si l'exécution de ton script dans une session 'locale' fonctionne.

    Il se peut que le process wsmprovhost.exe pose pb avec l'objet COM et les redirections. Sinon utilise une autre approche pour déclencher l'exécution de ton script vbs.
    Un autre test : utiliser un outil tiers permettant la redirection des commandes depuis un fichier texte afin de vérifier si le process wsmprovhost n'impacte pas les handles de redirections.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 14
    Points : 12
    Points
    12
    Par défaut
    Alors, après avoir fait pas mal de vérifications, de petites modifications et autres essais infructueux, il n'y avait toujours pas moyen de trouver un résultat satisfaisant, soit l'écriture dans le fichier ne se faisais pas, soit il était impossible de récupérer les output du shell telnet.

    Cependant, je me suis mis à chercher une autre façon de lancer une session telnet, une façon qui permettrais de ne pas à avoir à passer par un shell intermédiaire et donc de faliciter les procédures et je suis tombé sur ce script : http://community.spiceworks.com/scri...issue-commands

    Cette méthode permet de lancer une connexion Telnet facilement en ayant la possibilité de donner une liste de commande, le tout sans passer par une application externe comme Plink, qui aurait été pénible pour des sessions Powershell à distance.

    Donc voilà, j'ai finalement réussi à faire ce que je souhaitais faire à la base.

    Merci pour ta participation

Discussions similaires

  1. Sauvegarde sur ordinateur distant via ssh
    Par thecrazydonut dans le forum MATLAB
    Réponses: 1
    Dernier message: 24/03/2015, 05h41
  2. Commande msiexec sur ordinateur distant
    Par riri74 dans le forum Windows XP
    Réponses: 15
    Dernier message: 27/03/2013, 21h30
  3. FileSystemWatcher sur ordinateur distant
    Par Jean-Marc68 dans le forum C#
    Réponses: 4
    Dernier message: 22/05/2012, 19h22
  4. Réponses: 3
    Dernier message: 14/01/2007, 19h52
  5. [Réseau] Exécution d'un programme sur machine distante Linux
    Par kitsune dans le forum Général Java
    Réponses: 8
    Dernier message: 16/05/2006, 14h13

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