
Fabian Tech Tips

Microsoft Finally Retires the Modules in March 2025
Dec 13, 2024
2 min read
0
2
0
Microsoft Finally Retires the Modules in March 2025
**Microsoft Entra ID PowerShell**
Since its introduction in 2015, replacing the older Microsoft Online Services (MSOL) module, organizations have relied on the AzureAD PowerShell module (referred to by Microsoft as Azure AD PowerShell for Graph) for performing critical administrative tasks. These tasks include user and licensing management, adding and removing domain names, and managing company information.
Microsoft deprecated the AzureAD and MSOL modules on March 30, 2024. The long-term focus for PowerShell support for Entra ID features has shifted to the Microsoft Graph PowerShell SDK. Organizations are recommended to adopt the Microsoft Graph PowerShell SDK for all future development. This transition involves upgrading scripts written using AzureAD or MSOL modules by replacing cmdlets with their equivalents in the Microsoft Graph PowerShell SDK. There is substantial coverage of the Microsoft Graph PowerShell SDK and how to use its cmdlets, especially in chapter 3 of relevant guides.
Cmdlets from the deprecated modules will continue to work post-deprecation until March 2025, when Microsoft finally retires these modules. The license management cmdlets are an exception. In late 2023, Microsoft 365 moved to a new license management platform. As a result, license assignment for Entra ID accounts is now exclusively possible using Graph API requests or Microsoft Graph PowerShell SDK cmdlets. Older license assignment cmdlets that must be updated in scripts include:
- `Set-AzureADUserLicense`
- `Set-MsolUserLicense`
- `New-MsolUser` (when the cmdlet assigns a license to a new account)
Microsoft has not released a tool to translate code from AzureAD and MSOL cmdlets to SDK cmdlets. Like many code migration projects, moving from the older cmdlets requires substantial effort. It involves creating an inventory of scripts using the older modules, updating the scripts, and testing the new code's effectiveness.
**Microsoft Teams PowerShell**
The Teams PowerShell module contains cmdlets for managing teams, channels, membership, and policies such as `Get/Set-CsTeamsInteropPolicy`. Familiarize yourself with several sets of PowerShell cmdlets to effectively manage Teams:
- The Teams PowerShell module is generally available and has preview versions.
- To manage Microsoft 365 Groups properties used by Teams, use the `*-UnifiedGroup` cmdlets in the Exchange Online module.
- For basic properties of Microsoft Entra ID groups, use the cmdlets in the Microsoft Graph PowerShell SDK.
To connect PowerShell to the Teams endpoint, run the command:
```powershell
Connect-MicrosoftTeams
```
**PowerShell and Purview Compliance**
Cmdlets for managing Purview compliance solutions are bundled in the Exchange Online management module. However, compliance cmdlets must be explicitly loaded into a session by first connecting to Exchange Online and then running:
```powershell
Connect-IPPSSession
```
A different PowerShell endpoint exists for compliance due to its functionality supporting multiple workloads. Connecting to the compliance endpoint grants access to a range of cmdlets for various tasks.
**Conclusion**
The transition from AzureAD and MSOL modules to the Microsoft Graph PowerShell SDK marks a significant shift for organizations using Microsoft 365. While it requires effort to update scripts and processes, the benefits of using a more robust and future-proof SDK are well worth it.
For more detailed guidance, consult specific documentation and resources related to these transitions.
It may be the case that you rely on the depreciated scripts implemented by someone no longer around. So, it may be time to review any changes before it become an issue
Good luck