summaryrefslogtreecommitdiffstats
path: root/doc/manual/en_US/man_VBoxManage-guestcontrol.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/en_US/man_VBoxManage-guestcontrol.xml')
-rw-r--r--doc/manual/en_US/man_VBoxManage-guestcontrol.xml1301
1 files changed, 1301 insertions, 0 deletions
diff --git a/doc/manual/en_US/man_VBoxManage-guestcontrol.xml b/doc/manual/en_US/man_VBoxManage-guestcontrol.xml
new file mode 100644
index 00000000..c7cb6334
--- /dev/null
+++ b/doc/manual/en_US/man_VBoxManage-guestcontrol.xml
@@ -0,0 +1,1301 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ manpage, user manual, usage: VBoxManage guestcontrol
+-->
+<!--
+ Copyright (C) 2006-2022 Oracle and/or its affiliates.
+
+ This file is part of VirtualBox base platform packages, as
+ available from https://www.virtualbox.org.
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License
+ as published by the Free Software Foundation, in version 3 of the
+ License.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <https://www.gnu.org/licenses>.
+
+ SPDX-License-Identifier: GPL-3.0-only
+-->
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
+<!ENTITY % all.entities SYSTEM "all-entities.ent">
+%all.entities;
+]>
+<refentry id="vboxmanage-guestcontrol" lang="en">
+ <refentryinfo>
+ <pubdate>$Date: 2023-01-05 14:44:46 +0100 (Thu, 05 Jan 2023) $</pubdate>
+ <title>VBoxManage guestcontrol</title>
+ </refentryinfo>
+
+ <refmeta>
+ <refentrytitle>VBoxManage-guestcontrol</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </refmeta>
+
+ <refnamediv>
+ <refname>VBoxManage-guestcontrol</refname>
+ <refpurpose>control a virtual machine from the host system</refpurpose>
+ <refclass>&product-name;</refclass>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-run">
+<!-- The 'id' is mandatory and must start with 'synopsis-'. -->
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">run</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <arg>--dos2unix</arg>
+ <arg>--exe=<replaceable>filename</replaceable></arg>
+ <arg>--ignore-orphaned-processes</arg>
+ <group>
+ <arg choice="plain">--no-wait-stderr</arg>
+ <arg choice="plain">--wait-stderr</arg>
+ </group>
+ <group>
+ <arg choice="plain">--no-wait-stdout</arg>
+ <arg choice="plain">--wait-stdout</arg>
+ </group>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--profile</arg>
+ <arg>--putenv=<replaceable>var-name</replaceable>=[<replaceable>value</replaceable>]</arg>
+ <arg>--quiet</arg>
+ <arg>--timeout=<replaceable>msec</replaceable></arg>
+ <arg>--unix2dos</arg>
+ <arg>--unquoted-args</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req">-- <replaceable>program/arg0</replaceable> <arg rep="repeat"><replaceable>argument</replaceable></arg></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-start">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">start</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <arg>--exe=<replaceable>filename</replaceable></arg>
+ <arg>--ignore-orphaned-processes</arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--profile</arg>
+ <arg>--putenv=<replaceable>var-name</replaceable>=[<replaceable>value</replaceable>]</arg>
+ <arg>--quiet</arg>
+ <arg>--timeout=<replaceable>msec</replaceable></arg>
+ <arg>--unquoted-args</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req">-- <replaceable>program/arg0</replaceable> <arg rep="repeat"><replaceable>argument</replaceable></arg></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyfrom">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">copyfrom</arg>
+ <arg>--dereference</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--no-replace</arg>
+ <arg>--recursive</arg>
+ <arg>--target-directory=<replaceable>host-destination-dir</replaceable></arg>
+ <arg>--update</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req"><replaceable>guest-source0</replaceable></arg>
+ <arg choice="plain"><replaceable>guest-source1</replaceable> [...]</arg>
+ <arg choice="req"><replaceable>host-destination</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-copyto">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">copyto</arg>
+ <arg>--dereference</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--no-replace</arg>
+ <arg>--recursive</arg>
+ <arg>--target-directory=<replaceable>guest-destination-dir</replaceable></arg>
+ <arg>--update</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req"><replaceable>host-source0</replaceable></arg>
+ <arg choice="plain"><replaceable>host-source1</replaceable> [...]</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mkdir">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">mkdir</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <arg>--mode=<replaceable>mode</replaceable></arg>
+ <arg>--parents</arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-rmdir">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">rmdir</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--recursive</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-rm">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">rm</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <arg>--force</arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req" rep="repeat"><replaceable>guest-directory</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mv">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">mv</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req" rep="repeat"><replaceable>source</replaceable></arg>
+ <arg choice="req"><replaceable>destination-directory</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-mktemp">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">mktemp</arg>
+ <arg>--directory</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <arg>--mode=<replaceable>mode</replaceable></arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--secure</arg>
+ <arg>--tmpdir=<replaceable>directory-name</replaceable></arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req"><replaceable>template-name</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-stat">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">stat</arg>
+ <arg>--domain=<replaceable>domainname</replaceable></arg>
+ <group>
+ <arg choice="plain">--passwordfile=<replaceable>password-file</replaceable></arg>
+ <arg choice="plain">--password=<replaceable>password</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--username=<replaceable>username</replaceable></arg>
+ <arg>--verbose</arg>
+ <arg choice="req"><replaceable>filename</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-list">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">list</arg>
+ <group choice="req">
+ <arg choice="plain">all</arg>
+ <arg choice="plain">files</arg>
+ <arg choice="plain">processes</arg>
+ <arg choice="plain">sessions</arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--verbose</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-closeprocess">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">closeprocess</arg>
+ <group>
+ <arg choice="plain">--session-id=<replaceable>ID</replaceable></arg>
+ <arg choice="plain">--session-name=<replaceable>name-or-pattern</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--verbose</arg>
+ <arg choice="req" rep="repeat"><replaceable>PID</replaceable></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-closesession">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">closesession</arg>
+ <group>
+ <arg choice="plain">--all</arg>
+ <arg choice="plain">--session-id=<replaceable>ID</replaceable></arg>
+ <arg choice="plain">--session-name=<replaceable>name-or-pattern</replaceable></arg>
+ </group>
+ <arg>--quiet</arg>
+ <arg>--verbose</arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-updatega">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">updatega</arg>
+ <arg>--quiet</arg>
+ <arg>--verbose</arg>
+ <arg>--source=<replaceable>guest-additions.ISO</replaceable></arg>
+ <arg>--wait-start</arg>
+ <arg>-- <arg rep="repeat"><replaceable>argument</replaceable></arg></arg>
+ </cmdsynopsis>
+
+ <cmdsynopsis id="synopsis-vboxmanage-guestcontrol-watch">
+ <command>VBoxManage guestcontrol</command>
+ <group choice="req">
+ <arg choice="plain"><replaceable>uuid</replaceable></arg>
+ <arg choice="plain"><replaceable>vmname</replaceable></arg>
+ </group>
+ <arg choice="plain">watch</arg>
+ <arg>--quiet</arg>
+ <arg>--verbose</arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1>
+ <title>Description</title>
+ <para>
+ The <command>VBoxManage guestcontrol</command> command enables you
+ to control a guest (VM) from the host system. See
+ <xref linkend="guestadd-guestcontrol" />.
+ </para>
+ <refsect2>
+ <title>Common Options and Operands</title>
+ <para>
+ The following options can be used by any of the
+ <command>VBoxManage guestcontrol</command> subcommands:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><replaceable>uuid</replaceable>|<replaceable>vmname</replaceable></term>
+ <listitem><para>
+ Specifies the Universally Unique Identifier (UUID) or name
+ of the VM.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--quiet</option></term>
+ <listitem><para>
+ Specifies that the command produce quieter output.
+ </para><para>
+ The short form of this option is <option>-q</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--verbose</option></term>
+ <listitem><para>
+ Specifies that the command produce more detailed output.
+ </para><para>
+ The short form of this option is <option>-v</option>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ <para>
+ Some of the <command>VBoxManage guestcontrol</command>
+ subcommands require that you provide guest credentials for
+ authentication. The subcommands are:
+ <command>copyfrom</command>, <command>copyto</command>,
+ <command>mkdir</command>, <command>mktemp</command>,
+ <command>mv</command>, <command>rmdir</command>,
+ <command>rm</command>, <command>run</command>,
+ <command>start</command>, and <command>stat</command>.
+ </para>
+ <para>
+ While you cannot perform anonymous executions, a user account
+ password is optional and depends on the guest's OS security
+ policy. If a user account does not have an associated password,
+ specify an empty password. On OSes such as Windows, you might
+ need to adjust the security policy to permit user accounts with
+ an empty password. In additional, global domain rules might
+ apply and therefore cannot be changed.
+ </para>
+ <para>
+ The following options are used for authentication on the guest
+ VM:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--domain=<replaceable>domainname</replaceable></option></term>
+ <listitem><para>
+ Specifies the user domain for Windows guest VMs.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--password=<replaceable>password</replaceable></option></term>
+ <listitem><para>
+ Specifies the password for the specified user. If you do
+ not specify a password on the command line or if the
+ password file is empty, the specified user needs to have
+ an empty password.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--passwordfile=<replaceable>filename</replaceable></option></term>
+ <listitem><para>
+ Specifies the absolute path to a file on the guest OS that
+ contains the password for the specified user. If the
+ password file is empty or if you do not specify a password
+ on the command line, the specified user needs to have an
+ empty password.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--username=<replaceable>username</replaceable></option></term>
+ <listitem><para>
+ Specifies an existing user on the guest OS that runs the
+ process. If unspecified, the host user runs the process.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2>
+ <title>Guest Process Restrictions</title>
+ <para>
+ By default, you can run up to five guest processes
+ simultaneously. If a new guest process starts and would exceed
+ this limit, the oldest not-running guest process is discarded to
+ run the new process. You cannot retrieve output from a discarded
+ guest process. If all five guest processes are active and
+ running, attempting to start a new guest process fails.
+ </para>
+ <para>
+ You can modify the guest process execution limit in two ways:
+ </para>
+ <itemizedlist>
+ <listitem><para>
+ Use the <command>VBoxManage setproperty</command> command to
+ update the
+ <literal>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</literal>
+ guest property value.
+ </para></listitem>
+ <listitem><para>
+ Use the <command>VBoxService</command> command and specify
+ the
+ <option>--control-procs-max-kept=<replaceable>value</replaceable></option>
+ option.
+ </para></listitem>
+ </itemizedlist>
+ <para>
+ After you change the limit, you must restart the guest OS.
+ </para>
+ <para>
+ You can serve an unlimited number guest processes by specifing a
+ value of <literal>0</literal>, however this action is not
+ recommended.
+ </para>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-run">
+ <title>Run a Command on the guest</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> run</command> command enables
+ you to execute a program on the guest VM. Standard input,
+ standard output, and standard error are redirected from the VM
+ to the host system until the program completes.
+ </para>
+ <note>
+ <para>
+ The Windows OS imposes certain limitations for graphical
+ applications. See <xref linkend="KnownIssues" />.
+ </para>
+ </note>
+ <variablelist>
+ <varlistentry>
+ <term><option>--exe=<replaceable>path-to-executable</replaceable></option></term>
+ <listitem><para>
+ Specifies the absolute path of the executable program to
+ run on the guest VM. For example:
+ <filename>C:\Windows\System32\calc.exe</filename>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--timeout=<replaceable>msec</replaceable></option></term>
+ <listitem><para>
+ Specifies the maximum amount of time, in milliseconds,
+ that the program can run. While the program runs,
+ <command>VBoxManage</command> receives its output.
+ </para><para>
+ If you do not specify a timeout value,
+ <command>VBoxManage</command> waits indefinitely for the
+ process to end, or for an error to occur.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option></term>
+ <listitem><para>
+ Sets, modifies, and unsets environment variables in the
+ guest VM environment.
+ </para><para>
+ When you create a guest process, it runs with the default
+ standard guest OS environment. Use this option to modify
+ environment variables in that default environment.
+ </para><para>
+ Use the
+ <option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option>
+ option to set or modify the environment variable specified
+ by <replaceable>NAME</replaceable>.
+ </para><para>
+ Use the
+ <option>--putenv=<replaceable>NAME</replaceable>=[<replaceable>value</replaceable>]</option>
+ option to unset the environment variable specified by
+ <replaceable>NAME</replaceable>.
+ </para><para>
+ Ensure that any environment variable name or value that
+ includes spaces is enclosed by quotes.
+ </para><para>
+ Specify a <option>--putenv</option> option for each
+ environment variable that you want to modify.
+ </para><para>
+ The short form of this option is <option>-E</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--unquoted-args</option></term>
+ <listitem><para>
+ Disables the escaped double quoting of arguments that you
+ pass to the program. For example,
+ <literal>\"fred\"</literal>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--ignore-orphaned-processes</option></term>
+ <listitem><para>
+ Ignores orphaned processes. Not yet implemented.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--profile</option></term>
+ <listitem><para>
+ Uses a shell profile to specify the environment to use.
+ Not yet implemented.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--no-wait-stdout</option></term>
+ <listitem><para>
+ Does not wait for the guest process to end or receive its
+ exit code and any failure explanation.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--wait-stdout</option></term>
+ <listitem><para>
+ Waits for the guest process to end to receive its exit
+ code and any failure explanation. The
+ <command>VBoxManage</command> command receives the
+ standard output of the guest process while the process
+ runs.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--no-wait-stderr</option></term>
+ <listitem><para>
+ Does not wait for the guest process to end to receive its
+ exit code, error messages, and flags.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--wait-stderr</option></term>
+ <listitem><para>
+ Waits for the guest process to end to receive its exit
+ code, error messages, and flags. The
+ <command>VBoxManage</command> command receives the
+ standard error of the guest process while the process
+ runs.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--dos2unix</option></term>
+ <listitem><para>
+ Transform DOS or Windows guest output to UNIX or Linux
+ output. This transformation changes CR + LF line endings
+ to LF. Not yet implemented.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--unix2dos</option></term>
+ <listitem><para>
+ Transform UNIX or Linux guest output to DOS or Windows
+ output. This transformation changes LF line endings to CR
+ + LF.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-- <replaceable>program/arg0</replaceable> [<replaceable>argument</replaceable>...]</option></term>
+ <listitem><para>
+ Specifies the name of the program and any arguments to
+ pass to the program.
+ </para><para>
+ Ensure that any command argument that includes spaces is
+ enclosed by quotes.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-start">
+ <title>Start a Command on the guest</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> start</command> command
+ enables you to execute a guest program until it completes.
+ </para>
+ <note>
+ <para>
+ The Windows OS imposes certain limitations for graphical
+ applications. See <xref linkend="KnownIssues" />.
+ </para>
+ </note>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-copyfrom">
+ <title>Copy a file from the guest to the host.</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> copyfrom</command> command
+ enables you to copy a file from the guest VM to the host system.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--dereference</option></term>
+ <listitem><para>
+ Enables following of symbolic links on the guest file
+ system.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--no-replace</option></term>
+ <listitem><para>
+ Only copies a file if it does not exist on the host yet.
+ </para><para>
+ The short form of this option is <option>-n</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--recursive</option></term>
+ <listitem><para>
+ Recursively copies files and directories from the
+ specified guest directory to the host.
+ </para><para>
+ The short form of this option is <option>-R</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--target-directory=<replaceable>host-dst-dir</replaceable></option></term>
+ <listitem><para>
+ Specifies the absolute path of the destination directory
+ on the host system. For example,
+ <filename>C:\Temp</filename>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--update</option></term>
+ <listitem><para>
+ Only copies a file if the guest file is newer than on the host.
+ </para><para>
+ The short form of this option is <option>-u</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><replaceable>guest-source0</replaceable> [<replaceable>guest-source1</replaceable> [...]]</literal></term>
+ <listitem><para>
+ Specifies the absolute path of one or more files to copy
+ from the guest VM. For example,
+ <filename>C:\Windows\System32\calc.exe</filename>. You can
+ use wildcards to specify multiple files. For example,
+ <filename>C:\Windows\System*\*.dll</filename>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-copyto">
+ <title>Copy a file from the host to the guest.</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> copyto</command> command
+ enables you to copy a file from the host system to the guest VM.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--dereference</option></term>
+ <listitem><para>
+ Enables following of symbolic links on the host system.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--no-replace</option></term>
+ <listitem><para>
+ Only copies a file if it does not exist on the guest yet.
+ </para><para>
+ The short form of this option is <option>-n</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--recursive</option></term>
+ <listitem><para>
+ Recursively copies files and directories from the
+ specified host directory to the guest.
+ </para><para>
+ The short form of this option is <option>-R</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--target-directory=<replaceable>guest-dst-dir</replaceable></option></term>
+ <listitem><para>
+ Specifies the absolute path of the destination directory
+ on the guest. For example,
+ <filename>/home/myuser/fromhost</filename>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--update</option></term>
+ <listitem><para>
+ Only copies a file if the host file is newer than on the guest.
+ </para><para>
+ The short form of this option is <option>-u</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><replaceable>host-source0</replaceable> [<replaceable>host-source1</replaceable> [...]]</literal></term>
+ <listitem><para>
+ Specifies the absolute path of a file to
+ copy from the host system. For example,
+ <filename>C:\Windows\System32\calc.exe</filename>. You can
+ use wildcards to specify multiple files. For example,
+ <filename>C:\Windows\System*\*.dll</filename>.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-mkdir">
+ <title>Create a directory on the guest.</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> mkdir</command> command
+ enables you to create one or more directories on the guest VM.
+ </para>
+ <para>
+ Alternate forms of this subcommand are <command>md</command>,
+ <command>createdir</command>, and
+ <command>createdirectory</command>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--parents</option></term>
+ <listitem><para>
+ Creates any of the missing parent directories of the
+ specified directory.
+ </para><para>
+ For example, if you attempt to create the
+ <filename>D:\Foo\Bar</filename> directory and the
+ <filename>D:\Foo</filename> directory does not exist,
+ using the <option>--parents</option> creates the missing
+ <filename>D:\Foo</filename> directory. However, if you
+ attempt to create the <filename>D:\Foo\Bar</filename> and
+ do not specify the <option>--parents</option> option, the
+ command fails.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--mode=<replaceable>mode</replaceable></option></term>
+ <listitem><para>
+ Specifies the permission mode to use for the specified
+ directory. If you specify the <option>--parents</option>
+ option, the mode is used for the associated parent
+ directories, as well. <replaceable>mode</replaceable> is a
+ four-digit octal mode such as <literal>0755</literal>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><replaceable>guest-dir</replaceable> [<replaceable>guest-dir</replaceable>...]</literal></term>
+ <listitem><para>
+ Specifies an absolute path of one or more directories to
+ create on the guest VM. For example,
+ <filename>D:\Foo\Bar</filename>.
+ </para><para>
+ If all of the associated parent directories do not exist
+ on the guest VM, you must specify the
+ <option>--parents</option> option.
+ </para><para>
+ You must have sufficient rights on the guest VM to create
+ the specified directory and its parent directories.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-rmdir">
+ <title>Remove a directory from the guest.</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> rmdir</command> command
+ enables you to delete the specified directory from the guest VM.
+ </para>
+ <para>
+ Alternate forms of this subcommand are
+ <command>removedir</command> and
+ <command>removedirectory</command>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--recursive</option></term>
+ <listitem><para>
+ Recursively removes directories from the specified from
+ the guest VM.
+ </para><para>
+ The short form of this option is <option>-R</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><replaceable>guest-dir</replaceable> [<replaceable>guest-dir</replaceable>...]</literal></term>
+ <listitem><para>
+ Specifies an absolute path of one or more directories to
+ remove from the guest VM. You can use wildcards to specify
+ the directory names. For example,
+ <filename>D:\Foo\*Bar</filename>.
+ </para><para>
+ You must have sufficient rights on the guest VM to remove
+ the specified directory and its parent directories.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-rm">
+ <title>Remove a file from the guest.</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> rm</command> command enables
+ you to delete the specified files from the guest VM.
+ </para>
+ <para>
+ The alternate form of this subcommand is
+ <command>removefile</command>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--force</option></term>
+ <listitem><para>
+ Forces the operation and overrides any confirmation
+ requests.
+ </para><para>
+ The short form of this option is <option>-f</option>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><replaceable>guest-file</replaceable> [<replaceable>guest-file</replaceable>...]</literal></term>
+ <listitem><para>
+ Specifies an absolute path of one or more file to remove
+ from the guest VM. You can use wildcards to specify the
+ file names. For example,
+ <filename>D:\Foo\Bar\text*.txt</filename>.
+ </para><para>
+ You must have sufficient rights on the guest VM to remove
+ the specified file.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-mv">
+ <title>Rename a file or Directory on the guest</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> mv</command> command enables
+ you to rename files and directories on the guest VM.
+ </para>
+ <para>
+ Alternate forms of this subcommand are <command>move</command>,
+ <command>ren</command>, and <command>rename</command>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><literal><replaceable>guest-source</replaceable> [<replaceable>guest-source</replaceable>...]</literal></term>
+ <listitem><para>
+ Specifies an absolute path of a file or a single directory
+ to move or rename on the guest VM. You can use wildcards
+ to specify the file names.
+ </para><para>
+ You must have sufficient rights on the guest VM to access
+ the specified file or directory.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable>dest</replaceable></term>
+ <listitem><para>
+ Specifies the absolute path of the renamed file or
+ directory, or the destination directory to which to move
+ the files. If you move only one file,
+ <replaceable>dest</replaceable> can be a file or a
+ directory, otherwise <replaceable>dest</replaceable> must
+ be a directory.
+ </para><para>
+ You must have sufficient rights on the guest VM to access
+ the destination file or directory.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-mktemp">
+ <title>Create a Temporary File or Directory on the guest</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> mktemp</command> command
+ enables you to create a temporary file or temporary directory on
+ the guest VM. You can use this command to assist with the
+ subsequent copying of files from the host system to the guest
+ VM. By default, this command creates the file or directory in
+ the guest VM's platform-specific <filename>temp</filename>
+ directory.
+ </para>
+ <para>
+ Alternate forms of this subcommand are
+ <command>createtemp</command> and
+ <command>createtemporary</command>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--directory</option></term>
+ <listitem><para>
+ Creates a temporary directory that is specified by the
+ <replaceable>template</replaceable> operand.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--secure</option></term>
+ <listitem><para>
+ Enforces secure file and directory creation by setting the
+ permission mode to <literal>0755</literal>. Any operation
+ that cannot be performed securely fails.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--mode=<replaceable>mode</replaceable></option></term>
+ <listitem><para>
+ Specifies the permission mode to use for the specified
+ directory. <replaceable>mode</replaceable> is a four-digit
+ octal mode such as <literal>0755</literal>.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--tmpdir=<replaceable>directory</replaceable></option></term>
+ <listitem><para>
+ Specifies the absolute path of the directory on the guest
+ VM in which to create the specified file or directory. If
+ unspecified, <replaceable>directory</replaceable> is the
+ platform-specific <filename>temp</filename> directory.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><replaceable>template</replaceable></term>
+ <listitem><para>
+ Specifies a template file name for the temporary file,
+ without a directory path. The template file name must
+ contain at least one sequence of three consecutive X
+ characters, or must end in X.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-stat">
+ <title>Show a file or File System Status on the guest</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> stat</command> command enables
+ you to show the status of files or file systems on the guest VM.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><literal><replaceable>file</replaceable> [<replaceable>file</replaceable> ...]</literal></term>
+ <listitem><para>
+ Specifies an absolute path of a file or file system on the
+ guest VM. For example,
+ <filename>/home/foo/a.out</filename>.
+ </para><para>
+ You must have sufficient rights on the guest VM to access
+ the specified files or file systems.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-list">
+ <title>List the Configuration and Status Information for a Guest Virtual
+ Machine</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> list</command> command enables
+ you to list guest control configuration and status information.
+ For example, the output shows open guest sessions, guest
+ processes, and files.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><literal>all</literal>|<literal>sessions</literal>|<literal>processes</literal>|<literal>files</literal></term>
+ <listitem><para>
+ Indicates the type of information to show.
+ <literal>all</literal> shows all available data,
+ <literal>sessions</literal> shows guest sessions,
+ <literal>processes</literal> shows processes, and
+ <literal>files</literal> shows files.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-closeprocess">
+ <title>Terminate a Process in a guest Session</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> closeprocess</command> command
+ enables you to terminate a guest process that runs in a guest
+ session. Specify the process by using a process identifier (PID)
+ and the session by using the session ID or name.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--session-id=<replaceable>ID</replaceable></option></term>
+ <listitem><para>
+ Specifies the ID of the guest session.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--session-name=<replaceable>name</replaceable>|<replaceable>pattern</replaceable></option></term>
+ <listitem><para>
+ Specifies the name of the guest session. Use a pattern
+ that contains wildcards to specify multiple sessions.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><literal><replaceable>PID</replaceable> [<replaceable>PID</replaceable> ...]</literal></term>
+ <listitem><para>
+ Specifies the list of PIDs of guest processes to
+ terminate.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-closesession">
+ <title>Close a guest Session</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> closesession</command> command
+ enables you to close a guest session. Specify the guest session
+ either by session ID or by name.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--session-id=<replaceable>ID</replaceable></option></term>
+ <listitem><para>
+ Specifies the ID of the guest session.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--session-name=<replaceable>name</replaceable>|<replaceable>pattern</replaceable></option></term>
+ <listitem><para>
+ Specifies the name of the guest session. Use a pattern
+ that contains wildcards to specify multiple sessions.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--all</option></term>
+ <listitem><para>
+ Closes all guest sessions.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-updatega">
+ <title>Update the Guest Additions Software on the guest</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> updatega</command> command
+ enables you to update the Guest Additions software installed in
+ the specified guest VM.
+ </para>
+ <para>
+ Alternate forms of this subcommand are
+ <command>updateadditions</command> and
+ <command>updateguestadditions</command>.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--source=<replaceable>new-iso-path</replaceable></option></term>
+ <listitem><para>
+ Specifies the absolute path of the Guest Additions update
+ <filename>.ISO</filename> file on the guest VM.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--reboot</option></term>
+ <listitem><para>
+ Automatically reboots the guest after a successful Guest Additions
+ update.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--timeout=<replaceable>ms</replaceable></option></term>
+ <listitem><para>
+ Sets the timeout (in ms) to wait for the overall Guest Additions update
+ to complete. By default no timeout is being used.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--verify</option></term>
+ <listitem><para>
+ Verifies whether the Guest Additions were updated successfully after
+ a successful installation. A guest reboot is mandatory.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--wait-ready</option></term>
+ <listitem><para>
+ Waits for the current Guest Additions being ready to handle the
+ Guest Additions update.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>--wait-start</option></term>
+ <listitem><para>
+ Starts the <command>VBoxManage</command> update process on
+ the guest VM and then waits for the Guest Additions update
+ to begin before terminating the
+ <command>VBoxManage</command> process.
+ </para><para>
+ By default, the <command>VBoxManage</command> command
+ waits for the Guest Additions update to complete before it
+ terminates. Use this option when a running
+ <command>VBoxManage</command> process affects the
+ interaction between the installer and the guest OS.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-- <replaceable>argument</replaceable> [<replaceable>argument</replaceable> ...]</option></term>
+ <listitem><para>
+ Specifies optional command-line arguments to pass to the
+ Guest Additions updater. You might use the
+ <option>--</option> option to pass the appropriate updater
+ arguments to retrofit features that are not yet installed.
+ </para><para>
+ Ensure that any command argument that includes spaces is
+ enclosed by quotes.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-waitrunlevel">
+ <title>Wait for a guest run level</title>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> waitrunlevel</command> command
+ enables you to wait for a guest run level being reached.
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term><option>--timeout=<replaceable>ms</replaceable></option></term>
+ <listitem><para>
+ Sets the timeout (in ms) to wait for reaching the run level.
+ By default no timeout is being used.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option><replaceable>system</replaceable>|<replaceable>userland</replaceable>|<replaceable>desktop</replaceable></option></term>
+ <listitem><para>
+ Specifies the run level to wait for.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect2>
+ <refsect2 id="vboxmanage-guestcontrol-watch">
+ <title>Show Current Guest Control Activity</title>
+ <remark role="help-copy-synopsis"/>
+ <para>
+ The <command>VBoxManage guestcontrol
+ <replaceable>vmname</replaceable> watch</command> command
+ enables you to show current guest control activity.
+ </para>
+ </refsect2>
+ </refsect1>
+
+ <refsect1>
+ <title>Examples</title>
+ <remark role="help-scope" condition="GLOBAL"/>
+ <para>
+ The following <command>VBoxManage guestcontrol run</command>
+ command executes the <command>ls -l /usr</command> command on the
+ <literal>My OL VM</literal> Oracle Linux VM as the
+ <literal>user1</literal> user.
+ </para>
+<screen>
+$ VBoxManage --nologo guestcontrol "My OL VM" run --exe "/bin/ls" \
+--username user1 --passwordfile pw.txt --wait-stdout -- -l /usr
+</screen>
+ <para>
+ The <option>--exe</option> option specifies the absolute path of
+ the command to run in the guest VM, <filename>/bin/ls</filename>.
+ Use the <option>--</option> option to pass any arguments that
+ follow it to the <command>ls</command> command.
+ </para>
+ <para>
+ Use the <option>--username</option> option to specify the user
+ name, <literal>user1</literal> and use the
+ <option>--passwordfile</option> option to specify the name of a
+ file that includes the password for the <literal>user1</literal>
+ user, <filename>pw.txt</filename>.
+ </para>
+ <para>
+ The <option>--wait-stdout</option> option waits for the
+ <command>ls</command> guest process to complete before providing
+ the exit code and the command output. The
+ <option>--nologo</option> option suppresses the output of the logo
+ information.
+ </para>
+ <para>
+ The following <command>VBoxManage guestcontrol run</command>
+ command executes the <command>ipconfig</command> command on the
+ <literal>My Win VM</literal> Windows VM as the
+ <literal>user1</literal> user. Standard input, standard output,
+ and standard error are redirected from the VM to the host system
+ until the program completes.
+ </para>
+<screen>
+$ VBoxManage --nologo guestcontrol "My Win VM" run \
+--exe "c:\\windows\\system32\\ipconfig.exe" \
+--username user1 --passwordfile pw.txt --wait-stdout
+</screen>
+ <para>
+ The <option>--exe</option> specifies the absolute path of command
+ to run in the guest VM,
+ <filename>c:\windows\system32\ipconfig.exe</filename>. The double
+ backslashes shown in this example are required only on UNIX host
+ systems.
+ </para>
+ <para>
+ Use the <option>--username</option> option to specify the user
+ name, <literal>user1</literal> and use the
+ <option>--passwordfile</option> option to specify the name of a
+ file that includes the password for the <literal>user1</literal>
+ user, <filename>pw.txt</filename>.
+ </para>
+ <para>
+ The <option>--wait-stdout</option> option waits for the
+ <command>ls</command> guest process to complete before providing
+ the exit code and the command output. The
+ <option>--nologo</option> option to suppress the output of the
+ logo information.
+ </para>
+ <para>
+ The following <command>VBoxManage guestcontrol start</command>
+ command executes the <command>ls -l /usr</command> command on the
+ <literal>My OL VM</literal> Oracle Linux VM until the program
+ completes.
+ </para>
+<screen>
+$ VBoxManage --nologo guestcontrol "My Win VM" start \
+--exe "c:\\windows\\system32\\ipconfig.exe" \
+--username user1 --passwordfile pw.txt --wait-stdout
+</screen>
+ </refsect1>
+</refentry>