Post

Active Directory and PowerShell Home Lab

Active Directory and PowerShell Home Lab

Project Purpose

A few weeks ago, I decided to kick off an IT hobby project. I was inspired by Josh Madakor, whom you can find on YouTube. The purpose was to expose myself to new technologies I haven’t worked with much, and because it’s fun to tinker with computers, networks, and related stuff.

I planned to create a home lab in a virtual environment using Oracle VM VirtualBox. The idea was to set up a Windows Server 2019 as a Domain Controller with Active Directory, hosting over 1000 user accounts. These accounts would be created using a generated name list and a PowerShell script. The aim was to simulate a large company with many users.

Software requirements

List of necessary software for the project:

  • Oracle software for virtualization
  • Windows Server 2019
  • Windows 10

All of these ire free to download for a project like this.

What Did I Learn?

A project of this scale, whether extensive or simple, takes time. Maybe that’s because I could only spend an hour here and there. But things take time to set up, configure, troubleshoot, and all those Windows restarts (Oh Lord!). Since I documented the entire process, it probably took much longer than it would have if I’d only focused on the installation itself. But because I wanted to document it as I went along, it took extra time.

I gained hands-on experience working with Windows Server, DHCP, DNS, RAS/NAT, and other interesting areas. Unfortunately, I didn’t encounter any major issues along the way—most of it went smoothly. I say “unfortunately” because it’s precisely when problems arise that the opportunity for growth and problem-solving appears. The most challenging part was the PowerShell scripting. I’m used to navigating Linux bash, but I have limited experience with PowerShell or scripting in general. However, this is something I definitely want to explore more.

One thing is certain: I’ll absolutely repeat the project in the future, maybe when I have a full day to spare and can skip the documentation altogether. Then I’ll focus solely on installation and configuration.

If you’d like to check out the project and give it a try yourself, you’re more than welcome to visit my GitHub. There you’ll find step-by-step instructions on how the entire process went.

//Cheers

This post is licensed under CC BY 4.0 by the author.