Puppet Quick Fix: “Provider powershell is not functional on this host”

Today I came across a very simple issue that didn’t come up with a fix in my usual quick google search.

I updated my ‘puppetlabs-powershell’ module and all of the sudden, my Windows catalogs stopped being able to compile. The error (below) didn’t come up with any quick fix in google, so I was scratching my head for a couple mins.

The Error:

Image of Puppet Error
Error: /Stage[main]/Chocolatey::Install/Exec[install_chocolatey_official]: Provider powershell is not functional on this host

This error left me a little confused for a minute. This was working beforehand and I know that Powershell is installed and working correctly on my endpoint. I simply updated the module to a newer version.

The Fix:

It seems that at some point in the recent past, there was an additional dependency added for the ‘puppetlabs-powershell’ module, which is clearly marked in the Puppet Forge, but of course I didn’t see it right away.

Admittedly, I didn’t even think to check for new dependencies when updating a module. Lesson learned!

After adding that dependency to my Puppetfile, I was back once again working as intended.

Hopefully google will pick up this article and save others the time it took me to realize what was going on here!

Happy Puppetizing!

About Paul Reed