Fix it now · Microsoft Deadline Calendar
Connect-MsolService and Get-MsolUser stopped working
Microsoft retired the MSOnline PowerShell module in 2025. Scripts that use Msol cmdlets (Connect-MsolService, Get-MsolUser, Set-MsolUser, New-MsolUser) no longer work. Rewrite them with the Microsoft Graph PowerShell SDK or the Microsoft Entra PowerShell module, and use certificate or managed-identity authentication instead of a stored password.
Fix it now
- Search every identity script and scheduled task for
Msol. - Use Microsoft's cmdlet migration map to find each Graph or Entra PowerShell equivalent.
- Register an app with the minimum Graph permissions; authenticate with a certificate or managed identity.
- Test against a pilot OU before re-enabling the scheduled task.
- Log every run and alert on failure.
Why this keeps happening
MSOnline was the standard way to script Microsoft 365 accounts for a decade, so many campus jobs were built on it. Microsoft retired it on a published timeline, and a scheduled task that fails rarely tells anyone. See the full Microsoft Deadline Calendar.
What breaks next
- Already passed2025MSOnline (May 2025) and AzureAD (from mid-October 2025) PowerShell modules retired; cmdlets stopped working. Legacy Azure AD Graph API retired.Who it hits: Any script usingSource: Microsoft Learn: Azure AD PowerShell migration FAQ (MSOnline retired May 30, 2025)
Connect-MsolService,Get-MsolUser,Connect-AzureAD,Get-AzureADUser, or callinggraph.windows.net - NextEnd of Dec 2026SMTP AUTH Basic Authentication disabled by default for existing Exchange Online tenants (admins can re-enable for now)Who it hits: Scripts that email new-account notices viaSource: Microsoft Exchange Team blog: Updated SMTP AUTH Basic Authentication deprecation timeline (Jan 27, 2026)
smtp.office365.comwith a stored username and password
You'll fix this one. There are more coming.
Find your next break date in about five minutes. Your answers are scored in your browser.
Run the 5-minute Microsoft Deadline Check →Questions
Our script "runs" but nothing changes. Is that this?
Possibly. Check the task's output or error log. Scheduled tasks often fail silently.
Is there a quick compatibility option?
Microsoft's Entra PowerShell module was built to ease migration from AzureAD cmdlets. Test it, but don't treat it as permanent.
