Choose a PowerShell path for the work you do
Documentation: Microsoft Learn
Powershell Learning Paths
Stop guessing what to learn next. Pick a role and follow a short sequence that connects concepts, practice, troubleshooting and real scripts.
Shell foundations
Step-by-step lessons with examples you can run.
-
What is PowerShell?
Learn what PowerShell is, how its object pipeline works and how it differs from a traditional command prompt. Explore examples and try the lesson exercise.
-
Installing PowerShell
Learn to install and verify PowerShell, identify the executable in use and check your version. Follow practical examples before starting your scripting work.
-
Check your version and edition
Check $PSVersionTable, distinguish Windows PowerShell from PowerShell 7 and identify the executable used by a script or scheduled task.
-
PowerShell 5.1 and PowerShell 7
Windows PowerShell 5.1 vs PowerShell 7: key differences, .NET Framework vs .NET, and what works where. Know which version to target for your scripts.
-
Update on Windows without confusing editions
Update PowerShell 7, distinguish engine updates from module updates and verify which executable your automation uses after the change.
-
Run commands and scripts from CMD
Launch powershell.exe or pwsh from CMD, choose -File or -Command, quote paths correctly and inspect the process exit code.
-
Your first Verb-Noun command
Every PowerShell command is Verb-Noun. Learn the naming pattern so you can guess Get-Process, Stop-Service and New-Item correctly on the first try.
-
Get-Help
Learn to use Get-Help in PowerShell to find syntax, parameters and examples. Explore the help system and practice checking command usage before running.
-
Get-Command
Learn to discover PowerShell commands with Get-Command. Filter by verb, noun or module, inspect available commands and practice with explained examples.
-
Execution Policy
Identify which policy applies before changing a setting or unblocking a script. Read the command examples and check the expected output.
-
Providers and PSDrives
Navigate the registry, certificates and variables like filesystems. Learn PowerShell providers and PSDrives: Get-ChildItem and Set-Location work everywhere.
-
Modules
Learn how PowerShell modules package reusable automation. Explore module examples, understand their structure and practice organizing commands for reuse.
Objects and pipelines
Step-by-step lessons with examples you can run.
-
Objects versus text
Understand why a displayed table is only a view, and inspect the properties behind it. Read the command examples and check the expected output.
-
The pipeline
The pipeline: read the examples, check prerequisites and follow the explanation before using the command in your environment.
-
Get-Member
Find the property or method a command actually returns before building a filter around it. Read the command examples and check the expected output.
-
Variables
Store a value, inspect its type and avoid treating a display string as reusable data. Read the command examples and check the expected output.
-
Arrays
Handle zero, one and many results without changing the meaning of your script. Read the command examples and check the expected output.
-
Hashtables
Learn PowerShell hashtables for key-value data. Follow examples for storing and reading entries, inspect the output and practice using structured lookups.
-
PSCustomObject
Learn to build PowerShell reporting objects with PSCustomObject. Follow examples for named properties, inspect the output and practice creating structured.
-
Comparison operators
PowerShell Comparison operators: read the examples, check prerequisites and follow the explanation before using the command in your environment.
-
Regex and wildcards
Stop mixing up PowerShell's two pattern systems. Learn when to use wildcards vs regex, with -like, -match and -replace explained through examples.
-
Services
Find services that need investigation without treating every stopped service as a failure. Read the command examples and check the expected output.
-
Processes
Learn to inspect CPU and memory usage with PowerShell process commands. Follow examples, interpret process properties and practice investigating programs.
-
CSV
Export a predictable table and check imported types before using the values in calculations. Read the command examples and check the expected output.
-
JSON
Preserve nested data deliberately and verify the properties after converting it back. Read the command examples and check the expected output.
Build reliable scripts
Step-by-step lessons with examples you can run.
-
if / elseif / else
Control script flow with if, elseif and else. Learn condition syntax, comparison operators, and how PowerShell evaluates truthiness in branching logic.
-
switch
Learn the PowerShell switch statement for handling multiple cases. Follow worked examples, understand matching behavior and practice choosing the right.
-
foreach
Learn to iterate collections with foreach in PowerShell. Follow worked examples, understand how each item is processed and practice writing your own loop.
-
for / while / do
Master PowerShell's three remaining loops: for, while, and do. Learn when each runs, how conditions are tested, and avoid infinite loops with clear examples.
-
Functions
Return useful objects from a function and keep diagnostic messages out of its data stream. Read the command examples and check the expected output.
-
Scope
Learn PowerShell scope and variable visibility. Follow examples showing variable visibility, inspect the results and practice reasoning about script state.
-
Parameters and validation
Reject invalid inputs at the boundary and explain what your function accepts. Read the command examples and check the expected output.
-
Splatting
Learn how to pass named parameters with a PowerShell hashtable, keep command calls readable and reuse options with splatting.
-
Advanced functions
Turn plain functions into advanced functions with [CmdletBinding()]. Get -Verbose, -Debug and common parameters for free, plus pipeline support and validation.
-
Pipeline binding
Make your functions accept pipeline input. Learn [Parameter(ValueFromPipeline)], process blocks, and how objects flow between commands.
-
try, catch and finally
Handle a failing operation explicitly and keep cleanup separate from success reporting. Read the command examples and check the expected output.
-
ErrorRecord
Learn to inspect PowerShell ErrorRecord objects beyond the error headline. Follow diagnostic examples and practice reading exception details to trace.
-
Verbose and diagnostic streams
Master PowerShell's six output streams. Learn when to use Write-Verbose, Write-Debug and Write-Warning, and how to redirect each stream.
Windows and Active Directory
Step-by-step lessons with examples you can run.
-
CIM versus WMI
Learn the differences between CIM and WMI in PowerShell. Explore the Windows management interface through command examples, explained results and an exercise.
-
Event logs
Learn to query Windows event logs with PowerShell. Explore diagnostic and security log examples, interpret the results and practice narrowing a query.
-
Windows networking
Replace ipconfig with objects. Use Get-NetAdapter, Get-NetIPAddress and Get-NetRoute from the NetTCPIP module for scriptable network admin.
-
DNS troubleshooting
Compare the same DNS question across the resolution paths your application actually uses. Read the command examples and check the expected output.
-
Firewall administration
Control Windows Firewall with the NetSecurity module. Get-NetFirewallRule, New-NetFirewallRule and Set-NetFirewallRule with real-world rule examples.
-
Windows Update commands: inventory and checks
Inspect installed hotfixes, understand Get-HotFix coverage and distinguish Windows Update automation from PowerShell and module updates.
-
Active Directory module
Manage AD users, groups, computers and OUs with the ActiveDirectory module. Installation, key cmdlets like Get-ADUser, and hands-on examples.
-
AD users
Query the intended users, request the properties you need, and verify the directory scope. Read the command examples and check the expected output.
-
AD groups
Read group membership without confusing a direct member list with effective access. Read the command examples and check the expected output.
-
AD computers
Learn to inventory Active Directory computer accounts with PowerShell. Follow query examples, inspect returned properties and practice interpreting the.
-
AD replication
Investigate a specific replication partner and partition before attempting recovery. Read the command examples and check the expected output.
-
FSMO roles
Identify the affected role and recovery need before deciding to transfer or seize it. Read the command examples and check the expected output.
-
Sites and Services
Check client subnet mapping and replication topology as separate parts of a site problem. Read the command examples and check the expected output.
-
Kerberos and SPNs
Understand Service Principal Names and how Kerberos authentication works. Diagnose SPN issues that cause silent NTLM fallback or outright auth failures.
-
GPO troubleshooting
Trace the effective policy for an affected user and computer instead of guessing from a GPO link. Read the command examples and check the expected output.
-
AD Sync commands for Microsoft Entra Connect
Inspect the Entra Connect scheduler, choose Delta or Initial sync and verify connector results before declaring directory synchronization complete.
Remote and cloud administration
Step-by-step lessons with examples you can run.
-
Remoting
Separate where a command runs from how its results are returned. Read the command examples and check the expected output.
-
WinRM
Learn WinRM prerequisites for Windows PowerShell remoting. Follow the examples, understand connection requirements and practice checking your remoting setup.
-
SSH remoting
Learn cross-platform PowerShell remoting over SSH. Review the session examples, understand remote command execution and practice interpreting returned output.
-
REST APIs
Learn to call REST APIs with PowerShell and handle structured responses. Follow request examples, inspect returned objects and practice using service data.
-
Microsoft Graph PowerShell
Learn Microsoft Graph PowerShell for cloud identity administration. Explore command examples, understand returned objects and practice Microsoft cloud.
-
Entra users and groups
Manage Entra ID users and groups through Microsoft Graph with PowerShell. Learn the cmdlets, avoid common pitfalls, and script identity tasks safely.
-
Exchange Online PowerShell
Learn Exchange Online PowerShell for mailbox and mail-flow administration. Follow command examples, interpret the output and practice working with cloud mail.
-
SharePoint Online PowerShell
Learn SharePoint Online administration with PowerShell. Explore site and permission management examples, inspect results and practice administrative queries.
-
Teams PowerShell
Learn Microsoft Teams administration with PowerShell. Follow command examples, inspect returned data and practice using Teams queries in administrative work.
-
Azure PowerShell
Learn Azure PowerShell administration with the Az module. Explore command examples, inspect the results and practice working with Azure resources and context.
Jobs, parallelism & performance
Run work in the background, parallelize loops, and measure what your scripts actually cost.
-
Background jobs
Run long tasks without blocking your prompt using PowerShell background jobs. Start-Job, Get-Job, Receive-Job and Wait-Job explained with practical examples.
-
Thread jobs
Learn lightweight PowerShell concurrency with thread jobs. Follow examples for starting work and collecting results, then practice inspecting job behavior.
-
ForEach-Object -Parallel
Speed up loops with ForEach-Object -Parallel in PowerShell 7. Run iterations concurrently in separate runspaces and learn throttle limits and gotchas.
-
Runspaces
Learn how PowerShell runspaces support concurrent work. Explore execution examples, understand the output and practice the concepts behind parallel.
-
Performance measurement
Find slow code with Measure-Command. Learn to benchmark script blocks, compare approaches, and spot performance bottlenecks in your automation.
-
Scheduled Tasks
Automate with the ScheduledTasks module. Build tasks from actions, triggers and principals, then register them with Register-ScheduledTask.
-
Transcript logging
Record every command and output with Start-Transcript and Stop-Transcript. Create audit trails for change windows and incident response.
-
Code signing
Learn PowerShell code signing and trust verification. Follow examples for signed scripts, inspect the results and practice checking trust before execution.
-
Least privilege automation
Stop over-privileging automation accounts. Learn to scope service accounts and scheduled tasks to minimum rights without breaking scripts.
-
JEA
Learn Just Enough Administration in PowerShell to constrain operator capabilities. Explore examples, understand access models and practice applying the.
-
Pester
Learn to write automated PowerShell tests with Pester. Follow worked examples, understand assertions and test results, then practice verifying script.
-
PSScriptAnalyzer
Catch bugs before runtime with PSScriptAnalyzer. Run Invoke-ScriptAnalyzer to check code against best-practice rules without executing anything.
-
Module architecture
Structure PowerShell modules others can actually use. Learn the conventional layout: public vs private functions, manifests, one function per file.
-
Desired State Configuration
Describe what a machine should look like and let DSC make it so. Write Configuration blocks with resources that declare desired state, not steps.
-
PowerShell in CI/CD
Learn to treat PowerShell scripts as software in CI/CD workflows. Follow examples, understand automated checks and practice preparing scripts for a pipeline.
-
Script governance
Keep your script library from becoming a liability. Learn versioning, review practices, and standards that make automation safe to change.
-
Operational runbooks
Write runbooks someone can follow at 3 AM. Learn to document procedures clearly, then automate from the runbook with PowerShell.
Overview
POWERSHELL LEARNING PATHS
Choose by job, not by buzzword. Each path reuses the lessons, scripts, troubleshooting and practice already in PowerShell Genie. Your checked steps are saved only in this browser.
2-MINUTE READINESS CHECK
Find the right place to start
Choose the answer that best matches you. This private, browser-only check recommends a next step; it is not a certification.
YOUR ROLE
Windows Administrator
WHAT TO DO NEXT
Next: Shell foundations
Finish the next incomplete step, then prove it with a browser exercise or a troubleshooting scenario.
HOW TO USE A PATH
Learn → try → troubleshoot → explain
Read enough to understand the model, use the interactive tools to test it, then move into a realistic failure or interview question. That sequence is more useful than collecting cmdlet names.
DEDICATED TRACKS
Follow the platform you actually administer
Role paths now link to deeper tracks that end in projects instead of stopping at reference pages.
Microsoft 365
Graph, Exchange Online, licenses, reports and safe tenant automation.
Entra ID
Directory objects, Graph scopes, lifecycle reporting and application identities.
Azure
Context, inventory, repeatable changes and automation identities.