Commande lancée en VBS qui ne renvoi rien

Résolu
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011 - 25 sept. 2009 à 11:58
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011 - 25 sept. 2009 à 16:18
Bonjour,

J'ai un script qui ne me renvoi rien... alors que lorsque je lance la commande correspondante j'ai bien des données qui me ressorte avec toute une liste de processus.

Je veux en fait, via un script VBS, lancer un tasklist qui me générera un fichier que j'analyserais ensuite... Mais le fichier en question ne se génère pas lorsque la commande est lancée en VBS...

Set WshShell = WScript.CreateObject("WScript.Shell")
ret = WshShell.Run ("tasklist /S 172.16.48.10 > c:\tasklist.txt", 0)

Auriez vous une idée du problème ?

Vous remerciant d'avance,

@+DAH

11 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
25 sept. 2009 à 15:20
Re,

cela devrait fonctionner comme ça :
wshshell.run "command /C tasklist /S 172.16.48.10 /U user /P mdp > c:\tasklist.txt",,true

L'expérience, c'est une connerie par jour, mais jamais la même..
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
25 sept. 2009 à 12:03
Bonjour,

Je crois qu'il manque un : ">"
ret = WshShell.Run ("tasklist /S 172.16.48.10 >> c:\tasklist.txt", 0)


L'expérience, c'est une connerie par jour, mais jamais la même..
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011
25 sept. 2009 à 12:16
> Je crois qu'il manque un : ">"
> ret = WshShell.Run ("tasklist /S 172.16.48.10 >> c:\tasklist.txt", 0)
J'ai testé mais le souci ne vient pas de là non plus... Et en ligne de commande une simple redirection ">" signifie que les données vont écraser les données précédente dans le fichier... avec un double ">", donc ">>", les données se mettront à la suite du fichier.

@+DAH
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
25 sept. 2009 à 12:26
ben sur mon poste en local ça fonctionne...L'adresse ip est bien celle de la machine sur laquelle le script est lancée?? As-tu bien les autorisations pour créer un fichier à la racine de C?


L'expérience, c'est une connerie par jour, mais jamais la même..

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011
25 sept. 2009 à 12:35
> L'adresse ip est bien celle de la machine
> sur laquelle le script est lancée?
Non, car il me faut avoir la liste des processus d'une machine distante... La commande fonctionne parfaitement en ligne de commande... mais pas dans le VBS...

> As-tu bien les autorisations pour créer
> un fichier à la racine de C?
Oui, le fichier se génére d'ailleurs lorsque je lance la commande en ligne de commande...

tasklist /S 172.16.48.10 > c:\tasklist.txt
me générera bien un fichier tasklist.txt situé à la racine du lecteur C:\ et contenant les processus de la machine d'adresse ip 172.16.48.10 située sur mon LAN.

@+DAH
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
25 sept. 2009 à 14:04
J'ai fait le test effectivement ça passe bien en ligne de commande, ou en bat cependant il faut quand meme renseigner le nom d'utilisateur et le mot de passe.
En vbs, cela n'a pas l'air de fonctionner, tu peux cependant tester en créant un bat lancé dans ton vbs..

Bon ok c'est de la bidouille j'avoue :p

L'expérience, c'est une connerie par jour, mais jamais la même..
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011
25 sept. 2009 à 14:23
Ouille... j'aurais préféré quelque chose de plus propre (et si quelqu'un a la solution ça m'intéresse toujours)... mais en tout cas ça fonctionne... Je vais pouvoir utiliser cette solution en attendant...

Par contre, je vais peut être avoir des soucis lorsque le tasklist va être bloqué si par exemple le pc ne répond pas... car il va y avoir une attente au niveau du "DOS" alors que mon script vbs va continuer à balancer du code...

Connaitrais tu une solution pour attendre la fin compléte d'un précédent envoi de commande avant de lancer le suivant ?


@+DAH
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
25 sept. 2009 à 14:35
dans les paramètres du wshshell.run, le 3ème paramètre mis à true permet d'attendre la fin du traitement.Donc ici la fin de l'exécution de ton fichier Bat.

Je sais que ce n'est pas propre, mais la création du fichier dans le script vbs empêche apparemment la bonne exécution de la commande, je continue de chercher aussi de mon côté.


L'expérience, c'est une connerie par jour, mais jamais la même..
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011
25 sept. 2009 à 16:05
J'ai testé sur mon poste... mais le "commmand /C" j'ai un fichier TASKLIST.TXT qui se crée mais qui est malheureusement vide. Alors que j'ai pourtant bien une liste de processus (lorsque j'utilise le script passant via un .bat)

@+DAH
lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
25 sept. 2009 à 16:09
Personnellement ça passe correctement, lancé depuis mon poste avec l'ip d'un autre poste situé sur le réseau, mon fichier tasklist.txt n'est pas vide et comporte bien la liste des processus.


L'expérience, c'est une connerie par jour, mais jamais la même..
DHugot Messages postés 12 Date d'inscription mercredi 4 février 2004 Statut Membre Dernière intervention 3 janvier 2011
25 sept. 2009 à 16:18
Ouille... effectivement... ça fonctionne (petit erreur d'adresse ip lol)

Un très grand MERCI à toi !!!


@+DAH
Rejoignez-nous