Automated Windows 10 build using Boxstarter, Chocolately & PowerShell
I am an IT guy, and as such, I have numerous devices that I am constantly poking and prodding at. This at times has left me in a pinch, where i’m no doubt (like a fool) – testing something on one of my machines, and poof! Its toast.
For this reason, I wanted to put together a way to be able to walk-up to any of my Windows devices, re-install the Windows OS, then simply kick-off a script (of any type), and have the machine back in a semi-to-fully functioning state with all of the applications and files available and ready to use.
I came up with the following bullet list of simple requirements:
- Be able to wipe a device at any time and not have a fear of data-loss.
- Easily reinstall most (if not all) the applications I use as an IT guy.
- Install the latest versions of the above applications.
- Install applications which may not always come from the choco repo.
- Install updates, configure firewall, or enable any windows tweaks, etc.
- Keep this process easy, consistent, and repeatable.
for this reason, I looked to to github for a few choco developer machines projects, and low-and-behold fell onto a project from Microsoft called Windows-Dev-Box-Setup. This project had nearly 90% of the work already done, so after a quick fork, I had a starting point.
So with that said, allow me to introduce Windows 10 SysAdmin/Engineer workstation builder.
What does it do?
Quite simply, it takes your baseline’d Windows 10 desktop, and installs a standard set of Admin tools, that I use in my day-to-day as a Server Engineer.
NOTE – This is NOT a bare-metal script. You have to first install Windows 10. Then proceed with running this script afterwards.
This script is meant to be very simple, and requires NO interaction from the user. I simply use boxstarter web launcher to start the installation process and call the proper build script.
Unfortunately some of Boxstarter’s functionality does require administrative privileges to run, and it will prompt to elevate to administrator if not already elevated. While this may pose an issue directly using my script if you don’t have admin access, you can fork my repo, and make any necessary changes to get a workable solution for you. Take a look at Chocolately’s documentation on Non-Admin Install to find resources and examples of scripts to get a quick setup that doesn’t require admin access.
All of the instructions are available on my github.