DevOps and Infrastructure Automation on Windows and beyond.

29 Jan 2018

Using Ansible to install a Chocolatey Package Repository

When many Windows administrators think of installing applications even very basic ones it's always... Next Next Next Finish.   Ansible and configuration management tools like it don't work like this, they can't press Next.   They require silent installers that run start to finish on their own.   My recommendation for solving this problem on Windows is Chocolatey.   It brings to Windows all the advantages of a Linux package manager like yum or apt-get and integrates well with Ansible through its win_chocolatey module that we used previously when setting up our test environment.   Since Chocolatey is built on top of the NuGet infrastructure, that means we can install packages from,,, file shares, directories, custom feeds and from private feeds. In this guide, we'll be developing an Ansible role to install internal server we can use to deploy our own company-specific packages.

18 Jan 2018

Fixing Windows Subsystem for Linux (WSL) name resolution errors with VPN

If you've used WSL on a system that connects to a corporate environment you may have experienced issues resolving host names, particularly for your internal network.   Here's how to resolve that.  The primary issue is the interaction between the DNS changes the VPN connection creates (switching to corporate internal DNS) and how WSL discovers DNS settings to populate /etc/resolv.conf is flawed, this is how I fixed it for my corporate VPN solution (GlobalProtect).

03 Jan 2018

Configure an Ansible testing system on Windows (Part 3)

This is the final part of a three part series.  In the first entry of this series we configured Vagrant and built our basic inventory for Ansible.   We then used Ansible to create a common role with basic tasks that we need to complete on all hosts.   Now we will create specialized playbooks to create both our domain controller and create a basic member file server to the domain.

01 Jan 2018

Configure an Ansible testing system on Windows (Part 2)

In the first entry of this series we configured Vagrant and VirtualBox to deploy a pair of basic Windows 2012 R2 virtual machines.  We built our basic inventory for Ansible and verified we could connect to our newly created virtual machines.  Now we can get onto the real work - developing Ansible playbooks.