This is an automated lab environment build tool to support Authors and students in designing and building a virtual lab environment to support courses.
The configurations for the VM are written in Microsoft PowerShell DSC and deployed using VirtualEngine Lability. This tool will completely build a lab environment from scratch, however if you want to build your own environment and have the VMs configured for you, see the section on StandAlone.
Current Release is v2.1.0
Master is currently in sync with latest release.
- Download release PS-AutoLab-Env v2.1.0
- Added Shutdown-Lab script to shutdown VM's
- Disabled secure boot on VM's for bug in Win 10 Anniversary edition as Host
- Added Pluralsight Author folder and config example (Course name by URL)
- Modified User list for AD
- Forcibly enable PowerShell Remoting for Win 10 Hosts
- Download release PS-AutoLab-Env v2.0.0
- Added support for Server 2016 RTM
- Removed support of Server 2016 TP5 (Breaking change)
- Modified configuration data (.psd1) for new media types
- Download release PS-AutoLab-Env v1.0.0
- This is the initial release with several POC configurations for 2016TP5 and Windows 10
The host computer must have the following:
- WMF 5 (Windows Management Framework 5)
- An internet connection
- Windows Server 2012 R2 (Not tested)
- Windows Server 2016 (Tested)
- Windows 10 client with SLAT (Tested)
If you are going to build a Host VM of Server 2016 or Windows 10, In the gerenal settings for your VM, you must change the OS type to Hyper-V(Unsupported) or the Host hyper-v will not work!
- Windows Server 2012 R2
- Windows Server 2016
- Windows 8.1 clients
- Windows 10 clients
- Download the ZIP of this repository to the Host computer.
- Extract the zip of PS-AutoLab-Env to your C:\ drive (C:\PS-AutoLab-Env)
- Open PowerShell with administrative privileges
- Change to folder C:\PS-Auto-Lab-Env
- Run PS> .\ Setup-Host.ps1
- Change to the configuration folder and choose a configuration i.e. c:\Lability\Configuration<Your Config folder>
- Check the Readme.md to find a description of what this config will do.
- In PowerShell, run the script PS> .\Setup-Lab.ps1
Note - The first time you run Setup-Lab.ps1, it will download all required files including ISOs and DSCResources. This initial download may require several hours depending on your Internet connection but it only happens the first time. You will be able to build and wipe the Lab quickly in future.
You will receive reminders and instructions when to run these when you start the .\Setup-Lab script.
- .\Run-Lab.ps1 (Starts the Lab environment)
- .\Shutdown-Lab.ps1 (Stops the lab VM's)
- .\Snapshot-Lab (Snapshot the lab environment for easy and fast rebuilding)
- .\Refresh-Lab.ps1 (Refresh the lab from a previous Snapshot)
- .\Wipe-Lab.ps1 (Wipe the lab and VM's from your system)
- .\Enable-Internet (Enable Internet to the VM's)
In the Standalone folder, a variety of DSC configurations have been included for authors and students who wish to build their environments on their own VM Infrastructure. The DSC Configurations may be applied to your own VMs. You will need to deploy the configs and DSC resources yourself.
Possible problem with the Setup-Lab script pausing after downloading .iso files. This is beinging investigated. If the script does not continue automatically after completing the downloads, press the return key once and it will continue.
NOTE - Configuration convergence takes about 30 minutes and several reboots - do not turn off machines until they finish. It is advised that you run .\Snapshot-lab when complete for easy refreshing.
These are things currently planned for development. Please help us and contribute your own configs or pick something from the list marked (Future)
- Additional Role configurations including:
- Windows Server 2016 release version (completed)
- ADCS (plus certificates and autoenrollment) (current)
- Web servers and web sites (future)
- Exchange (future)
- SQL (future)
- Installing RSAT tool into Windows 10 (current) (this iscludes the ability to install jsut about any addional tools)
- Installing PowerShell 6 (current)
- Do you have suggestions? Add to Issues list
- Nano support (current)
- Linux (Ubuntu and CentOS) (Future)
- Structural config changes
- Moving to a single composite config for easier development and management (Future)
- Adding Pester tests to all configurations (future)
- Add custom media and Registration Keys (future) - (your own ISO with Key)
- Add support for custom DSCResource Modules (future)
Please make recommendations or fork this repo and share your own!!!