Manage your O365 Licenses

Helps automate common license management tasks by providing a simpler interface on existing PowerShell Cmdlets. Supports Adding SKUs, Replacing SKUs, Disabling Plans, and Updating Existing SKU Plans. Also generates a comprehensive license report.

 
 
 
 
 
4.5 Star
(6)
1,854 times
Add to favorites
Office 365
2/5/2018
E-mail Twitter del.icio.us Digg Facebook
  • Few bugs?
    2 Posts | Last post July 19, 2017
    • 1.  I was unable to use Replace with DisablePlans.  On line 681 I needed to change "$Plans = $DisabledPlans.toupper()" to "$Plans = $DisablePlans.toupper()"
      
      2. I was unable to use Add with DisablePlans.
      3. When I used Add with EnablePlans only the last plan in the list was added.  So on line 323 I changed "# Go thru each plan passed in the we want to enable
      		foreach ($Plan in $PlanArray) {		
      			# Remove the plans we want to enable from the list of plans in the SKU
      			[array]$PlansToDisableOnAdd = ($SkuPlans | where {$_ -ne $Plan})" to "[array]$PlansToDisableOnAdd = $SkuPlans
      
      		# Go thru each plan passed in the we want to enable
      		foreach ($Plan in $PlanArray) {		
      			# Remove the plans we want to enable from the list of plans in the SKU
      			[array]$PlansToDisableOnAdd = ($PlansToDisableOnAdd | where {$_ -ne $Plan})"
    • Hi Luke,
      
      Thank you for spotting those issue.  I have corrected them all and uploaded a new version of the script that should work without issue.
  • Can you add a version number and change date please?
    1 Posts | Last post June 23, 2017
    • Thanks for the script, it's extremely useful. 
      
      I just went to download it again and noticed a number of changes since the last download - including parameter changes. 
      
      A version number and last modified date would be great when checking if you have updated it.
  • Way to filter down to "just Office desktop Apps" for an E3 user.
    1 Posts | Last post April 22, 2017
    • Matt, great script, thanks for the offline help on this.  Here's how I was able to use this to license only one service within the E3 SKU.
      
      #Grant full Office 365 License
      $Users = Get-MsolUser -UserPrincipalName user@company.com
      $Users | Set-MsolUser -UsageLocation "US"
      .\Manage-MSOLLicense.ps1 -LogFile .\AddSKU.txt -IAgreeToTheDisclaimer -NonInteractive -Users $users -Add -NewSKU company:ENTERPRISEPACK
      
      #Remove everything but "OfficeSubscription" (Office 365 ProPlus desktop apps)
      $removeSKUs = (Get-MsolAccountSku | where {$_.AccountSKUID -eq "company:ENTERPRISEPACK"} | Foreach{$_.ServiceStatus.serviceplan.servicename} | where {$_ -ne "OFFICESUBSCRIPTION"}) -join ","
      .\Manage-MSOLLicense.ps1 -LogFile .\RemoveSKU.txt -IAgreeToTheDisclaimer -NonInteractive -Users $users -update -CurrentSKU company:ENTERPRISEPACK -DisablePlans $removeSKUs