Skip to content

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

  1. Search every identity script and scheduled task for Msol.
  2. Use Microsoft's cmdlet migration map to find each Graph or Entra PowerShell equivalent.
  3. Register an app with the minimum Graph permissions; authenticate with a certificate or managed identity.
  4. Test against a pilot OU before re-enabling the scheduled task.
  5. 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

  1. Already passed2025
    MSOnline (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 using Connect-MsolService, Get-MsolUser, Connect-AzureAD, Get-AzureADUser, or calling graph.windows.net
    Source: Microsoft Learn: Azure AD PowerShell migration FAQ (MSOnline retired May 30, 2025)
  2. NextEnd of Dec 2026
    SMTP 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 via smtp.office365.com with a stored username and password
    Source: Microsoft Exchange Team blog: Updated SMTP AUTH Basic Authentication deprecation timeline (Jan 27, 2026)

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.

Draft Fix: Connect-MsolService and Get-MsolUser stopped working — Internal review only
Export Clean HTML All Pages