{"id":26661294,"url":"https://github.com/dadorner-msft/activationws","last_synced_at":"2025-04-11T17:22:41.278Z","repository":{"id":191837368,"uuid":"226208499","full_name":"dadorner-msft/activationws","owner":"dadorner-msft","description":"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).","archived":false,"fork":false,"pushed_at":"2023-12-03T22:27:32.000Z","size":5241,"stargazers_count":71,"open_issues_count":1,"forks_count":22,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-04-10T03:00:10.658Z","etag":null,"topics":["esu","extended-security-update","mak","microsoft","office","product-activation","windows","windows-server","windows10"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dadorner-msft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-12-05T23:41:45.000Z","updated_at":"2025-03-14T17:21:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"2c3bb4e8-f491-439a-be79-bd412ccdf726","html_url":"https://github.com/dadorner-msft/activationws","commit_stats":null,"previous_names":["dadorner-msft/activationws"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadorner-msft%2Factivationws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadorner-msft%2Factivationws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadorner-msft%2Factivationws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dadorner-msft%2Factivationws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dadorner-msft","download_url":"https://codeload.github.com/dadorner-msft/activationws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248447991,"owners_count":21105216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esu","extended-security-update","mak","microsoft","office","product-activation","windows","windows-server","windows10"],"created_at":"2025-03-25T13:15:52.513Z","updated_at":"2025-04-11T17:22:41.249Z","avatar_url":"https://github.com/dadorner-msft.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./doc/images/ActivationWs_logo_with_text.png\" width=\"400\" alt=\"Trusted by the world’s leading enterprises\"/\u003e\nWelcome to the ActivationWs GitHub repository!\n\n## Overview\nActivationWs 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.\n[^1]: MAKs are interchangeably referred to as product keys, or license keys\n\nKey benefits:\n- Helps organizations of any size with the deployment of MAKs\n- Provides a pull-based activation solution and reduces obstacles faced during product activation\n- Easy to implement, time-saving, allows you to ensure business goals are realized, manages risks and delivers business value\n- Customizable and addresses privacy concerns, as the source code is available to the public\n\n[Requirements](#requirements) | [Installation and Usage](#installation-and-usage) | [FAQ](#faq) | [Contribution](#contributions-are-welcome) | [Code of Conduct](#code-of-conduct)\n\n## How does ActivationWs work?\nActivationWs made up of two components: an ASP.NET web service and a PowerShell script to install the MAK and activate the product.\n\nThe following illustration shows a simplified version of the MAK deployment and product activation process:\n\n![Illustration showing a simplified version of the MAK deployment and product activation process](./doc/images/activation-process.png)\n\nActivation steps:\n1. The PowerShell script `Activate-Product.ps1` is deployed to your devices using ConfigMgr or a deployment tool of your choice\n2. 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\n3. Installation- and Product IDs are transmitted to the Microsoft BatchActivation Service\n4. A Confirmation ID is subsequently returned to the ActivationWs web service\n5. ActivationWs web service returns the Confirmation ID to the device. The script deposits the Confirmation ID and concludes the product activation\n\n## Requirements\n- ActivationWs web service runs on IIS and requires\n  - the .NET Framework 4.6 and ASP.NET modules\n  - access to the Microsoft BatchActivation Service (`https://activation.sls.microsoft.com`). A proxy server can be specified in the web.config file, where necessary\n- `Activate-Product.ps1` requires Windows PowerShell 3.0 or later and needs to be executed with administrative rights\n\n## Installation and Usage\nThis section highlights some of the most frequent scenarios and guides you through the initial setup.\n\n### Steps to deploy the ActivationWs web service:\n1. Build the solution (Visual Studio 2019 or later)\n2. Deploy the ActivationWs web service to IIS\n\n### Scenario 1: Automated activation\nAfter you have deployed ActivationWs web service to IIS, deploy the PowerShell script `Activate-Product.ps1`.\n\nThe following animation demonstrates the MAK installation and activation of an ESU product:\n![Animation demonstrating the installation and activation of an ESU product](./doc/images/activate-product-v0.25.1.gif)\n\n\u003e [!NOTE]\n\u003e For the deployment of ESU MAKs, please ensure that these prerequisites are met on your devices:\n\u003e * [Prerequisites for Windows 7 and Windows Server 2008/2008 R2](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/obtaining-extended-security-updates-for-eligible-windows-devices/ba-p/1167091#)\n\u003e * [Prerequisites for Windows Server 2012/2012 R2](https://support.microsoft.com/en-us/topic/kb5031043-procedure-to-continue-receiving-security-updates-after-extended-support-has-ended-on-october-10-2023-c1a20132-e34c-402d-96ca-1e785ed51d45)\n\n\n### Scenario 2: Manual activation\n\nActivationWs also supports you in the activation process for air-gapped devices, offering a time-saving alternative to calling the Volume Licensing Activation Center.\n\nActivation steps:\n1. Open the ActivationWs site\n2. Enter the Installation- and Product IDs to retrieve the corresponding Confirmation ID\n3. Activate the product by `slmgr.vbs /atp \u003cConfirmation ID\u003e \u003cActivation ID\u003e`\n\n![Graphic showing the ActivationWS UI](./doc/images/manual-cid-retrieval.png)\n\n## FAQ\n\n\u003e[!TIP]\n\u003eThe following section contains answers to frequently asked questions. Please feel free to file an [issue](https://github.com/dadorner-msft/ActivationWs/issues) or [contact me](https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdadorner-msft) should you have any question or need support.\n\n### To which external addresses does ActivationWs web service specifically need access to?\n\nActivationWs web service requires access to the URL listed in the [Requirements](#requirements) section.\n\n### After successfully activating the ESU product using ActivationWs, how can I verify the deployment of the Extended Security Updates?\n\nPlease take a look at [this blog article](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/obtaining-extended-security-updates-for-eligible-windows-devices/ba-p/1167091#), which outlines the available updates to verify the deployment.\n\n### Activate-Product.ps1 fails with an error\n\n| Error | How to fix it |\n|:---|:---|\n| The product key is invalid | - Check your MAK\u003cbr\u003e- For the deployment of ESU MAKs only: ensure that all of the [prerequisites](#scenario-1-automated-activation) are installed on your ESU eligible device\u003cbr\u003e \u003cbr\u003eIf 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](https://support.microsoft.com/en-us/help/2736303) |\n| 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](#scenario-1-automated-activation) are installed on your ESU eligible device |\n| (500) Internal Server Error | This is a \"server-side\" error, meaning that the ActivationWs web service couldn't acquire the Confirmation ID. Reasons include:\u003cbr\u003e- The ActivationWs web service couldn't connect to the [required URL](#requirements)\u003cbr\u003e- No activations are left on your MAK. Check the remaining activation count\u003cbr\u003e- The specified WebServiceUrl is incorrect |\n\n### No activations are left on my MAK.\nPlease contact [Volume Licensing Support](https://learn.microsoft.com/en-us/licensing/contact-us)\n\n### We're using SCCM to deploy your script. Is there way to obfuscate or hide the MAK in the ConfigMgr logs?\n\nYou 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.\n\n```powershell\n$tsEnv = New-Object -COMObject Microsoft.SMS.TSEnvironment\n$productKey = $tsEnv.Value(\"PKEY\")\n```\nThis would prevent the MAK from showing up in the ConfigMgr log files.\n\n## Contributions are welcome\n\nThere are many ways to contribute:\n\n1. Open a new bug report or feature request by opening a new issue [here](https://github.com/dadorner-msft/ActivationWs/issues/new/choose)\n2. Participate in the discussions of [issues](https://github.com/dadorner-msft/ActivationWs/issues), [pull requests](https://github.com/dadorner-msft/ActivationWs/pulls) and verify/test fixes or new features\n3. Submit your own fixes or features as a pull request but please discuss it beforehand in an issue if the change is substantial\n4. Submit test cases\n\n## Code of Conduct\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](CODE_OF_CONDUCT.md).\n\n[Back to Overview](#overview)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadorner-msft%2Factivationws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdadorner-msft%2Factivationws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdadorner-msft%2Factivationws/lists"}