PowerShell
Automate Windows tasks with PowerShell. Learn Microsoft's powerful command-line shell and scripting language for system administration.
Learn PowerShell for automation and scripting — commands, variables, pipelines and scripts — with beginner-friendly lessons.
Part of the free Powershell course at LearnCodingFast — hands-on lessons with examples you run in your browser, plus practice exercises and a quick quiz.
New to PowerShell? No experience needed.
Start with Lesson 1 — Introduction to PowerShell. You'll be automating Windows tasks faster than you think.
Lessons in this course
- Introduction to PowerShell — What PowerShell is, how it differs from CMD, and running your first commands
- Cmdlets and Syntax — The Verb-Noun naming convention, parameters, and common built-in cmdlets
- Variables and Data Types — Store strings, numbers, arrays, and hashtables in PowerShell variables
- Working with Objects — PowerShell's object pipeline — select, filter, and format structured data
- Functions and Scripts — Write reusable functions, add parameters, and save scripts as .ps1 files
- File System and Registry — Navigate drives, manage files and folders, and read/write the Windows registry
- Automation and Task Scheduling — Schedule scripts with Task Scheduler, use WMI, and automate repetitive admin tasks
- The Pipeline: Where-Object, Select-Object, Sort-Object — Filter, select, sort and group objects flowing through the pipeline
- Error Handling: try/catch & ErrorAction — Handle terminating vs non-terminating errors with try/catch and -ErrorAction
- Modules & the PowerShell Gallery — Find, install and import modules — and author your own .psm1/.psd1
- Remoting & PSSessions — Run commands on remote machines with Invoke-Command and PSSessions
- Strings, Formatting & Regex — Format with -f, here-strings, and -match/-replace/-split regex operators
- Classes & Advanced Functions — Define classes and pipeline-aware advanced functions with CmdletBinding