PROBLEME DANS MON SCRIPT VBS AIDEZ MOI

Sojiro49 Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006 - 10 janv. 2006 à 16:08
Sojiro49 Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006 - 14 févr. 2006 à 16:33
Salut, voici mon script"archiv.vbs", il ne marche pas je ne trouve pas mon erreur merci de m'aider. Si vous voulez des explication sur ce quee dois faire mon scipt dite le moi :)

Dim At
Dim Matricule
Dim CommandeDOS
Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")

At = %username%

CommandeDOS = "Net use z: \" & " nasrv008 " & "\Recup_Data"
WSHShell.Run(CommandeDOS)

If At <> opearchiv Then
Matricule = InputBox("Entrer le matricule de l'utilisateur ")

'lance le prog xrunas avec la parametres user, pwd et prog
CommandeDOS = "c:\xrunas /user: c:\archiv.vbs"
WSHShell.Run(CommandeDOS)

Else
CommandeDOS = "xcopy /E c:\Archivages \\nasau002\archivages\Matricule"
WSHShell.Run(CommandeDOS)

End If

Wscript.quit(0)

6 réponses

fohaf Messages postés 60 Date d'inscription vendredi 14 novembre 2003 Statut Membre Dernière intervention 6 septembre 2012 2
10 janv. 2006 à 17:23
Tu ne dois pas mettre tes variables dans les " ".
Par exemple, au lieu de
CommandeDOS = "xcopy /E c:\Archivages \\nasau002\archivages\Matricule"
essaye plutôt
CommandeDOS = "xcopy /E c:\Archivages \\nasau002\archivages" & Cstr(Matricule)
0
Sojiro49 Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 09:31
Merci je vais essayer ton truc je te redirai si ça marche :)
0
Sojiro49 Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 09:33
Non je dois avoir une autre erreur vant, car deja inputbox ne marche pas, aucune fenetre me demande le matricule :(
0
Sojiro49 Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006
11 janv. 2006 à 10:52
Alors essayons d'expliquer a quoi sert ce script. Et ben tout d'abord l'utilisateur lance ce script et ses données qui sont dans c:\archivges sont copié vers le serveur.

Contraintes: l'utilisateur n'a pas le droit d'écrire sur ce serveur, il faut donc que le script lance un autre prog qui permettra de relancer ce prog avec les droits du compte opearchiv (il s'agit de la ligne "c:\xrunas /user: c:\archiv.vbs")

Le script archiv.vbs se relance donc avec les droits qu'il faut t fait la copie.

Les condition "if" permettent de vérifier avec quel compte le prog est lancé.
Je suis obligé de lancer le prog de cette maniere car je veu garder le 1er compte (celui de l'utilisateur) dans une variable pour m'en servir dans la copie, car dès que je suis passé en opearchiv, je ne peux plus récupérer le nom du compte de l'utilisateur( avec la commande %username%)

J'espere que j'ai été clair lol.
0

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

Posez votre question
exterminatix Messages postés 10 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 4 novembre 2010
14 févr. 2006 à 16:04
J'ai corrigé une partie en rouge à supprimer

Dim At
Dim Matricule
Dim CommandeDOS

'Note : pour lancer une commande dos il faut ecrire WSHShell.Run("cmd /c lignedecommande")

Dim WSHShell
Set WSHShell=WScript.CreateObject("WScript.Shell")
Dim WshShell
Set WshShell = CreateObject("WScript.Shell")

At = %username%
'interdit en vbs il faudrait faire :
WshShell.run("cmd /c echo %username% >fichier.txt")
' et ensuite il faut lire le fichier texte pour récupérer valeur je n'est corrigé cette partie désolé à toi de trouver

CommandeDOS = "Net use z: \" & " nasrv008 " & "\Recup_Data"
CommandeDOS = "cmd /c Net use z: [file://nasrv008/Recup_Data \\nasrv008\Recup_Data]"
WSHShell.Run(CommandeDOS)

If At <> opearchiv Then
If At <> "opearchiv" Then
Matricule = InputBox("Entrer le matricule de l'utilisateur ")

'lance le prog xrunas avec la parametres user, pwd et prog
' ? c'est quoi user, pwd et prog et à quoi sert matricule?
CommandeDOS = "c:\xrunas /user: c:\archiv.vbs"
WSHShell.Run(CommandeDOS)

Else
CommandeDOS = "xcopy /E c:\Archivages \\nasau002\archivages\Matricule"
CommandeDOS = "cmd /c xcopy /E c:\Archivages \\nasau002\archivages\Matricule"
WSHShell.Run(CommandeDOS)
End If
0
Sojiro49 Messages postés 12 Date d'inscription mercredi 4 janvier 2006 Statut Membre Dernière intervention 12 janvier 2006
14 févr. 2006 à 16:33
merci de ton aide mais je m'étais compliké la vie g résolu le probleme en faite j'ouvre une msgbox pour lui demander son matricule

merci pour ton aide :)
0
Rejoignez-nous