M365_Remove_license.ps1
|
function M365-RemoveLicense { param( [string]$UserPrincipalName, [string]$LicenseSkuId ) try { Connect-ExchangeOnline $user = Get-User -Identity $UserPrincipalName -ErrorAction Stop if ($user.Licenses -ne $null) { $licenseToRemove = $user.Licenses | Where-Object { $_.AccountSkuId -eq $LicenseSkuId } if (!$licenseToRemove) { Write-Host "User '$UserPrincipalName' does not have the license '$LicenseSkuId'." return } } else { Write-Host "User '$UserPrincipalName' does not have any licenses assigned." return } $licenseOptions = New-MsolLicenseOptions -AccountSkuId $LicenseSkuId Set-MsolUserLicense -UserPrincipalName $UserPrincipalName -RemoveLicenses $LicenseSkuId -LicenseOptions $licenseOptions Write-Host "License '$LicenseSkuId' has been removed from user '$UserPrincipalName'." } catch { Write-Host "Error: $_" } } |