4Guest Additions
2.In addition, arbitrary string data can be exchanged between guest and host, and in both directions.
To accomplish this, VirtualBox establishes a private communication channel be- tween the VirtualBox Guest Additions and the host, and software on both sides can use this channel to exchange string data for arbitrary purposes. Guest properties are simply string keys to which a value is attached. They can be set (written to) by either the host and the guest, and they can also be read from both sides.
In addition to establishing the general mechanism of reading and writing values, a set of predefined guest properties is automatically maintained by the VirtualBox Guest Additions to allow for retrieving interesting guest data such as the guest’s exact op- erating system and service pack level, the installed version of the Guest Additions, users that are currently logged into the guest OS, network statistics and more. These predefined properties are all prefixed with /VirtualBox/ and organized into a hier- archical tree of keys.
Some of this runtime information is shown when you select “Session Information Dialog” from a virtual machine’s “Machine” menu.
A more flexible way to use this channel is via the VBoxManage guestproperty command set; see chapter 8.25, VBoxManage guestproperty, page 132 for details. For example, to have all the available guest properties for a given running VM listed with their respective values, use this:
$VBoxManage guestproperty enumerate "Windows Vista III"
VirtualBox Command Line Management Interface Version 3.1.0
(C)
Name: /VirtualBox/GuestInfo/OS/Product, value: Windows Vista Business Edition, timestamp: 1229098278843087000, flags:
Name: /VirtualBox/GuestInfo/OS/Release, value: 6.0.6001, timestamp: 1229098278950553000, flags:
Name: /VirtualBox/GuestInfo/OS/ServicePack, value: 1, timestamp: 1229098279122627000, flags:
Name: /VirtualBox/GuestAdd/InstallDir, value: C:/Program Files/Sun/xVM VirtualBox
Guest Additions, timestamp: 1229098279269739000, flags: Name: /VirtualBox/GuestAdd/Revision, value: 40720,
timestamp: 1229098279345664000, flags:
Name: /VirtualBox/GuestAdd/Version, value: 3.1.0, timestamp: 1229098279479515000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxControl.exe, value: 3.1.0r40720, timestamp: 1229098279651731000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxHook.dll, value: 3.1.0r40720, timestamp: 1229098279804835000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxDisp.dll, value: 3.1.0r40720, timestamp: 1229098279880611000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxMRXNP.dll, value: 3.1.0r40720, timestamp: 1229098279882618000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxService.exe, value: 3.1.0r40720, timestamp: 1229098279883195000, flags:
Name: /VirtualBox/GuestAdd/Components/VBoxTray.exe, value: 3.1.0r40720,
74