VMware vSphere GuestStore is a new feature that provides a centralized repository for VMware Tools upgrades and VMware agents. What is GuestStore, and how is it configured?

VMware has been steadily improving vSphere's ability to deliver content by enhancing the functionality of Content Libraries. vSphere 7 Update 2 introduced another new feature in this category called VMware Tools GuestStore. It enables vSphere admins to distribute various content to the guest OS in the virtual machines.

A strong use case for GuestStore is to distribute VMware Tools to multiple guests simultaneously in a way that allows some degree of automation. At its core, it is essentially a directory on a shared datastore connected to multiple ESXi hosts. It has a special flag set using the ESXCLI command line utility. Using the shared datastore location, vSphere administrators can ensure distributed content is always consistent.

VMware vSphere 7.0 Update 2 GuestStore architecture

VMware vSphere 7.0 Update 2 GuestStore architecture

GuestStore use cases

After configuring the GuestStore repository, vSphere administrators can schedule a VMware Tools upgrade when a virtual machine is rebooted. The upgrade can also be performed on an ad-hoc basis.

What other types of content can be distributed with the GuestStore repository?

  • VMware agent updates
  • Configuration files for VMware agents and VMware Tools
  • Custom content for your organization, including configuration files, scripts, and agents


VMware notes the following with regard to using the GuestStore:

  • VMs must be running Windows guest operating systems
  • ESXi hosts that are loaded with vSphere 7.0 U2 and later
  • VMware Tools 11.2.5 and later
  • Files distributed from the GuestStore must be 512 MB or smaller

Configuring the GuestStore using ESXCLI

There are only a couple of steps involved in actually creating the GuestStore. It involves:

  1. Creating the folder on the shared datastore
  2. Designating the folder as the GuestStore using ESXCLI

Below, I am creating the GuestStore on a vsanDatastore.

Creating a new folder on a shared datastore for the GuestStore

Creating a new folder on a shared datastore for the GuestStore

Next, use the esxcli command to designate the GuestStore repository. The format of the command is as follows:

esxcli system settings gueststore repository set --url "ds:///vmfs/volumes/<datastore_uuid>/GuestStore"

To find the UUID at the ESXi command line, enter:

esxcli storage filesystem list

As you can see below, the command returns the UUID, among other details. Next, simply plug in the UUID of the shared datastore in the esxcli gueststore command above.

Finding the UUID and assigning the GuestStore

Finding the UUID and assigning the GuestStore

To verify the GuestStore repository configuration, use the command:

esxcli system settings gueststore repository get
Verifying the GuestStore repository

Verifying the GuestStore repository

VMware Tools upgrades

Recent VMware Tools versions can be configured to look at the GuestStore and pull upgrades from this location. VMware Tools upgrades from the GlobalStore can be configured locally and globally. You can edit the tools.conf file in the local VMware Tools configuration on each virtual machine found in the directory:

c:\ProgramData\VMware\VMware Tools
The local tools.conf file used to configure GuestStore upgrades

The local tools.conf file used to configure GuestStore upgrades

Starting with VMware Tools version 11.2.5, there is a gueststoreupgrade value in the tools.conf file that defines policy values for upgrade behavior. VMware Tools can be set to upgrade with a power cycle if desired. It will pull the latest version found in the GuestStore repository on boot.

Policy values used with the GuestStore

Policy values used with the GuestStore

There is also the concept of configuring this setting globally in a tools.conf file housed in the GuestStore. When virtual machines have the GlobalConf module enabled, the VMware Tools installation looks in the GuestStore for the global configuration defined in the path:


How is the GlobalConf module enabled? On the virtual machine, you can check the status, enable, and disable using the following:

VMwareToolboxCmd.exe globalconf status
VMwareToolboxCmd.exe globalconf enable
VMwareToolboxCmd.exe globalconf disable
VMwareToolboxCmd.exe globalconf refresh
Checking GuestStore GlobalConf status and enabling

Checking GuestStore GlobalConf status and enabling

When enabled, the VM will check the GuestStore every 60 minutes by default.

GlobalConf set in the tools.conf file

GlobalConf set in the tools.conf file

The following configuration settings can be set under the GlobalConf:

Subscribe to 4sysops newsletter!

  • enabled=true: Enables the module.
  • poll-interval=3600: Interval value should be specified in seconds. Default value: 3600 seconds. Minimum value: 1800 seconds.
  • resource=/path/to/tools/conf/in/gueststore: Default value is "/vmware/configurations/vmtools/windows/tools.conf"

Wrapping up

The GuestStore offers vSphere admins a new option for content delivery in vSphere environments, including VMware Tools and other VMware agents. As shown, the GuestStore is easily configured and manipulated with the VMware Tools configuration settings.


Leave a reply

Please enclose code in pre tags: <pre></pre>

Your email address will not be published. Required fields are marked *


© 4sysops 2006 - 2023


Please ask IT administration questions in the forums. Any other messages are welcome.


Log in with your credentials


Forgot your details?

Create Account