PowerShell in Depth

Learn PowerShell from your first command to tools of your own: find your way around, organize files, filter and sort anything with objects and the pipeline,…

Updated

Module 1: Meet PowerShell

What PowerShell is and how to install and open it, how its commands are named and how to find help for any of them, and finding your way around a computer: where you are, what is there, how to get somewhere and how to read a file.

Module 2: Working with Files

Make, copy, move, rename, zip and delete files and folders, many at once, with -WhatIf before anything that removes; write to files, edit them in the terminal, and watch a log grow.

Module 3: Objects and the Pipeline

PowerShell's big idea: everything it shows you is an object with properties. Filter, sort, count, group and act on files and programs with the pipeline, and search text and files.

Module 4: Working with Data

Turn spreadsheet exports, JSON settings files and web APIs into objects, then into clean data and reports.

Module 5: PowerShell, Your Way

Variables, text, numbers and dates, environment variables and PATH; the execution policy, your profile, aliases, a prompt in your colors, apps and modules; and the shortcuts that make you fast.

Module 6: Scripts Are Applications

A script is an application: write .ps1 files in VS Code, run them from anywhere, give them parameters, make decisions, repeat work, handle errors and debug them.

Module 7: Building Real Tools

Turn scripts into tools that behave like PowerShell's own commands: advanced functions with validation, pipeline input, -WhatIf and help, objects of your own, saved data, and a module with tests.

Module 8: Administering Windows

Look after Windows computers: processes, services and background jobs, the computer's facts, event logs, the registry, users and apps, scheduled tasks, backups, and remote computers.

Module 9: The Developer's PowerShell

The scripts every software project has, calling other programs, keeping secrets out of scripts, using .NET directly, sharing your tools, and knowing when a script should become a program.