ActivationWs is a customizable solution that allows you to automate the Multiple Activation Key (MAK)1 activation process for various Microsoft products, like Windows, Office, and Extended Security Update (ESU) add-ons.
Key benefits:
- Helps organizations of any size with the deployment of MAKs
- Provides a pull-based activation solution and reduces obstacles faced during product activation
- Easy to implement, time-saving, allows you to ensure business goals are realized, manages risks and delivers business value
- Customizable and addresses privacy concerns, as the source code is available to the public
Requirements | Installation and Usage | FAQ | Contribution | Code of Conduct
ActivationWs made up of two components: an ASP.NET web service and a PowerShell script to install the MAK and activate the product.
The following illustration shows a simplified version of the MAK deployment and product activation process:
Activation steps:
- The PowerShell script
Activate-Product.ps1
is deployed to your devices using ConfigMgr or a deployment tool of your choice - The script installs the MAK and queries the respective Installation- and Product IDs. It then sends the data to the ActivationWs web service. Communication between the device and the ActivationWs web service takes place over a port of your choice, eg. 80/443
- Installation- and Product IDs are transmitted to the Microsoft BatchActivation Service
- A Confirmation ID is subsequently returned to the ActivationWs web service
- ActivationWs web service returns the Confirmation ID to the device. The script deposits the Confirmation ID and concludes the product activation
- ActivationWs web service runs on IIS and requires
- the .NET Framework 4.6 and ASP.NET modules
- access to the Microsoft BatchActivation Service (
https://activation.sls.microsoft.com
). A proxy server can be specified in the web.config file, where necessary
Activate-Product.ps1
requires Windows PowerShell 3.0 or later and needs to be executed with administrative rights
This section highlights some of the most frequent scenarios and guides you through the initial setup.
- Build the solution (Visual Studio 2019 or later)
- Deploy the ActivationWs web service to IIS
After you have deployed ActivationWs web service to IIS, deploy the PowerShell script Activate-Product.ps1
.
The following animation demonstrates the MAK installation and activation of an ESU product:
Note
For the deployment of ESU MAKs, please ensure that these prerequisites are met on your devices:
ActivationWs also supports you in the activation process for air-gapped devices, offering a time-saving alternative to calling the Volume Licensing Activation Center.
Activation steps:
- Open the ActivationWs site
- Enter the Installation- and Product IDs to retrieve the corresponding Confirmation ID
- Activate the product by
slmgr.vbs /atp <Confirmation ID> <Activation ID>
Tip
The following section contains answers to frequently asked questions. Please feel free to file an issue or contact me should you have any question or need support.
ActivationWs web service requires access to the URL listed in the Requirements section.
After successfully activating the ESU product using ActivationWs, how can I verify the deployment of the Extended Security Updates?
Please take a look at this blog article, which outlines the available updates to verify the deployment.
Error | How to fix it |
---|---|
The product key is invalid | - Check your MAK - For the deployment of ESU MAKs only: ensure that all of the prerequisites are installed on your ESU eligible device If it fails even though you followed these steps, please take a look at the following support article: How to rebuild the Tokens.dat file when you troubleshoot Windows activation issues |
The Installation ID (IID) and the Confirmation ID (CID) do not match | For the deployment of ESU MAKs only: ensure that all of the prerequisites are installed on your ESU eligible device |
(500) Internal Server Error | This is a "server-side" error, meaning that the ActivationWs web service couldn't acquire the Confirmation ID. Reasons include: - The ActivationWs web service couldn't connect to the required URL - No activations are left on your MAK. Check the remaining activation count - The specified WebServiceUrl is incorrect |
Please contact Volume Licensing Support
We're using SCCM to deploy your script. Is there way to obfuscate or hide the MAK in the ConfigMgr logs?
You could create a task sequence (TS) variable that contains the MAK. Then modify the PowerShell script Activate-Product.ps1
to not output the MAK and create an instance of a COM object that represents the TS environment to read the variable, eg.
$tsEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment
$productKey = $tsEnv.Value("PKEY")
This would prevent the MAK from showing up in the ConfigMgr log files.
There are many ways to contribute:
- Open a new bug report or feature request by opening a new issue here
- Participate in the discussions of issues, pull requests and verify/test fixes or new features
- Submit your own fixes or features as a pull request but please discuss it beforehand in an issue if the change is substantial
- Submit test cases
This project has adopted the Microsoft Open Source Code of Conduct.
Footnotes
-
MAKs are interchangeably referred to as product keys, or license keys ↩