In this article I show you how to enable or disable self-service purchase. That is interesting for you, if you do not want that your users can buy licenses for Office 365 on their own, that your IT department has to support afterwards. (Microsoft has a different opinion, but I know that no user will say “hey I bought it, so I won’t ask my IT department for help”.
What is it?
Self-Service purchase is meant by Microsoft to give end users the ability to test products themselves by buying these. To prevent unwanted cost for an organitation, Admins can control self-serice puchase options via Microsoft 365 Admin Center or PowerShell. To use purchase, a credit card is necessary.
Important: As of today (when I write these lines), the following products are available for self-service purchase: - PowerBI - PowerApps - PowerAutomate - Project - Visio
The article contains these chapters:
How to configure self-service purchase (with PowerShell)
How to configure self-service purchase (with Microsoft 365 Admin Center)
How to configure self-service purchase (with PowerShell)
To make use of PowerShell, follow the prerequisites described in this article: Use AllowSelfServicePurchase for the MSCommerce PowerShell module | Microsoft Docs. For the ones who do not like reading on different sites simultaneously:
- Windows 10
- local admin (or permission to install the PowerShell module)
- at least Billing Administrator role
Now install and import the PowerShell module (I always install modules for the currently signed in user, not system-wide like MS describes in their documentation). With that, you can connect to your configuration:
Install-Module -Name MSCommerce -Scope CurrentUser
Import-Module -Name MSCommerce
Connect-MSCommerce
Code language: PowerShell (powershell)
As known from other PowerShell modules (like AzureAD or ExchangeOnlineManagement), you will be prompted to enter your credentials, so sign in with an admin user that has enough permissions.
Now with the signed in PowerShell session, you can start having a look at your configuration and change it – as desired:
Get-MSCommercePolicy -PolicyId AllowSelfServicePurchase
Code language: PowerShell (powershell)
Well this is taken from the MS documentation mentioned above. The output is a little.. hmm.. low:
To get a useful output, you need to know what exactly to query. You need to provide the product ID. Unfortunately there is no command that tells us what the product IDs are, Microsoft developers were a little lazy:
Also the help is very *shy* ….
Come on Microsoft… you can do better than that!! Don’t make it such hard for admins to find the right parameters. Luckily the product IDs are listed here: Use AllowSelfServicePurchase for the MSCommerce PowerShell module | Microsoft Docs. I also add them here for easier search:
Product / license | Product ID |
PowerApps per user | CFQ7TTC0KP0P |
PowerAutomate per user | CFQ7TTC0KP0N |
PowerAutomate RPA | CFQ7TTC0KXG6 |
PowerBI Premium (standalone) | CFQ7TTC0KXG7 |
PowerBI Pro | CFQ7TTC0L3PB |
Project Plan 1 | CFQ7TTC0KXND |
Project Plan 3 | CFQ7TTC0KXNC |
Visio Plan 1 | CFQ7TTC0KXN9 |
Visio Plan 2 | CFQ7TTC0KXN8 |
Beautiful, isn’t it? No. It is ugly 😉
Well there is one option that you can use to find the product ID with PowerShell:
Get-MSCommerceProductPolicies -PolicyId AllowSelfServicePurchase | where {$_.ProductName -match 'Project *'}
Code language: PowerShell (powershell)
You can search either with wildcards (for a longer list) or for a specific product. The command will list you all matching products:
So now let’s assume you want to know in detail what the configuration for Project Plan 1 is. You can adjust the command to fit to the product of your choice:
Get-MSCommerceProductPolicy -PolicyID AllowSelfServicePurchase -ProductID CFQ7TTC0KXND
Code language: PowerShell (powershell)
In the screenshot you can see that Project Plan 1 is enabled for self-service purchase. You can enable and disable each product (by adjusting the productID) like that:
# Enable Project Plan 1 for self-service purchase
Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KXND -Enabled $true
# Disable Project Plan 1 for self service purchase
Update-MSCommerceProductPolicy -PolicyId AllowSelfServicePurchase -ProductId CFQ7TTC0KXND -Enabled $false
Code language: PowerShell (powershell)
How to configure self-service purchase (with the M365 admin center)
That is easy – it is currently not possible. You need to use PowerShell. If you have purchased licenses, then you are provided a limited admin center view, where you can assign your licenses. That’s it.
Central admins (I avoid the naming ‘global admins’ here to prevent confusion) can see the self-service purchase licenses in the global licensing overview under Billing -> Licenses and setting the filter to Self-service purchase licenses.
Related Links
More information and FAQ about self-service purchase can be found at Self-service purchase FAQ | Microsoft Docs.
Enable self-service purchase: Use AllowSelfServicePurchase for the MSCommerce PowerShell module | Microsoft Docs
You must be logged in to post a comment.