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

VBScript Discussion :

Copie de fichier (runas)


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Par défaut Copie de fichier (runas)
    Bonjour,

    je suis débutant en VBS et je souhaite remplacer le fichier host par un fichier host type se trouvant sur un serveur

    J'ai fait des commandes qui marchent a la main mais pas dans le script

    Je souhaiterai soit copié le fichier a partir du VBS soit faire appel a un .bat qui s'occupera de faire la copie (la première solution étant plus pratique)

    Pour l'instant j'ai :

    -----------------------------------------------------

    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
    On Error Resume Next
     
    Dim f
     
    Set f = fso.GetFile("C:\WINDOWS\system32\drivers\etc\hosts")
    Set WshShell=WScript.CreateObject("WScript.Shell")
    set WshShell=CreateObject("WScript.Shell")
     
    'Première solution
    If Day(f.DateLastModified) < "26/02/2009 00:00:00" Then
     strExec="XCOPY \\chemin\hosts C:\WINDOWS\system32\drivers\etc\hosts /Y" 
     strUser="/user:domain\user"
     strPass="pass~" 
     strCmd="runas.exe " & strUser & " cmd"
     WshShell.Run strCmd
     WScript.Sleep 500
     WshShell.SendKeys strPass
     WshShell.Run strExec
     Wscript.Quit
    end if
     
    'Deuxième solution
    If Day(f.DateLastModified) < "26/02/2009 00:00:00" Then
     strExec="\\chemin\copy.bat" 
     strUser="/user:domain\user"
     strPass="pass~"
     strCmd="runas.exe " & strUser & " " & strExec
     WshShell.Run strCmd
     WScript.Sleep 500
     WshShell.SendKeys strPass
     Wscript.Quit
    end if

    Au niveau de la 2e solution, quand je lance la commande a la main ca marche nickel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    runas.exe /user:domain\user \\chemin\copy.bat
    Je pense donc que le problème réside dans le renseignement du mot de passe avec le sendkeys nan?

    Merci

  2. #2
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Par défaut
    Un peu de new :

    Quand je lance le script il reste bloquer sur "Entrez le mot de pass de administrateur : "

    Si je rentre le pass a la main, le script s'execute correctement ...

    C'est donc bien un problème de SendKeys mais je ne voit pas lequel ...

    Tous les script que j'ai trouvé traitant de ça sont a peu pres identique et aucun chez moi ne renseigne automatiquement le mot de passe...

    Je commence à désesperer

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut Voici la solution
    J'ai rencontré le même problème, voici un code qui fonctionne
    il execute mon script "ipxfer.bat" en tant que admin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Option explicit
    dim oShell
    set oShell= Wscript.CreateObject("WScript.Shell")
    oShell.Run "runas /user:administrateur ""C:\install\IpXfer.bat"""
    WScript.Sleep 100
    'remplace password par ton mot de passe, laisse les guillemets et le tilde
    oShell.Sendkeys "password~"
    Wscript.Quit
    Marque le sujet comme résolu si ton problème est réglé.
    @ +

  4. #4
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Par défaut
    Malheuresement non, j'ai toujours le même problème.

    J'utilise Windows XP, et toi ?

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Par défaut Essayons autre chose
    j'ai fait tourner le code que je t'ai envoyé sur W2K SP4, XP SP2 et SP3.

    Actuellement, je bosse sur un script ou certaines partie de code pourraient t'aider. Je scanne mon réseau et lance sur chaque poste qui répond à certains critère, un psexec qui exécute un script. Et psexec fait le RunAs pour toi

    J'imagine que si tu planches sur le RunAs, ce n'est pas parce que tu as 3 clients à mettre à jour...

    Si il s'agit de tout un réseau, selon moi, tu n'a pas besoins d'executer de code à partir de tes clients.
    Si tu possèdes un compte administrateur identique sur chaque machine, tu peux te connecter sur le partage administratif C$ et vérifier si ton fichier Hosts est suffisamment recent.

    Donne moi plus de précisions et je pourrai t'envoyer quelques morceaux de code.
    Olivier

  6. #6
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Par défaut
    Je suis tombé sur AutoIT entre temps et j'ai réussi à faire ce que je voulé en 5-6 lignes donc c'est bon =)

    De plus avec AutoIt tu le converti en .exe du coup y'a pas de soucis de sécurité.

    Merci quand même pour ton aide

Discussions similaires

  1. Copie de fichier sur le bureau
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 01/05/2005, 20h57
  2. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows Forms
    Réponses: 5
    Dernier message: 20/12/2004, 22h39
  3. [C#] Copie de fichier via l'API
    Par slyv dans le forum Windows
    Réponses: 5
    Dernier message: 20/12/2004, 22h35
  4. [Kylix] Copie de fichier...
    Par paty.olivier dans le forum EDI
    Réponses: 1
    Dernier message: 23/06/2004, 12h55
  5. Copie de fichier
    Par Bjorn dans le forum C
    Réponses: 4
    Dernier message: 11/06/2002, 15h23

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