Skip to content

ActivationWs is a customizable solution that allows you to automate the Multiple Activation Key (MAK) activation process for various Microsoft products, like Windows, Office, and Extended Security Update (ESU).

License

Notifications You must be signed in to change notification settings

dadorner-msft/activationws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trusted by the world’s leading enterprises

Welcome to the ActivationWs GitHub repository!

Overview

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

How does ActivationWs work?

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:

Illustration showing a simplified version of the MAK deployment and product activation process

Activation steps:

  1. The PowerShell script Activate-Product.ps1 is deployed to your devices using ConfigMgr or a deployment tool of your choice
  2. 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
  3. Installation- and Product IDs are transmitted to the Microsoft BatchActivation Service
  4. A Confirmation ID is subsequently returned to the ActivationWs web service
  5. ActivationWs web service returns the Confirmation ID to the device. The script deposits the Confirmation ID and concludes the product activation

Requirements

  • 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

Installation and Usage

This section highlights some of the most frequent scenarios and guides you through the initial setup.

Steps to deploy the ActivationWs web service:

  1. Build the solution (Visual Studio 2019 or later)
  2. Deploy the ActivationWs web service to IIS

Scenario 1: Automated activation

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: Animation demonstrating the installation and activation of an ESU product

Note

For the deployment of ESU MAKs, please ensure that these prerequisites are met on your devices:

Scenario 2: Manual activation

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:

  1. Open the ActivationWs site
  2. Enter the Installation- and Product IDs to retrieve the corresponding Confirmation ID
  3. Activate the product by slmgr.vbs /atp <Confirmation ID> <Activation ID>

Graphic showing the ActivationWS UI

FAQ

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.

To which external addresses does ActivationWs web service specifically need access to?

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.

Activate-Product.ps1 fails with an error

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

No activations are left on my MAK.

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.

Contributions are welcome

There are many ways to contribute:

  1. Open a new bug report or feature request by opening a new issue here
  2. Participate in the discussions of issues, pull requests and verify/test fixes or new features
  3. Submit your own fixes or features as a pull request but please discuss it beforehand in an issue if the change is substantial
  4. Submit test cases

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct.

Back to Overview

Footnotes

  1. MAKs are interchangeably referred to as product keys, or license keys

About

ActivationWs is a customizable solution that allows you to automate the Multiple Activation Key (MAK) activation process for various Microsoft products, like Windows, Office, and Extended Security Update (ESU).

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks