← All Courses
Learn PowerShell logo

Learn PowerShell

Coming Soon

Automation, sysadmin, and infrastructure as code

PowerShell Automation Windows DevOps Azure

Coming Soon

The automation engine for Windows, Azure, and cross-platform systems administration. PowerShell turns complex manual processes into repeatable scripts — from managing Active Directory to deploying cloud infrastructure.

This course covers PowerShell from basics through advanced scripting, module development, and infrastructure automation.

Start Here — Learning Roadmap

A suggested path from zero to mastery. Follow these steps in order:

  1. Understand the Shell — Learn basic cmdlets (Get-Command, Get-Help, Get-Member), the pipeline, and how PowerShell differs from traditional shells
  2. Learn the Language — Master variables, data types, operators, arrays, hashtables, and control flow (if, switch, foreach, while)
  3. Work with Objects — Understand that PowerShell outputs objects, not text — learn Select-Object, Where-Object, Sort-Object, and Format-*
  4. Write Scripts — Create .ps1 files with functions, parameters, error handling (try/catch), and input validation
  5. Learn the Pipeline — Master piping objects between cmdlets, custom formatting, and exporting data (CSV, JSON, XML)
  6. Manage Systems — Automate Active Directory, file systems, Windows services, registry, and scheduled tasks
  7. Build Modules — Package reusable code into modules with manifest files, publish to PowerShell Gallery
  8. Learn Remoting — Use Invoke-Command, Enter-PSSession, and WinRM for managing remote systems at scale
  9. Infrastructure as Code — Automate Azure with Az module, AWS with AWS Tools, or on-prem with DSC (Desired State Configuration)
  10. Go Advanced — Write Pester tests for your scripts, implement CI/CD for PowerShell modules, and build custom DSC resources

Official & Core Documentation

GitHub Awesome Lists & Curated Collections

Interactive Courses & Hands-On Platforms

Free Courses

University & MOOC Courses

Practice & Challenges

Video Courses & YouTube Channels

Structured Course Playlists

Individual Creators & Channels

  • TechThoughts — PowerShell and AWS automation from Jake Morrison (Intermediate)
  • Adam the Automator — Practical PowerShell tutorials, guides, and automation patterns (Beginner)
  • Shane Young — PowerShell for IT pros and Microsoft 365 administration (Beginner)
  • PDQ — PowerShell tips, automation, and sysadmin content (Beginner)
  • Jeff Hicks — PowerShell training from the co-author of “Month of Lunches” (Intermediate)
  • Don Jones — Legendary PowerShell educator and author of essential books (All levels)
  • Tyler Leonhardt — PowerShell development, VS Code extension, and automation (Intermediate)
  • PowerShell Summit Talks — Recorded sessions from the annual PowerShell Summit conference (Intermediate)
  • freeCodeCamp — PowerShell for Beginners — Comprehensive free PowerShell course on YouTube (Beginner)
  • Fireship — PowerShell in 100 Seconds — Quick overview of PowerShell’s key features (Beginner)

Books & Long-Form Reading

Free Online Books

Essential Paid Books

Community, Practice & News

Forums & Discussion

Newsletters & Blogs

Package Registries & Ecosystems

  • PowerShell Gallery — Central repository for PowerShell modules, scripts, and DSC resources
  • Chocolatey — Windows package manager often used alongside PowerShell for system automation
  • PSResourceGet — Next-generation PowerShell module management

Tools & Environments

  • VS Code + PowerShell Extension — The recommended editor for PowerShell development with integrated terminal and debugging
  • Windows Terminal — Modern terminal application with GPU-accelerated rendering and multiple tabs
  • PowerShell ISE — Built-in Windows scripting environment (legacy, but still useful for learning)
  • PSScriptAnalyzer — Static code analysis tool for PowerShell scripts and modules
  • Pester — Testing and mocking framework for PowerShell code
  • Oh My Posh — Customizable prompt theme engine for any shell including PowerShell
  • SecretManagement — Secure credential storage and retrieval for PowerShell scripts
  • PowerShell Crescendo — Framework for wrapping native CLI tools with PowerShell cmdlets
  • Pode — Cross-platform PowerShell web server framework for building APIs and websites
  • PlatyPS — Write external help files for PowerShell modules in Markdown
  • PowerShell Universal — Platform for building dashboards, APIs, and automation with PowerShell