Forge Home


Deploys & manages VMware Tools for Windows on VMware guests.


3,037 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.1.2 (latest)
  • 1.1.1
  • 1.1.0
  • 1.0.7
  • 1.0.6
  • 1.0.5
  • 1.0.4
  • 1.0.3
  • 1.0.2
  • 1.0.0
released May 19th 2021
This version is compatible with:
  • Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >=5.5.0 <8.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'kreeuwijk-vmtools_win', '1.1.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add kreeuwijk-vmtools_win
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install kreeuwijk-vmtools_win --version 1.1.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



kreeuwijk/vmtools_win — version 1.1.2 May 19th 2021

VMware Tools for Windows

Build Status Puppet Forge Puppet Forge Downloads

Table of Contents


This Puppet module manages the installation, configuration and removal of the Windows Operating System Specific Packages for VMware Tools. This allows you to use Windows' native tools to install, update and uninstall the VMware Tools for Windows.

Module Description

This Puppet module manages the installation, configuration and removal of the Windows Operating System Specific Packages for VMware Tools. The OSP is still the recommended package to install for Windows (vs. open-vm-tools now being recommended for most non-Windows OS'es).

The module supports both installing the latest version from and installing any version you have downloaded yourself and made available (either on the Puppet server or somewhere else on the network).

The latest version also supports uninstalling the currently installed version of the VMware Tools.


What this module affects

  • Downloads the latest version from if you allow it (this is the default)
  • Upgrades existing versions of the VMware Tools if a lower version is found (you can configure how much lower)
  • Installs the OSP VMware Tools.
  • Can allow or prevent automatic reboots after installation.
  • Allows you to specify which components of the VMware Tools to install
  • Can be used to uninstall VMware Tools (uses msiexec /X)


You need to be running a Windows virtual machine on the VMware platform for this module to do anything.

Beginning with this module

It is safe for all nodes to use this declaration. Any non-VMware or unsupported system will skip installation of the package.

include vmtools_win

Using a simple include statement will cause the defaults to be used:

  • Downloads the latest version from
  • Upgrades existing versions of the VMware Tools if a lower x.y.z version is found
  • Installs the OSP VMware Tools with all components, prevents reboots after installation



All interaction with the vmtools_win module can be done through the main vmtools_win class. This means you can simply toggle the options in ::vmtools_win to have full functionality of the module.

To allow the latest x.y.z version (e.g. 10.1.10 regardless of specific build number) on to be installed, while preventing any automatic reboots, simply include or instantiate the class:

class { 'vmtools_win': }

To set the specific level at which version checking is performed, set the following parameter:

class { 'vmtools_win':
  minimum_version_level => 2,

The levels have the following effect:

  • level 1 -> only looks at the major version (e.g. 10)
  • level 2 -> looks at the major and minor version (e.g. 10.1)
  • level 3 -> looks at the major, minor and micro version (e.g. 10.1.10)
  • level 4 -> looks at the major, minor, micro and build version (e.g.

To allow reboots when required after installation:

class { 'vmtools_win':
  prevent_reboot => false,

To use a self-provided version of VMware Tools that you've made available on the Puppet Master:

class { 'vmtools_win':
  selfprovided_install_file    => 'VMware-tools-10.1.7-5541682-x86_64.exe',
  selfprovided_install_version => '',
  selfprovided_file_source     => 'puppet:///yourcustomrepository',

Uninstalling VMware Tools

To use the module to uninstall the VMware Tools, set the ensure parameter to absent:

class { 'vmtools_win':
  ensure => absent


OS Support:

Windows x64 Operating Systems. Tested on:

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows Server 2019
  • Windows Server Core (SAC)
  • Windows 10




Copyright (C) 2020 Kevin Reeuwijk

Licensed under the Apache License, Version 2.0.