Rapid deployment scripts for creating consistent Hyper-V lab environments for Azure Local, Windows 10, and Windows Server.
MSLab is a PowerShell-based toolkit for rapidly provisioning virtual lab environments on Hyper-V. It automates the setup of Windows and Linux virtual machines from ISO images, enabling consistent, low-profile deployments for testing, prototyping, and training without specialized hardware.
IT professionals, system administrators, and developers who need to create reproducible virtual labs for testing Windows Server, Azure Stack HCI, or other Microsoft technologies on Hyper-V.
Developers choose MSLab for its simplicity and low hardware footprint; it uses differencing disks and requires only 8GB RAM and 40GB disk space, making complex lab setups accessible on standard machines with SSDs without writing intricate scripts.
Azure Local (formerly Azure Stack HCI), Windows 10 and Windows Server rapid lab deployment scripts
Automates VM creation from ISO images, including domain controllers, reducing manual setup time for complex environments as highlighted in the hydration phase documentation.
Uses differencing disks and requires only 8GB RAM and 40GB disk space, making it accessible on standard SSDs without specialized hardware.
Labs are defined via a simple LabConfig.ps1 hash table, ensuring identical environments across systems for consistent testing and issue reproduction.
Includes pre-built scenarios for technologies like Azure Local and Windows Admin Center, speeding up training and prototyping setups.
Only works on Windows Pro/Enterprise or Server with Hyper-V, excluding other operating systems or hypervisors, limiting cross-platform flexibility.
The hydration phase takes 1-2 hours to create parent disks, which is time-consuming despite being a one-time task, as noted in the scripts section.
Linux integration is in preview, relying on Packer templates and may be unstable or incomplete, with Active Directory joining via sssd still under development.
Telemetry is enabled by default, and any changes to LabConfig.ps1 require re-signing under strict execution policies, adding complexity for customization.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.