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 :

Pb d'exuction de mon script


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Par défaut Pb d'exuction de mon script
    'on error resume next
    'err.clear
    'if err.number<>0 then wscript.echo err.number, err.description, err.source

    Dim FSo
    Set FSo = CreateObject("Scripting.FileSystemObject")

    'Transfert toutes les photos de transfert_photos vers archive sur serveur

    FSo.CopyFile "\\serveur\d$\Documents_services\Transfert_Photo\*.jpg","\\serveur\d$\documents_services\archives\"


    'Transfert toutes les photos de transfert_photos vers gaspard-v3 sur serveur

    FSo.CopyFile "\\serveur\d$\Documents_services\Transfert_Photo\*.jpg","\\serveur\d$\gaspard-v3\travail_photos\"



    'supprime toutes les photos de transfert_photos sur serveur

    Dim FSa

    Set FSa = CreateObject("Scripting.FileSystemObject")
    FSa.DeleteFile "\\serveur\d$\Documents_services\Transfert_Photo\*.jpg"




    Voila mon script, le probleme c'est qu'il m'est impossible d'excuter mon script avec un utilisateur avec des droits restreints.
    Question : existe t il une commande a integré dans le script pour lui dire connect toi en tant que (administrateur local ou du domaine avec le mot de passe qui va bien en persistent)


    Voila

    Merci a toutes et ts.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2008
    Messages : 252
    Par défaut
    C'est du vbs ça pas du batch .

    Bref en batch tu peux utiliser la commande "runas" .

    Pour plus d'info > cmd > "runas ?" .


    En vbs tu px l'utiliser comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Option explicit
    Dim oShell
    set oShell= Wscript.CreateObject("WScript.Shell")
    'Replace the path with the program you wish to run c:\program files...
    oShell.Run "RunAs /noprofile /user:administrator ""C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE"""
    WScript.Sleep 100
    'Replace the string --> yourpassword~ with the
    'password used on your system. Include the tilde "~"
    oShell.Sendkeys "yourpassword~"
    Wscript.Quit
    Voila j'espère que ça t'aidera !

  3. #3
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    Bonjour,

    Je relance la discussion, car j'ai pratiquement le même problême.
    J'ai presque le même script pour lancer un runas avec le password intégré. Ca, ça marche.
    Ce que je veux faire avec runas c'est en tant qu'administrateur, je veux copier un fichier dans un répertoire, donc je procède comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript vbrunas.vbs user password "cmd /c copy bla.txt test.txt"
    J'exécute la commande, aucun message d'erreur, il ouvre bien la deuxieme console pour faire la copy, mais le fichier n'est pas copié !
    Je lance la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wscript vbrunas.vbs user password "mspaint"
    et là ça m'ouvre bien paint...

  4. #4
    Membre chevronné

    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2003
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 333
    Billets dans le blog
    1
    Par défaut
    cpau.exe ou psexec.exe vous permettes de faire des élévations de privilèges facilement.

  5. #5
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par défaut
    même problème avec cpau.exe !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cpau -u user -p password -ex mspaint
    marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cpau -u user -p password -ex dir
    marche pas
    Je chercherai demain plus en détails

  6. #6
    Membre chevronné

    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2003
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 333
    Billets dans le blog
    1
    Par défaut
    Ouais, j'avais pas compris le besoin exact pardon. Tu veux l'utiliser façon sudo quoi, mais je ne pense pas que cela soit possible. Ca marchera en tant que sous shell sous les mêmes privilèges, ca oui, mais sous un autre user...

    Le plus simple est plutot de lui filer un script et de tracer le resultat général de ton script dans un fichier.

    Quand je bosse en ligne de commande par contre, j'utilise cmd /k pour simulter le comportement du su unix .

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    Démarre une nouvelle instance de l'interpréteur de commandes de Windows XP
    
    CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
        [[/S] [/C | /K] chaîne]
    
    /C  Exécute la commande donnée par la chaîne de caractères puis se termine
    /K  Exécute la commande donnée par la chaîne de caractères puis reste actif
    /S  Modifie le traitement de la chaîne après /C ou /K (voir ci-dessous)
    /Q  Exécute (sans interactions) la commande donnée puis reste actif
    /D  Désactive l'exécution de AutoRun à partir du Registre (voir ci-dessous)
    /A  Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
    /U  Redirige la sortie de commandes internes vers un canal ou un fichier
        UNICODE
    /T:fg,  Change la couleur du premier ou de l'arrière plan (voir aussi COLOR /?)
    /E:ON   Active les extensions de commande (voir ci-dessous)
    /E:OFF  Désactive les extensions de commande (voir ci-dessous)
    /F:ON   Active les caractères de fin des noms de fichiers et de répertoires
            (voir ci-dessous)
    /F:OFF  Désactive les caractères de fin des noms de fichiers et de répertoires
            (voir ci-dessous)
    /V:ON   Active l'expansion retardée des variables d'environnement en
            utilisant ! comme délimitation.
            Par exemple, /V:ON permet à !var! de développer la variable var à
            l'exécution. La syntaxe var développe les variables lorsqu'elles sont
            entrées, ce qui est différent lorsque utilisé à l'intérieur d'une
            boucle FOR.
    /V:OFF  Désactive l'expansion retardée des variables d'environnement.
    
    Remarquez que des commandes multiples séparées par le séparateur '&&' sont
    acceptées comme une chaîne si elles sont entre guillemets. Pour des raisons de
    compatibilité, /X est identique à /E:ON, /Y est pareil que /E:OFF et /R est
    identique à /C. Toute autre option est ignorée.
    
    Si /C ou /K est indiqué, alors le reste de la ligne de commande est traité
    avec la logique suivante pour prendre en compte les guillemets (") :
    
        1.  Si toutes les conditions suivantes sont respectées, alors les
    guillemets de la ligne de commande sont conservés*:
    
            - pas d'option /S
            - exactement deux caractères guillemet
            - aucun caractère spécial entre les deux caractères guillemet, un
              caractère spécial étant*: &<>()@^|
            - il y a un ou plusieurs espaces entre les deux caractères guillemet
            - la chaîne comprise entre les deux guillemets est le nom d'un fichier
              exécutable.
    
        2.  Dans le cas contraire, l'ancien comportement vérifiera si le premier
            caractère est un caractère guillemet et si tel est le cas, enlèvera le
            premier caractère et le dernier caractère guillemet de la ligne de
            commande, préservant tout texte se trouvant après le dernier caractère
            guillemet.
    
    Si /D n'a PAS été spécifié dans la ligne de commande, alors CMD.EXE démarrera
    en recherchant les variables du Registre REG_SZ/REG_EXPAND_SZ suivantes et
    si l'une ou les deux sont présentes, elles seront exécutées en priorité.
    
        HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
    
            et/ou
    
        HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
    
    Les extensions de commandes sont activées par défaut. Vous pouvez
    également les désactiver pour une exécution particulière en utilisant
    l'option /E:OFF. Vous pouvez les activer ou désactiver pour toutes les
    exécutions de CMD.EXE sur une machine ou pour un utilisateur en
    fixant l'une ou les deux valeurs REG_DWORD suivantes du Registre :
    
        HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
    
            et/ou
    
        HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
    
    à 0x1 ou 0x0 (en utilisant REGEDT32.EXE). Les paramètres spécifiques de
    l'utilisateur sont prioritaires sur ceux de la machine. Les options de la
    ligne de commande ont préséance sur les paramètres du Registre.
    
    Les extensions de commandes impliquent des modifications ou des additions dans
    les commandes suivantes*:
    
        DEL ou ERASE
        COLOR
        CD ou CHDIR
        MD ou MKDIR
        PROMPT
        PUSHD
        POPD
        SET
        SETLOCAL
        ENDLOCAL
        IF
        FOR
        CALL
        SHIFT
        GOTO
        START (inclut également des modifications dans l'appel externe de commande)
        ASSOC
        FTYPE
    
    Pour obtenir des détails spécifiques, entrez /? Nom_de_commande.
    
    L'expansion retardée de variables d'environnement n'est PAS activée par
    défaut. Vous pouvez l'activer ou la désactiver pour une utilisation
    particulière de CMD.EXE avec l'option /F:ON ou /F:OFF. Vous pouvez l'activer
    ou la désactiver pour toute utilisation de CMD.EXE sur un ordinateur ou pour
    un utilisateur en fixant avec REGEDT32.EXE l'une ou les deux valeurs
    REG_DWORD suivantes du Registre :
    
        HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
    
            et/ou
    
        HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
    
    à la valeur 0x1 ou 0x0. Les paramètres spécifiques à l'utilisateur sont
    prioritaires sur les paramètres de l'ordinateur. Les options de la ligne
    de commande ont priorité sur les paramètres du Registre.
    
    Si l'expansion retardée de variables d'environnement est activée, un point
    d'exclamation peut être utilisé pour remplacer la valeur d'une variable
    d'environnement lors de l'exécution.
    
    La terminaison des noms de fichiers et de répertoires N'est PAS activée par
    défaut. Vous pouvez l'activer ou la désactiver pour une instance particulière
    de CMD.EXE avec l'option /F:ON ou /F:OFF. Vous pouvez l'activer ou la
    désactiver pour toutes les instances de CMD.EXE sur un ordinateur ou pour un
    utilisateur en fixant avec REGEDT32.EXE l'une ou les deux valeurs REG_DWORD
    suivantes du Registre :
    
        HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
        HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
    
            et/ou
    
        HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
        HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
    
    à la valeur hexadécimale d'un caractère de contrôle à utiliser pour une
    fonction particulière (par exemple : 0x4 représente Ctrl+D et 0x6, Ctrl+F).
    Les paramètres spécifiques de l'utilisateur sont prioritaires sur ceux de
    l'ordinateur. Les options de la ligne de commande ont préséance sur les
    paramètres du Registre.
    
    Si la terminaison est activée avec l'option /F:ON, les deux caractères de
    contrôle utilisés sont Ctrl+D pour la terminaison des noms de répertoire et
    Ctrl+F pour la terminaison des noms de fichiers. Pour désactiver un caractère
    de terminaison particulier dans le Registre, utilisez la valeur pour l'espace
    (0x20) qui n'est pas valide en tant que caractère de contrôle.
    
    La terminaison est appelée lorsque vous entrez l'un des deux caractères de
    contrôle. La fonction de terminaison prend le chemin figurant à gauche du
    curseur, y ajoute un caractère générique s'il n'y en a pas déjà et crée une
    liste des chemins correspondants. Cette fonction affiche ensuite le premier
    chemin de la liste. Si aucun chemin ne correspond, elle émet un son et
    n'affiche rien. Ensuite, si vous pressez le même caractère de contrôle
    plusieurs fois, vous verrez les chemins successifs correspondants de la liste
    précédente. Si vous appuyez sur la touche Majuscule et le caractère de
    contrôle, vous verrez la liste dans le sens contraire. Si vous modifiez la
    ligne de quelque façon que ce soit et appuyez à nouveau sur le caractère de
    contrôle, la liste enregistrée de chemins correspondants est ignorée et une
    nouvelle liste est générée. De même, une nouvelle liste sera créée si vous
    passez de la terminaison des noms de fichiers à celle des noms de répertoires.
    La seule différence entre les deux caractères de contrôle est que la
    terminaison des noms de fichiers fonctionne pour les noms de fichiers et les
    noms de répertoires alors que la terminaison des noms de répertoires ne
    fonctionne que pour les noms de répertoires. Si la terminaison des noms de
    fichiers est utilisée sur des commandes de répertoires internes (CD, MD ou RD)
    alors la terminaison des noms de répertoires est active.
    
    Le code de terminaison traite correctement les noms de fichiers contenant des
    espaces ou d'autres caractères spéciaux, en plaçant des guillemets autour des
    chemins correspondants. Si vous reculez le curseur et appelez ensuite la
    terminaison, le texte à droite du curseur lorsque la terminaison est demandée
    est ignoré.
    
    Les caractères spéciaux qui requièrent des guillements sont :
         <espace>
         &()[]{}^=;!'+,`~

Discussions similaires

  1. [MySQL] Problème dans mon script de pagination
    Par speedylol dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/11/2005, 19h37
  2. erreur dans mon script
    Par Swata dans le forum Langage
    Réponses: 4
    Dernier message: 21/09/2005, 00h02
  3. [langage]erreur dans mon script
    Par Fabouney dans le forum Langage
    Réponses: 11
    Dernier message: 30/06/2005, 14h58
  4. Tcsh - Mon script ne marche pas
    Par Aramis dans le forum Linux
    Réponses: 5
    Dernier message: 13/05/2004, 18h26
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

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