September 20, 2020

How to Use PowerShell Gallery With Puppet

Infrastructure Automation

Find out how to get the best of PowerShell Gallery, right in your Puppet Enterprise Console.

Read along or jump to the section that interests you most:

What Is PowerShell Gallery? 

PowerShell Gallery is the central repository for PowerShell, including PowerShell DSC. 

Related: Learn more about the benefits of using PowerShell for automation >>

Why Use PowerShell Gallery?

PowerShell Gallery makes PowerShell DSC easier to use. 

PowerShell DSC might be the new kid on the block when it comes to configuration management, but it's certainly not lacking in power. DSC resources offer unprecedented hooks into the Windows operating system and provide straightforward configuration functionality that will make your Unix coworkers green with envy. It's a shame it's not easier to use….

Until now. Now you can use PowerShell Gallery with Puppet Enterprise.

How Do I Get PowerShell Modules?

You can now puppet module install any PowerShell Module with DSC Resources from the PowerShell Gallery and then simply use it just like you would any other Puppet module. There's no need to set up a pull server, and no need to distribute the DSC Resources. Just classify your Windows nodes just like any other in your infrastructure. Write a profile class or use the Puppet Enterprise Console directly. And when you inspect the run reports later, you'll see each parameter that's changed and what values it changed from and to, which is something that no other tool I'm aware of can do.

This is enabled by a new tool from our Infrastructure Automation Content team, and what it does is deceptively simple; it takes an existing PowerShell Module and builds a Puppet module out of it. It will package up all of its DSC Resources and then wrap the Puppet Resource API around it so you can invoke it just like any other module. This means you no longer need to be concerned with the under-the-hood implementation details. You don't need to care which tools were invoked to effect a change. Describe what you need in Puppet's effortlessly declarative language and then let Puppet do what it does best: abstract away the details and just make the changes you need.

Best of all, when paired with Puppet's VS Code extension, you'll get all the IntelliSense goodness that you've come to expect as you're writing your profile classes. Not only do you get context-sensitive syntax highlighting and autocompletion, but you'll get parameter validation that knows what data types to use and even which values are acceptable – even if that comes from the wrapped DSC resource!

Take a look through the DSC resources on Puppet Forge. They're updated on a weekly basis so if your favorite resource isn't there yet, try again in a couple of days. Alternatively, if you have an internally developed DSC resource, you can package your own Puppet module out of it.

Go Beyond PowerShell Gallery...

Of course we don't expect you to adopt new automation tools completely on your own. Our latest service offerings are tailored directly to the needs of the Windows infrastructure and help you get moving faster.

  • Group Policy Migration Service: Learn best practices of managing settings between Group Policy and Puppet, track Windows configurations in a centralized location, and consolidate tooling to make changes to Windows infrastructure more efficiently.
  • Chocolatey Setup & Deployment Service: Accelerate the speed of your Windows deployments and support the expansion of automation across your organization. Through installing and configuring Chocolatey as a package manager you can deploy and make changes to Windows software at scale, quickly, and more reliably. Learn more about package management using Chocolatey and Windows.

Explore Puppet services and say goodbye to the tedium of manual work as your IT Ops and InfoSec teams configure and harden your Windows infrastructure!

Not using Puppet Enterprise yet? Get started today!


Learn More