I recently looked at the various PowerShell offerings for integrating with AzureAD, having previously used both MSOL and AzureAD integrations. I looked at the Microsoft Graph PowerShell SDK but at the time it was not suitable for me (I can't recall why, but I needed to create/update/delete AAD users, retrieve/restore deleted users, so probably in this area), so I wrote my own MSGraph PowerShell class instead. This works really well and I can extend it really easily for extra functions (like Groups, etc.) as I need to. The only thing missing is Exchange Online management in MS Graph (like adding/removing email addresses to/from users). I'd be very interested to hear when this is going to come onboard.
Happy to share my PowerShell MS Graph class if anyone wants it.
BTW I am managing 500,000 users in AzureAD using PowerShell, using MSOL (project initiated at the time only v1 of the PowerShell CmdLets were available).
I am now also managing 100,000 users in AzureAD using PowerShell using MSGraph (project initiated end of 2020).
When embarking on these projects I looked at the various offerings (SDK, modules, etc.) and currently MSGraph with a custom PowerShell class is the only way I can:
- Create/update/delete users
- Access the recycle bin (and restore users)
- Update custom attributes (schema extension) and Extension Attributes
- But still no Exchange Online functionality, e.g. add/remove email addresses