The best of the PowerShell Gallery, right in your PE Console
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….
Well that's changing today. Because today, you can
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 available today on the 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 by following the instructions on Michael's blog post.
New Windows Services
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 each service here and say goodbye to the tedium of manual work as your IT Ops and InfoSec teams configure and harden your Windows infrastructure!
Ben is the product manager for the Forge and Content Ecosystem at Puppet and is a huge proponent of code reuse.