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 :

Comment passer l'argument SW_HIDE avec Runas


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 21
    Points
    21
    Par défaut Comment passer l'argument SW_HIDE avec Runas
    Bonjour,

    Je dois créer un script avec un runas en masquant les fenêtres Dos lancées dans le script.
    La ligne en commentaire fonctionne correctement mais avec le runas je n'arrive pas à passer l'argument "SW_HIDE,true"
    Voici le script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ' WshShell.Run "C:\Down\XP\Install_TV_Cmd_Line.bat", SW_HIDE,true
     
    Set WshShell = WScript.CreateObject("WScript.Shell")
    strcmd="""C:\Down\XP\Install_TV_Cmd_Line.bat"""
    pass = "xxxx"
    User = "xxxx\administrateur"
    Wshshell.run "runas.exe" & " /U:" & user & " " & strcmd
    wscript.sleep(1000)
    Wshshell.sendkeys pass & "{ENTER}"

    Quelqu'un peut-il m'aider ?

    En vous remerciant d'avance de votre aide.

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Avec ce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WshShell.Run "C:\Down\XP\Install_TV_Cmd_Line.bat",0,true

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    Merci de bien vouloir m'aider Hachoofr,

    Oui ça je sais, c'est comme ma ligne commentée qui fonctionne, mais comment l'intégrer au script ?

    Merci d'avance

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 183
    Points
    17 183
    Par défaut
    Salut

    Ta ligne 4 de ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strcmd="""C:\Down\XP\Install_TV_Cmd_Line.bat""" & ",0,true"
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut RunAs

    Voici une commande "NET SESSION" qui requiert un privilége d'administrateur
    Si on execute cet example sans les droits admin on obtient une erreur Accés refusé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Option Explicit
    Const SW_HIDE = 0
    Dim ws,Command,LogFile,return
    LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt"
    set ws = createobject("wscript.shell")
    Command = "cmd /c NET SESSION > "& LogFile &" 2>&1"
    msgbox Command
    return = ws.run(command,SW_HIDE,True)
    ws.run DblQuote(LogFile)
    '**************************************
    Function DblQuote(Str)
        DblQuote = chr(34) & Str & chr(34)
    End function
    '**************************************
    Par contre si on l'exécute comme ceci avec les droits admin :
    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
    Option Explicit
    'Run as Admin
    If Not WScript.Arguments.Named.Exists("elevate") Then
       CreateObject("Shell.Application").ShellExecute DblQuote(WScript.FullName) _
       , DblQuote(WScript.ScriptFullName) & " /elevate", "", "runas", 1
        WScript.Quit
    End If
    Const SW_HIDE = 0
    Dim ws,Command,LogFile,return
    LogFile = Left(Wscript.ScriptFullName,InstrRev(Wscript.ScriptFullName, ".")) & "txt"
    set ws = createobject("wscript.shell")
    Command = "cmd /c NET SESSION > "& LogFile &" 2>&1"
    msgbox Command
    return = ws.run(command,SW_HIDE,True)
    ws.run DblQuote(LogFile)
    '**************************************
    Function DblQuote(Str)
        DblQuote = chr(34) & Str & chr(34)
    End function
    '**************************************

  6. #6
    Membre à l'essai
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2012
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2012
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    OK et merci à tous les deux.

    Impossible de lancer le script en masquant les fenêtres et en mode administrateur en même temps, j'ai beau tout essayer, c'est toujours l'un ou l'autre.
    Tant pis, je n'en prendrai qu'un sur deux.
    Merci quand même à vous

    d_dalcan

Discussions similaires

  1. Réponses: 5
    Dernier message: 20/08/2006, 12h32
  2. Réponses: 1
    Dernier message: 08/03/2006, 20h06
  3. Comment passer un argument a un programme et le recuperer
    Par Geant Vert dans le forum C++Builder
    Réponses: 4
    Dernier message: 13/02/2006, 16h32
  4. Comment passer des argument a un script php ?
    Par Florina dans le forum Linux
    Réponses: 2
    Dernier message: 11/12/2005, 14h38
  5. Comment passer les arguments à un script perl
    Par belgampaul dans le forum Langage
    Réponses: 4
    Dernier message: 06/08/2005, 12h52

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