This project implements an Identity and Access Management (IAM) lifecycle system using Microsoft Graph PowerShell and Microsoft Entra ID. It automates user onboarding, access updates, and offboarding based on input data.
The system covers three lifecycle stages:
- Joiner – creates users and assigns access
- Mover – updates access when roles or departments change
- Leaver – disables accounts and removes access
The solution is data-driven. A CSV file represents the desired user state, and the scripts reconcile it with the current state in Entra ID.
Input (CSV) → PowerShell Scripts → Microsoft Graph → Entra ID
scripts/
joiner.ps1
mover.ps1
leaver.ps1
data/
users.csv
-
Update
data/users.csv -
Run the required script:
joiner.ps1mover.ps1leaver.ps1
-
Changes are applied to Entra ID
- Idempotent execution (safe to run multiple times)
- Role-based access control using groups and directory roles
- Secure offboarding through account disablement and access removal
- PowerShell
- Microsoft Graph API
- Microsoft Entra ID
Yata Mani Kumar