🛠️ Admin Project 1 · Beginner · ~30 minutes
Service Health Audit
📋 Project brief
- Requested by
- Your manager (email, Monday 9:04 AM)
- Deadline
- Friday — service health report for all servers
- Summary
- Leadership wants to know which services are not running across the fleet, starting with
SRV01. Build the audit with PowerShell: gather the services, filter to the unhealthy ones, shape the report columns, and export it as CSV. - Deliverables
- A working
.ps1script, the CSV report, and a validation summary of what was checked.
Simulated environment — fictional server (SRV01), fictional data. Artifacts generated by simulation; they do not represent changes to a real server.
Gather services
✓ completeGet every service on SRV01 and store the result in a variable. You'll build on this variable in every later step.
To pass: a variable holding all 7 service objects (with Name, Status, StartType, DisplayName).
Filter the unhealthy ones
✓ completeFrom your gathered services, keep only the ones that are not Running. Store the filtered result in a new variable.
To pass: a variable holding exactly the non-Running services — no more, no fewer.
Shape the report
✓ completeYour manager only wants three columns: Name, Status, StartType. Project just those properties into a new variable.
To pass: a variable whose objects have exactly those 3 properties — nothing extra.
Export the CSV
✓ completeConvert your shaped report into CSV text (no type header) and store it in a variable. This becomes the downloadable report.
To pass: a variable holding valid CSV text with the header "Name","Status","StartType".
Project complete — your deliverables
The report is ready for Friday. Here's everything you built, validated step by step:
Validation summary
⚠️ Artifacts generated by simulation on fictional data; they do not represent changes to a real server. Review every line of the .ps1 before running it anywhere else.
Error decoder
Paste the red text. The decoder names the kind of error it is and points at the lesson that fixes it. It never runs your code, and decoding happens entirely in your browser — your pasted error is never sent anywhere.