30-day PowerShell challenge
Documentation: Microsoft Learn
One task per day. No account. Progress stays in your browser. Each exercise gets slightly more practical and ends with a small admin report.
Overview
30-DAY POWERSHELL CHALLENGE
TODAY'S TASK
Day 1
WHAT THE 30 DAYS COVER
From single commands to small admin workflows
The challenge is ordered so each day reuses ideas from earlier tasks instead of presenting thirty unrelated snippets.
Days 1–10 · Find and filter
Practise Get-* commands, properties, Where-Object, sorting and selecting the fields that matter. The goal is to become comfortable reading objects before changing anything.
Days 11–20 · Shape and verify
Combine pipelines, calculated output, exports and checks. Compare the result with the task so a command is not considered finished just because it ran without an error.
Days 21–30 · Work like an admin
Move into reporting, defensive scripting, error handling and small operational workflows. The final tasks ask you to explain what you would verify before and after a change.
Progress stays local
Completion data is stored in your browser. No account is required, and clearing browser storage resets the streak. Use the progress page when you want one view across challenges and labs.
Restored 30-day workspace
Thirty checked daily tasks
Edit each command, then check it against fictional sample data. Progress on this page is practice feedback, not a real system action.
List the sample services.
Keep only running services.
Keep only stopped services.
Sort services by name.
Sort services by name descending.
Keep the first three services.
Find service names beginning with W.
Weekly review
Before a state-changing command in production, what is the safer first move?
List the sample processes.
Find processes above 5 CPU seconds.
Sort processes by CPU, highest first.
Take the two busiest processes.
Find processes using more than 100 MiB.
Take the largest process by working set.
Return process name and Id for the first two rows.
Weekly review
When data will be exported, where should Format-Table usually go?
List fictional AD users.
Find disabled AD users.
Find enabled AD users.
Find users in IT.
Sort AD users by name.
List sample files.
Find .log files.
Weekly review
A command worked on one host but not another. What should you compare first?
Sort files by length, largest first.
Take the two largest files.
Read the first three System events.
Keep only Error events.
List sample Azure VMs with status.
Find stopped Azure VMs.
Find script modules.
Discover commands with the Get verb.
Find FileSystem PSDrives.
Weekly review