← All Projects

Automation & PowerShell Tooling

Live

Making computers do the boring bits

Role Developer
Timeline 2020-Present
PowerShellMicrosoft Graph APIPower BIAzure Automation

What This Is

At scale, you can’t do everything manually. PowerShell is how I automate the repetitive, error-prone, and time-consuming tasks that would otherwise eat entire days.

Common Use Cases

User Lifecycle

  • Bulk user creation from HR data
  • Onboarding automation (group membership, license assignment, welcome emails)
  • Offboarding processes (disable, remove licenses, preserve mailbox)
  • Account cleanup and hygiene

Reporting & Auditing

  • License usage reports
  • Inactive user detection
  • Group membership analysis
  • Sign-in log analysis
  • MFA status reports

Bulk Operations

  • Mass group creation with consistent naming
  • Bulk attribute updates
  • Permission assignments at scale
  • Migration preparation scripts

Integration

  • Graph API for modern endpoints
  • Azure Automation for scheduled tasks
  • Webhooks and alerts
  • Power BI data preparation

The Philosophy

Good automation scripts are:

  • Readable - Someone else (or future me) can understand what they do
  • Logged - You can see what happened when things go wrong
  • Idempotent - Running them twice doesn’t break things
  • Tested - At least on a subset before running at scale

I’ve been burned enough times to be cautious. The script that “should be fine” on 50,000 accounts is the one you test on 10 first.

Power BI Dashboards

PowerShell generates the data; Power BI makes it visible. License cost tracking, security posture over time, compliance status - all visualised so leadership can understand it without reading spreadsheets.