Intermediate Projects
Prerequisites: Level 2 — Intermediate
Build these using advanced functions, error handling, CSV and JSON, REST APIs, modules, and Pester tests from Level 2.
1. User Onboarding from CSV
Read new employees from a CSV file, validate each row (email format,
required fields), and generate usernames and welcome messages. Log
successes and failures to separate files, and support -WhatIf.
2. API Report
Call a public REST API (for example, the GitHub API) with
Invoke-RestMethod, turn the results into custom objects, and produce a
report exported to both CSV and HTML (ConvertTo-Html). Handle HTTP errors
and rate limits with clear messages.
3. Log Analyzer Module
Package functions that parse log files into objects, filter them by level and date range, and summarize errors per hour, as a module with a manifest. Cover the parsing logic with Pester tests.
4. Configuration Drift Checker
Store the desired settings for a set of files or services in a JSON file, compare them against the current state, and output a list of differences as objects.