PowerShell Genie

30-day PowerShell challenge

Guide 2 min read Windows PowerShell 5.1 and PowerShell 7

Documentation: Microsoft Learn

Open the challenge

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.

Day 1

List the sample services.

Day 2

Keep only running services.

Day 3

Keep only stopped services.

Day 4

Sort services by name.

Day 5

Sort services by name descending.

Day 6

Keep the first three services.

Day 7

Find service names beginning with W.

Weekly review

Before a state-changing command in production, what is the safer first move?

Day 8

List the sample processes.

Day 9

Find processes above 5 CPU seconds.

Day 10

Sort processes by CPU, highest first.

Day 11

Take the two busiest processes.

Day 12

Find processes using more than 100 MiB.

Day 13

Take the largest process by working set.

Day 14

Return process name and Id for the first two rows.

Weekly review

When data will be exported, where should Format-Table usually go?

Day 15

List fictional AD users.

Day 16

Find disabled AD users.

Day 17

Find enabled AD users.

Day 18

Find users in IT.

Day 19

Sort AD users by name.

Day 20

List sample files.

Day 21

Find .log files.

Weekly review

A command worked on one host but not another. What should you compare first?

Day 22

Sort files by length, largest first.

Day 23

Take the two largest files.

Day 24

Read the first three System events.

Day 25

Keep only Error events.

Day 26

List sample Azure VMs with status.

Day 27

Find stopped Azure VMs.

Day 28

Find script modules.

Day 29

Discover commands with the Get verb.

Day 30

Find FileSystem PSDrives.

Weekly review

What makes an admin workflow complete?

Continue
Genie guide30-day PowerShell challenge

One task per day. No account. Progress stays in your browser. Each exercise gets slightly more practical and ends with a small admin report.