Tasks that allows the execution of a command and parameters




353 latest version

4.4 quality score

Version information

  • 1.0.0 (latest)
  • 0.9.0
  • 0.8.0
  • 0.7.0
  • 0.6.0
  • 0.5.0
  • 0.4.0
  • 0.3.0
  • 0.2.0
  • 0.1.0
released Mar 2nd 2021
This version is compatible with:
  • Puppet Enterprise 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
  • Puppet >= 6.0.0 < 8.0.0
  • Debian
  • exec

Start using this module


puppetlabs/exec — version 1.0.0 Mar 2nd 2021


Table of Contents

  1. Description
  2. Requirements
  3. Usage - Configuration options and additional functionality
  4. Reference - An under-the-hood peek at what the module is doing and how
  5. Limitations - OS compatibility, etc.
  6. Getting help - Some Helpful commands


This module provides the exec task. This task allows you to run an arbitary command with arguments.


This module is compatible with Puppet Enterprise and Puppet Bolt.

  • To run tasks with Puppet Enterprise, PE 2018.1 or later must be installed on the machine from which you are running task commands. Machines receiving task requests must be Puppet agents.

  • To run tasks with Puppet Bolt, Bolt 1.0 or later must be installed on the machine from which you are running task commands. Machines receiving task requests must have SSH or WinRM services enabled.


To run an exec task, use the task command, specifying the command to be executed.

  • With PE on the command line, run puppet task run exec command=<COMMAND>.
  • With Bolt on the command line, run bolt task run exec command=<COMMAND>.

For example, to view the free disk space of a host, run:

  • With PE, run puppet task run exec command="df -h" --nodes neptune.
  • With Bolt, run bolt task run exec command="df -h" --nodes neptune --modulepath ~/modules.

This example is specifically for Windows using Powershell and returns a list of features installed on the server: puppet task run exec command='powershell -command "Get-WindowsFeature | Where Installed | Format-List -Property Name"' --nodes neptune

You can also run tasks in the PE console. See PE task documentation for complete information.


For detailed reference information, see the REFERENCE.md


To run acceptance tests against Windows machines locally, ensure that the BEAKER_password environment variable has been set to the password of the Administrator user of the target machine.

For an extensive list of supported operating systems, see metadata.json

Getting Help

To display help for the package task, run puppet task show package

To show help for the task CLI, run puppet task run --help or bolt task run --help


Acceptance tests for this module leverage puppet_litmus. To run the acceptance tests follow the instructions here. You can also find a tutorial and walkthrough of using Litmus and the PDK on YouTube.

If you run into an issue with this module, or if you would like to request a feature, please file a ticket. Every Monday the Puppet IA Content Team has office hours in the Puppet Community Slack, alternating between an EMEA friendly time (1300 UTC) and an Americas friendly time (0900 Pacific, 1700 UTC).

If you have problems getting this module up and running, please contact Support.

If you submit a change to this module, be sure to regenerate the reference documentation as follows:

puppet strings generate --format markdown --out REFERENCE.md