← All Courses
Learn PowerShell
Coming SoonAutomation, 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:
- Understand the Shell — Learn basic cmdlets (Get-Command, Get-Help, Get-Member), the pipeline, and how PowerShell differs from traditional shells
- Learn the Language — Master variables, data types, operators, arrays, hashtables, and control flow (if, switch, foreach, while)
- Work with Objects — Understand that PowerShell outputs objects, not text — learn Select-Object, Where-Object, Sort-Object, and Format-*
- Write Scripts — Create .ps1 files with functions, parameters, error handling (try/catch), and input validation
- Learn the Pipeline — Master piping objects between cmdlets, custom formatting, and exporting data (CSV, JSON, XML)
- Manage Systems — Automate Active Directory, file systems, Windows services, registry, and scheduled tasks
- Build Modules — Package reusable code into modules with manifest files, publish to PowerShell Gallery
- Learn Remoting — Use Invoke-Command, Enter-PSSession, and WinRM for managing remote systems at scale
- Infrastructure as Code — Automate Azure with Az module, AWS with AWS Tools, or on-prem with DSC (Desired State Configuration)
- Go Advanced — Write Pester tests for your scripts, implement CI/CD for PowerShell modules, and build custom DSC resources
Official & Core Documentation
- PowerShell Documentation — Microsoft’s official PowerShell reference, guides, and release notes (Beginner)
- PowerShell 101 — Official beginner guide covering fundamentals step by step (Beginner)
- PowerShell Cmdlet Reference — Complete reference for every PowerShell module and cmdlet (All levels)
- About Topics — In-depth conceptual help on every PowerShell feature (Intermediate)
- PowerShell Gallery — Central repository for community modules, scripts, and DSC resources (All levels)
- PowerShell GitHub — Open-source PowerShell 7+ source code, issues, and discussions (Advanced)
- Azure PowerShell Documentation — Official docs for managing Azure resources with PowerShell (Intermediate)
- DSC Documentation — Official guide to Desired State Configuration (Advanced)
GitHub Awesome Lists & Curated Collections
- awesome-powershell — The original curated list of PowerShell packages and resources (now on Codeberg)
- awesome-powershell (luke-beep) — Handpicked collection of PowerShell packages, modules, scripts, and snippets
- awesome-powershell-universal — Curated list of PowerShell Universal resources and dashboards
- PowerShell-Docs — Official Microsoft PowerShell documentation source, open for contributions
- awesome-windows-sysadmin — Windows sysadmin resources including PowerShell tools and scripts
- PSScriptAnalyzer Rules — Static analysis rules and best practices for PowerShell code
Interactive Courses & Hands-On Platforms
Free Courses
- Microsoft Learn — PowerShell Path — Free, interactive official Microsoft training modules (Beginner)
- PSKoans — Learn PowerShell through Pester-based meditative exercises, inspired by Ruby Koans (Beginner)
- UnderTheWire — Free cybersecurity wargames that teach PowerShell through challenges — start with Century (Beginner)
- Great Learning — PowerShell Commands — Free course covering commands, scripting, and automation (Beginner)
University & MOOC Courses
- Coursera — Practical Windows PowerShell Scripting — Specialization covering automation and administration (Intermediate, Paid)
- Codecademy — Learn PowerShell — Interactive introduction to PowerShell automation (Beginner, Paid)
- Alison — Mastering Windows PowerShell — Free course from basics to advanced scripting (Beginner)
- Udemy — PowerShell for Active Directory — AD automation with PowerShell (Intermediate, Paid)
Practice & Challenges
- Exercism PowerShell Track — Mentored PowerShell exercises with community feedback (Beginner)
- Iron Scripter — PowerShell scripting challenges for all skill levels from PowerShell.org (All levels)
- PowerShell Practice Primer — Hands-on exercises using the PSKoans module (Beginner)
- Advent of PowerShell — December coding challenges specifically for PowerShell (Intermediate)
- PowerShell Koans (online) — Structured meditative exercises teaching PowerShell through Pester tests (Beginner)
- HackerRank — General coding challenges solvable with PowerShell scripting (Intermediate)
Video Courses & YouTube Channels
Structured Course Playlists
- PowerShell.org YouTube — Community talks, PowerShell Summit sessions, and tutorials (All levels)
- John Savill’s Technical Training — PowerShell, Azure, and Microsoft infrastructure from a Principal Cloud Architect (Intermediate)
- Microsoft Mechanics — Official Microsoft channel with PowerShell-related infrastructure content (Intermediate)
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
- PowerShell 101 — Microsoft’s free official beginner guide (Beginner)
- The PowerShell Best Practices and Style Guide — Community-maintained guide to writing clean PowerShell (Intermediate)
- PowerShell Notes for Professionals — Free reference compiled from Stack Overflow documentation (All levels)
- PowerShell Explained (Kevin Marquette) — Free blog-as-book covering PowerShell concepts in depth (Intermediate)
Essential Paid Books
- Learn PowerShell in a Month of Lunches — Don Jones and Travis Plunk’s classic beginner book, the definitive starting point (Beginner, Paid)
- Learn PowerShell Scripting in a Month of Lunches — Sequel focused on writing production-quality scripts and tools (Intermediate, Paid)
- PowerShell Cookbook — Lee Holmes’ recipes for common tasks, updated for PowerShell 7 (Intermediate, Paid)
- PowerShell for Sysadmins — Adam Bertram’s workflow automation guide for system administrators (Intermediate, Paid)
- The Pester Book — Testing PowerShell code with the Pester framework (Advanced, Paid)
- Windows PowerShell in Action — Bruce Payette’s comprehensive deep dive into PowerShell internals (Advanced, Paid)
Community, Practice & News
Forums & Discussion
- r/PowerShell — Active Reddit community for PowerShell questions, scripts, and discussion
- PowerShell.org Forums — Community forums for PowerShell help and discussion
- PowerShell Discord — Community Discord server for real-time help and discussion
- Stack Overflow — PowerShell — Q&A archive for PowerShell questions
- PowerShell GitHub Discussions — Official discussions on the PowerShell open-source project
Newsletters & Blogs
- PowerShell.org Blog — Community blog with articles from PowerShell experts and MVPs
- Adam the Automator Blog — Tutorials, guides, and automation patterns for IT professionals
- Jeff Hicks Blog — PowerShell tips, modules, and advanced scripting techniques
- Kevin Marquette Blog — In-depth explanations of PowerShell concepts and patterns
- 4sysops PowerShell — PowerShell articles for system administrators
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