Back to Portfolio

Distribution List Automation & Group Architecture

Built a complete M365 distribution list taxonomy for a multi-location organization. Dynamic groups with attribute-based membership rules, CSV-driven bulk creation, Exchange Online provisioning, and membership sync with verification.

PowerShell Microsoft 365 Exchange Online Graph API Entra ID

Overview

Designed and automated a complete Microsoft 365 group taxonomy for a multi-location organization. Built tooling to create dynamic distribution lists from CSV definitions with attribute-based membership rules, and a separate sync tool that keeps static distribution lists aligned with authoritative CSV sources.

Key Features

  • Dynamic M365 group creation from CSV with up to 4 attribute conditions per group (department, location, job title, etc.)
  • Support for 8 comparison operators: Equals, NotEquals, Contains, StartsWith, Match, In, NotIn, and more
  • Automatic Exchange Online provisioning with retry logic for group availability delays
  • Owner assignment with automatic service principal cleanup
  • Distribution list membership sync: diffs current members against CSV, adds/removes to match, and verifies final state
  • Domain validation against tenant verified domains before group creation
  • Comprehensive logging with timestamped log files and colored console output

Technical Highlights

  • Microsoft Graph API for dynamic group creation with MembershipRule configuration
  • Exchange Online Management module for Set-UnifiedGroup and distribution list operations
  • Certificate-based authentication via Azure AD app registration
  • Group taxonomy spanning 8 CSV files: company-wide, regional, division, business unit, segment, and city/state groupings
  • Attribute mapping for 30+ Azure AD user properties including extensionAttribute1-15
  • Retry logic (5 attempts with 15-second delays) for Exchange Online provisioning latency
  • Compare-Object verification to confirm final membership matches intended state

See more of our work

Check out the rest of the projects and problems we've tackled.

View Portfolio