function Disable-MsolUserServicePlan 
   Disables an Office 365 Service Plan for a user 
   The Disable-MsolUserServicePlan cmdlet disables an Office 365 Service Plan for the specified user.  
   When assigning an Office 365 E3 license to a user, by default the following Service plans are enabled 
   Azure Rights Management, Office Pro Plus, Skype for Business, Office Web Apps, Sharepoint, Exchange 
   Use the Disable-MsolUserServicePlan to disable an individual Service Plan.  
   This cmdlet requires the Azure Directory PowerShell module 
   Connect to Azure Directory first before using this cmdlet 
.PARAMETER UserPrincipalName 
  The user ID of the user to retrieve. 
.PARMAETER ServicePlan  
 The Service Plan to disable 
    Disable-MsolUserServicePlan -UserPrincipalName john.doe@contoso.onmicrosoft.com -ServicePlan SkypeforBusiness 
    This command disables Skype for Business for user John Doe 
    Disable-MsolUserServicePlan -UserPrincipalName john.doe@contoso.onmicrosoft.com -ServicePlan Exchange 
    This command disables Exchange for user John Doe 
    Created by Alex Verboon, 13. Dec. 2015 
            ValueFromPipelineByPropertyName=$true,HelpMessage="The users office 365 principalname", 
            ParameterSetName = "ServicePlan", 
       $AccountSkuID = (Get-MsolAccountSku | Where {$_.SkuPartNumber -eq "ENTERPRISEPACK"}).AccountSkuId 
                "SkypeforBusiness" {$planname = "MCOSTANDARD"} 
                "OfficeWebApps" { $planname = "SHAREPOINTWAC"} 
                "SharePoint" {$planname = "SHAREPOINTENTERPRISE"} 
                "Exchange" {$planname = "EXCHANGE_S_ENTERPRISE"} 
                "OfficeProfessionalPlus" {$planname = "OFFICESUBSCRIPTION"} 
                "AzureRightsManagement" {$planname = "RMS_S_ENTERPRISE"} 
             Write-Verbose "Selected plan to disable: $planname" 
             $ouser = Get-MsolUser -UserPrincipalName $UserPrincipalName -ErrorAction SilentlyContinue 
            if ($ouser -ne $null) 
                $ouserlicense = $ouser.Licenses | Select-Object -ExpandProperty ServiceStatus 
                $DisabledServices = ($ouserlicense | Where-Object -Property ProvisioningStatus -EQ "Disabled").ServicePlan.ServiceName  
                Write-verbose "Current Disabled Service Plans: $DisabledServices" 
                $EnabledServices = ($ouserlicense | Where-Object -Property ProvisioningStatus -EQ "Success").ServicePlan.ServiceName  
                Write-verbose "Current Enabled Service Plans: $EnabledServices" 
                Write-Error "User $UserPrincipalName does not exist" 
           If ($DisabledServices -contains $planname -eq $true) 
                Write-output "The Service plan DisableServicePlan is already disabled for user $UserPrincipalName" 
                If ($DisabledServices.Count -eq 0) 
                    $DisabledServicesNew = $planname 
                    $DisabledServicesNew = {$DisabledServices}.Invoke() 
                $LicenseOptions = New-MsolLicenseOptions -AccountSkuId "$AccountSkuID" -DisabledPlans $DisabledServicesNew 
                Write-Verbose "New Disabled Service Plans: $($LicenseOptions.DisabledServicePlans)" 
                If ($PScmdlet.ShouldProcess("Disabling Service Plan $planname for user$UserPrincipalName")) 
                    Set-MsolUserLicense -UserPrincipalName "$UserPrincipalName" -LicenseOptions $LicenseOptions 

When assigning an Office 365 license to a user, by default several service plans are enabled. When assigning an Office 365 E3 license to a user, the following service plans are enabled by default:




Use the disable-msoluserserviceplan cmdlet to disable an individual Office 365 service plan from an office 365 user.