This workshops is a collection of labs using a selection of the tooling that we commonly see to automate processes around virtual machine image creation. Some of the tooling is designed to work across both Windows and Linux servers, but for the sake of these labs we will separate out the two as most admins naturally gravitate to the most common and native tooling for each. (If you disagree, use the comments below!)

I am not a deep expert in many of these technologies, so if any of the labs configure anything in an odd way then flag that up to me via the comments (or a PR on the GitHub repo) and we’ll improve the labs together.

Note that there is a host of useful material within Microsoft Learn and the various quickstarts and how to guides within Microsoft Docs, and it is assumed that you are familiar with many of these.

The aim of these labs is to bring together some of these technologies together into a cohesive set of tooling for standing up virtual machine images.


Please set up your laptop as per the automation prereqs page.

Not everything is needed for the Packer and Ansible labs, but chances are that you’ll dig into the other content as well!


Lab Name Description
1 Packer Use Packer to generate a VM image
2 Ansible Use Ansible for ad hoc VM management
3 Dynamic Inventories Automatically generate server inventories and groups
4 Ansible Playbooks Use Ansible playbooks to manage server groups declaratively
5 Custom Roles Publish your own Ansible custom roles
6 Shared Image Gallery Use Packer and Ansible together to publish to a Shared Image Gallery

Future Labs

This set of labs is focused on linux technologies. There is good documentation out there for using Packer and Ansible on Windows VMs, but we are open to creating a couple of Windows specific labs if you let us know in the comments.

Leave a comment