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 :

Runas via VBSCRIPT, impossible de mettre des arguments


Sujet :

VBScript

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Runas via VBSCRIPT, impossible de mettre des arguments
    Bonjour à tous,

    Mon problème est le suivant.

    Je souhaite déployer le fileconverters de office 07 via les GPO. Je dois considérer que les users ne peuvent installer ce logiciel car ils n'ont pas les droits admin. Il faut donc que je passe par un runas.exe

    Afin qu'ils ne puissent voir le mot de passe administrateur je le met dans un VBSCRIPT avec le ~

    MAIS le script ne fonctionne pas si je veux mettre un argument ( /quiet ) au programme pour qu'il s'installe en silent mode. Il considère tout le temps que l'argument que j'ajoute est une option du runas et ne comprend pas, or il s'agit d'un option du programme.

    Je souhaite simplement ajouter l'option /quiet afin que l'installation ne se voie pas pour les users.

    Quand je fais cela en ligne de commande dos, je n'ai aucun problème, par contre dans le VBSCRIPT, marche pas.

    Voici le script...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set WshShell=WScript.CreateObject("WScript.Shell")
    strCmd="c:\temp\fileformatconverters.exe" 
    strUser="domain\user"
    strPass="password"
    set WshShell=CreateObject("WScript.Shell")
    WshShell.Run "runas.exe" & " /u:" & strUser & " " & strCmd
    WScript.Sleep 1000
    WshShell.Sendkeys strPass & "~"
    J'ai modifier comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmd="c:\temp\fileformatconverters.exe /quiet"
    Je l'ai mis aussi derrère les guillements avec chr(47) mais ca ne fonctionne pas non plus.

    Quelqu'un a une idée ?

    Merci

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Merci pour l'effort de présentation, mais pour démarquer le code du texte il faut utiliser les balises de code.
    Appuis sur le symbole # lorsque tu tapes ton message. Deux balises de code apparaisse. Tapes le code entre ces balises et cela donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Set WshShell=WScript.CreateObject("WScript.Shell")
    strCmd="c:\temp\fileformatconverters.exe" 
    strUser="domain\user"
    strPass="password"
    set WshShell=CreateObject("WScript.Shell")
    WshShell.Run "runas.exe" & " /u:" & strUser & " " & strCmd
    WScript.Sleep 1000
    WshShell.Sendkeys strPass & "~"
    Pour ton problème essayes ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmd="""c:\temp\fileformatconverters.exe /quiet"""
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour Ced600

    Désolé pour le code, suis un newbie...

    Grand merci pour ton aide, ca fonctionne parfaitement... mais j'aurais jamais pensé mettre trois guillements !!

    D'ailleurs pourquoi 3 guillemets, même pourquoi 2 guillemets ? Mais c'est juste pour le sport et pour ma compréhension personnelle

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    En VBS le " est utilisé comme caractère d'échapement annulant les fonctions particulière de certain caractère. Comme " qui délimite une chaine de caractère.

    Donc "" te permet d'afficher un guillemet dans une chaine de caractère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim machaine
    machaine = "Machaine de caractère avec son "" et c'est tout."
    msgbox machaine
    Et donc lorsque le guillemet doit être au début de la chaine de caractère comme pour ton cas, vu qu'il ne faut pas oublier le " d'ouverture de chaine de caractère on a :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmd="""c:\temp\fileformatconverters.exe /quiet"""
    Donc pareil pour la fin.

    On pourrait s'amuser à écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strCmd="""" & "c:\temp\fileformatconverters.exe /quiet" & """"
    C'est la même chose au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    strCmd="""c:\temp\fileformatconverters.exe /quiet"""
    msgbox strCmd
    strCmd="""" & "c:\temp\fileformatconverters.exe /quiet" & """"
    msgbox strCmd
    Et donc en délimitant ta chaine avec des " RunAs comprend que /quiet fait partis de la ligne de commande à exécuter, et n'est pas un des ses paramètres.

    Désolé pour le code, suis un newbie...
    pas grave, mais c'est pour cela que je te fais la remarque. On ne voit pas tout de suite le #, et les autres boutons
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Août 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Grand merci pour les précisions... j'ai effectué des tests sur base de vos infos et je comprend mieux à présent.

    merci

  6. #6
    Membre éprouvé
    Avatar de maxim_um
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    895
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 895
    Points : 1 018
    Points
    1 018
    Par défaut
    Inutile non plus de citer systématiquement les messages qui précèdent. Aussi un bouton résolu serait bienvenu si c'est le cas. C'est important par ce que cela évite de lire inutilement une discussion pour s'apercevoir qu'en finale elle est déjà résolue.

    Bienvenue krono sur le site de developpez.net

  7. #7
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Le fil étant résolu, il vaut mieux en ouvrir un autre correspondant à ton problème.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Configuration] Impossible de passer des arguments avec require
    Par black is beautiful dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 06/10/2007, 21h58
  2. Réponses: 0
    Dernier message: 16/08/2007, 15h12
  3. [C#] Impossible de mettre des points d'arrets
    Par padodanle51 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/08/2006, 15h57
  4. mettre des arguments ds Document.Saisie.Action?
    Par zorba49 dans le forum VBScript
    Réponses: 2
    Dernier message: 21/06/2006, 11h14

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