Infrastructure – Formations

Puppet on Windows

Summary of this training

Many organizations manage divergent infrastructures to successfully administer Linux and Windows environments, resulting in multiple tools and teams.

This training will teach you how to consolidate your infrastructure management by combining Puppet, Chocolatey and Powershell Desired State Configuration (DSC). Chocolatey is a Package Manager for Windows and DSC is a Powershell-based configuration framework for Windows that is provided by Microsoft. Puppet fully supports Chocolatey and DSC, making a powerful single solution for managing your multi-platform Linux & Windows environments.

This training will also teach you how to create software packages, how to deploy them with Puppet and understand the benefits of a package manager for Windows. You will also learn how to take advantage of Puppet and DSC features to fully automate your Windows environments.

Dates and locations

  • Private training sessions can be organized across Europe upon request.

Contact and booking


At the end of this training, attendees will be able to use Puppet and Desired State Configuration (DSC) to automate configurations on Windows systems. Attendees will also be aware of the best practices on how to build and use Chocolatey software packages in a business environment.

Target audience and prerequisites

To complete the course successfully, attendees must have:

  • a good knowledge of Powershell scripting;
  • completed the “Puppet Fundamentals” training or have equivalent hands-on experience with Puppet IT Automation software;
  • a minimum of 1-2 years system administration experience in Windows environments;
  • a basic knowledge of the Git version control system.

Lecture content/Topics (Camptocamp curriculum)

  • Day 1:
    • Install and configure the Puppet windows agent;
    • Use core Puppet resource types for windows;
    • Understand Powershell scripts integration;
    • Avoid common pitfalls and mistakes;
    • Install Chocolatey package manager;
    • Use Chocolatey to install/uninstall packages locally.
  • Day 2:
    • Create a custom Chocolatey package;
    • Host your own Chocolatey package feed;
    • Install and use the Chocolatey Puppet forge module;
    • Combine Puppet and Chocolatey;
    • Powershell Modules basics;
    • Create a Chocolatey package to deploy a Powershell module.
  • Day 3:
    • Understand Desired State Configuration (DSC);
    • Compare Puppet and DSC;
    • Understand why DSC and Puppet are better together;
    • Use community DSC resources;
    • Create custom DSC resources;
    • Generate a Puppet module for custom DSC resources;
    • Deploy custom DSC resources with Chocolatey.


  1. *
  2. *
  3. *
  4. *