Sojiro49
Messages postés12Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention12 janvier 2006
-
10 janv. 2006 à 16:08
Sojiro49
Messages postés12Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention12 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")
fohaf
Messages postés60Date d'inscriptionvendredi 14 novembre 2003StatutMembreDernière intervention 6 septembre 20122 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)
Sojiro49
Messages postés12Date d'inscriptionmercredi 4 janvier 2006StatutMembreDernière intervention12 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
exterminatix
Messages postés10Date d'inscriptionjeudi 15 janvier 2004StatutMembreDerniè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