PowerShell Course
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.
New to PowerShell? No experience needed.
Start with Lesson 1 — Introduction to PowerShell. You'll be automating Windows tasks faster than you think.
Continue where you left off
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
Frequently asked questions
What is PowerShell used for?
PowerShell is a scripting language and shell for automating tasks on Windows (and now cross-platform). It is widely used by system administrators and DevOps engineers to manage systems, files and cloud resources.
Is PowerShell worth learning?
If you work with Windows systems, automation or IT operations, PowerShell is a high-value skill that can save hours of manual work. This course covers commands, variables, pipelines and writing your own scripts.
How is PowerShell different from Bash?
Bash pipes text between commands; PowerShell pipes .NET objects. That means you can write Get-Process | Where-Object CPU -gt 10 and filter on a real property rather than parsing columns out of a string. It is the single biggest conceptual difference, and the reason PowerShell code often needs no awk or sed.
Does PowerShell only run on Windows?
Not any more. PowerShell 7 is cross-platform and runs on Linux and macOS as well. Windows PowerShell 5.1 — the version that ships in Windows — is Windows-only and is no longer getting new features, so learn the modern one.
What is the naming convention for PowerShell commands?
Verb-Noun, always: Get-Item, Set-Location, New-Item, Remove-Item. The verb list is fixed and published, which is why you can often guess a command you have never used. Get-Command and Get-Help are how you find the rest.
Why does my PowerShell script refuse to run?
The execution policy. By default Windows blocks unsigned scripts, and you get a message about running scripts being disabled. Set-ExecutionPolicy -Scope CurrentUser RemoteSigned is the usual fix — and understanding what you just allowed is worth a minute of your time.
Is PowerShell worth learning if I already know Bash?
If you administer Windows machines, Active Directory, Exchange or Azure, yes — those are all driven by PowerShell modules and there is no Bash equivalent. If you only work on Linux servers, your time is better spent deepening Bash.