Skip to content

themichaelbender/PS-AutoLab-Env

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pluralsight PowerShell Automated Lab Environment

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.

Versions

Current Release is v2.1.0

Unreleased

Master is currently in sync with latest release.

v2.1.0

  • 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

v2.0.0

  • 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

v1.0.0

  • Download release PS-AutoLab-Env v1.0.0
  • This is the initial release with several POC configurations for 2016TP5 and Windows 10

Requirements

The host computer must have the following:

  • WMF 5 (Windows Management Framework 5)
  • An internet connection

This Lab tool currently supports running on a host:

  • Windows Server 2012 R2 (Not tested)
  • Windows Server 2016 (Tested)
  • Windows 10 client with SLAT (Tested)

Note for VMware users

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!

The lab tool will build virtual environments with the following OS's:

  • Windows Server 2012 R2
  • Windows Server 2016
  • Windows 8.1 clients
  • Windows 10 clients

Instructions

  1. Download the ZIP of this repository to the Host computer.
  2. Extract the zip of PS-AutoLab-Env to your C:\ drive (C:\PS-AutoLab-Env)
  3. Open PowerShell with administrative privileges
  4. Change to folder C:\PS-Auto-Lab-Env
  5. Run PS> .\ Setup-Host.ps1
  6. Change to the configuration folder and choose a configuration i.e. c:\Lability\Configuration<Your Config folder>
  7. Check the Readme.md to find a description of what this config will do.
  8. 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.

Other scripts you will need:

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)

Standalone Configurations

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.

Known Issues

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.

Current and Future Development

These are things currently planned for development. Please help us and contribute your own configs or pick something from the list marked (Future)

  1. 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
  2. Nano support (current)
  3. Linux (Ubuntu and CentOS) (Future)
  4. Structural config changes
    • Moving to a single composite config for easier development and management (Future)
    • Adding Pester tests to all configurations (future)
  5. Add custom media and Registration Keys (future) - (your own ISO with Key)
  6. Add support for custom DSCResource Modules (future)

Please make recommendations or fork this repo and share your own!!!

About

An auto generated lab environement

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PowerShell 100.0%