Automated installation and verification scripts for setting up a complete development and training lab environment on Windows.
This repository contains scripts to automate the installation and verification of essential development tools and software required for lab training environments.
- Automated Installation - Fully automated software installation via Windows Package Manager (winget)
- Administrator Validation - Ensures proper privileges before installation
- Comprehensive Testing - Validates all installed components with detailed reporting
- Logging - Generates timestamped installation and test logs
- VS Code Extensions - Auto-installs essential VS Code extensions for development
The scripts install and verify the following software:
- Python 3.12 - Programming language with pip package manager
- Node.js - JavaScript runtime with npm
- Git - Version control system
- GitHub CLI - GitHub command-line interface
- Visual Studio Code - Code editor with extensions
- Docker Desktop - Container platform with Kubernetes support
- kubectl - Kubernetes command-line tool
- Multipass - Ubuntu VM manager
- WSL (Windows Subsystem for Linux) - Linux environment on Windows
- Ubuntu - Default WSL distribution
- Google Chrome - Web browser
- UV - Fast Python package manager
- Winget - Windows Package Manager
- Remote - Containers
- GitHub Copilot & Copilot Chat
- Jupyter (with Cell Tags, Keymap, Renderers, Slideshow)
- Markdown Preview Enhanced
- Python (Pylance, Python, Debugger)
- Rainbow CSV
- SQLite Viewer
- WSL
- YAML
Automated installation script that installs all required software components.
Requirements:
- Windows 10/11
- Administrator privileges
- Internet connection
Usage:
# Right-click and select "Run as administrator"
install-lab-software.cmdFeatures:
- Checks for administrator privileges
- Auto-installs winget on Windows 10 if missing
- Silent installations with minimal user interaction
- Refreshes PATH environment variables
- Enables Kubernetes in Docker Desktop
- Installs all VS Code extensions
- Generates detailed installation log
PowerShell script that tests all installed software and generates a comprehensive report.
Requirements:
- PowerShell 5.1 or later
- Installed software components (run install script first)
Usage:
# Standard test
.\installation-check.ps1
# Quick test (skips extended checks)
.\installation-check.ps1 -QuickTest
# Detailed test with JSON report
.\installation-check.ps1 -DetailedFeatures:
- Tests all software installations
- Validates Docker daemon status
- Checks Kubernetes cluster connectivity
- Tests WSL distributions
- Updates PowerShell via winget
- Color-coded pass/fail/warning output
- System information reporting
- Actionable recommendations
- JSON export for detailed analysis
# Run as Administrator
install-lab-software.cmdThis will:
- Verify administrator privileges
- Install/verify winget
- Install all software components
- Configure Docker Desktop for Kubernetes
- Install WSL and Ubuntu
- Install UV via pip
- Install VS Code extensions
- Generate installation log
After installation completes, restart your computer to ensure all PATH changes take effect.
# Launch WSL and create user account
wslFollow prompts to create Ubuntu username and password.
- Launch Docker Desktop
- Verify Kubernetes is enabled (Settings > Kubernetes)
- Wait for Docker and Kubernetes to start
# Run verification script
.\installation-check.ps1Review the test results and follow any recommendations.
If Kubernetes wasn't auto-enabled:
- Open Docker Desktop
- Navigate to Settings > Kubernetes
- Check "Enable Kubernetes"
- Click "Apply & Restart"
If UV installation fails:
pip install uvgh auth loginWinget not found:
- Ensure Windows is up to date
- Install from Microsoft Store: "App Installer"
- Restart terminal/system
Python/pip not in PATH:
- Restart computer after installation
- Manually add Python to PATH via System Environment Variables
Docker daemon not running:
- Launch Docker Desktop
- Wait for initialization to complete
- Check Docker Desktop settings
VS Code extensions not installing:
- Restart computer to refresh PATH
- Install manually:
code --install-extension <extension-id>
WSL not working:
- Enable WSL feature:
wsl --install - Restart computer
- Update WSL:
wsl --update
Installation logs are saved with timestamp:
installation-log_YYYYMMDD_HHMMSS.txt
Test reports (with -Detailed flag):
LabTestReport_YYYYMMDD_HHMMSS.json
- OS: Windows 10 (version 2004 or higher) or Windows 11
- RAM: 8 GB minimum (16 GB recommended)
- Disk Space: 50 GB free space recommended
- Internet: Stable broadband connection
- Privileges: Administrator access required
Contributions are welcome! Please feel free to submit issues or pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
iomegak12
- Microsoft for winget and VS Code
- Docker for Docker Desktop
- All open-source projects included in this setup