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

VirtualBox Discussion :

VBoxManage : demander à une MV d'exécuter des commandes.


Sujet :

VirtualBox

  1. #1
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut VBoxManage : demander à une MV d'exécuter des commandes.
    Bonsoir,

    il semblerait que ce que j'ai écrit en titre soit possible, mais je n'y arrive pas : je tape ma commande, j'appuie sur Entrée, ça me rend le prompt et rien ne se passe dans la mv (Windows XP).

    La commande pour tenter de lancer l'explorateur, par ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     vboxmanage guestcontrol nom_de_la_mv exec --image "explorer" --username Administrateur
    Note : taper explorer dans une fenêtre Dos lance bien l'explorateur de fichiers.
    Autre commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vboxmanage guestcontrol nom_de_la_mv createdir "c:/test" --username Administrateur
    VBoxManage: error: The specified user was not able to logon on guest.


    Une idée ?

    Un peu d'aide (il y a d'autres commandes, non testées) :
    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
    $ vboxmanage guestcontrol
    Usage:
    
    VBoxManage guestcontrol     <vmname>|<uuid>
                                exec[ute]
                                --image <path to program> --username <name>
                                [--passwordfile <file> | --password <password>]
                                [--domain <domain>] [--verbose] [--timeout <msec>]
                                [--environment "<NAME>=<VALUE> [<NAME>=<VALUE>]"]
                                [--wait-exit] [--wait-stdout] [--wait-stderr]
                                [--dos2unix] [--unix2dos]
                                [-- [<argument1>] ... [<argumentN>]]
    
                                createdir[ectory]|mkdir|md
                                <guest directory>... --username <name>
                                [--passwordfile <file> | --password <password>]
                                [--domain <domain>] [--verbose]
                                [--parents] [--mode <mode>]
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut
    Si je regardes la doc --image n'existe pas, par contre il y a run.
    Chez moi ça marche avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    vboxmanage guestcontrol "nom VM" run --exe  "c:\Windows\explorer.exe" --username nom_user--password mot_de_passe
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Bonjour,

    Citation Envoyé par chrtophe Voir le message
    Chez moi ça marche avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    vboxmanage guestcontrol "nom VM" run --exe "c:\Windows\explorer.exe" --username nom_user --password mot_de_passe
    grand merci pour le coup de main, , tout seul je n'y serais pas arrivé :
    • comme tu as pu le lire, le bout d'aide que j'ai donné vient de ma vieille 4.2.8 et effectivement, avec la 6.1.16, --image est devenu --run ;
    • mais la nouvelle aide continue à indiquer que username et password sont optionnels, ce qui dans mon cas est faux. (et le password en clair c'est très moyen, surtout pour les scripteurs...) ;
    • et bien penser à avoir installé les Additions Invité avant, sinon messages d'erreur tellement à côté de la plaque que sans connexion internet pour les googler, c'est incompréhensible !

    EDIT : encore mieux que run, la commande start :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ vboxmanage guestcontrol "nom_machine" --username XXX --password YYY start --exe "c:\windows\explorer.exe"
    Et pour les options, on approche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ vboxmanage guestcontrol "nom_machine" --username XXX --password YYY start --exe "c:\windows\explorer.exe" -- "explorer.exe" "c:\windows"
    m'affiche bien un explorateur ouvert sur le dossier C:\Windows , et ça aussi ça fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ vboxmanage guestcontrol "nom_machine" --username XXX --password YYY start --exe "c:\windows\system32\shutdown.exe" -- "shutdown.exe" "-i" "-l"
    , qui ne m'aura servi que pour voir le passage de params à shutdown, donc avec ... -- "shutdown.exe" "-t" "5" "-s" j'éteins la machine au bout de 5 secondes.

    Bien, très très bien !
    EDIT : encore mieux pour le passage d'arguments : pas besoin des double quotes, ... -- shutdown.exe -t 5 -s fonctionne aussi tip-top
    et encore merci pour le pied à l'étrier.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 106
    Points
    43 106
    Par défaut
    encore mieux que run, la commande start :
    La doc n'est pas très claire sur la différcence. Je pense que run renvoie stdin, stdout et stderr de la VM sur l'appelant, donc spécifique Linux. Sur Windows, peut-être même effet.

    encore mieux pour le passage d'arguments : pas besoin des double quotes,
    En général on utilise les quotes quand les arguments comportent des espaces.

    mais la nouvelle aide continue à indiquer que username et password sont optionnels
    Je pense que les commandes passent par le réseau virtuel, et maintenant plus aucun OS n'autorise un accès distant par défaut sans couple login/pwd.

    et le password en clair c'est très moyen, surtout pour les scripteurs
    Tu peux utiliser un passfile.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 730
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 730
    Points : 15 132
    Points
    15 132
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    La doc n'est pas très claire sur la différence. Je pense que run renvoie stdin, stdout et stderr de la VM sur l'appelant, donc spécifique Linux. Sur Windows, peut-être même effet.
    Oui, et comme j'ai eu un retour de shutdown en le lançant avec start, je crois qu'il faudrait faire plein d'essais et je n'ai pas trop le temps, là...

    Citation Envoyé par chrtophe Voir le message
    Je pense que les commandes passent par le réseau virtuel, et maintenant plus aucun OS n'autorise un accès distant par défaut sans couple login/pwd.
    ok.

    Citation Envoyé par chrtophe Voir le message
    Tu peux utiliser un passfile.
    Oui, vu après avoir posté.

    Encore merci.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

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

Discussions similaires

  1. Exécuter des commandes SQL*PLUS avec une app JAVA
    Par youness15 dans le forum Général Java
    Réponses: 14
    Dernier message: 11/12/2015, 13h42
  2. Réponses: 2
    Dernier message: 31/08/2010, 11h58
  3. dynamic sql : exécuter des commandes sql d'une table
    Par bibi92 dans le forum Développement
    Réponses: 5
    Dernier message: 22/03/2010, 11h01
  4. [Systeme] Exécuter des commandes unix en java
    Par kenny49 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 12/02/2007, 11h37
  5. Réponses: 2
    Dernier message: 02/11/2004, 06h52

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