Analysis updated 2026-05-18
Force a Windows installation to receive a new Global Device Identifier from Microsoft.
Study how Windows device registration and TPM-based hardware fingerprinting work.
Look up which local hardware attribute corresponds to a given identifier code in the registration payload.
Reproduce and verify the device registration network traffic in a test virtual machine.
| gd03gd031/windows-gdid-changer | ensigncocoonenergy/undown-tool | rimagination/good-question | |
|---|---|---|---|
| Stars | 85 | 92 | 94 |
| Language | PowerShell | PowerShell | PowerShell |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 3/5 | 1/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires administrator permissions and an internet connection, using it on domain-joined or SSO-dependent systems can break authentication.
Windows-GDID-Changer is a PowerShell script for Windows 10 and 11 that forces your machine to get a new Global Device Identifier, or GDID, from Microsoft's servers. A GDID is a persistent identifier that Windows generates once during installation, based on hardware information such as BIOS details, storage identifiers, and TPM data, and then keeps using to identify that specific Windows installation to Microsoft services. The script works by removing the device registration session data stored locally on the machine and then triggering Windows to register itself with Microsoft again, exactly the same process that normally happens right after a fresh Windows install. Microsoft's servers respond with a newly issued GDID, even if the underlying hardware has not changed, though the README notes that also changing hardware identifiers is recommended for better separation between the old and new registration. Running it requires an internet connection and administrator permissions, and the whole process usually takes somewhere between 30 and 90 seconds. The README includes a clear warning about caution on domain joined or managed systems: removing the local session and device tokens can sign you out of services such as the Microsoft Store, Xbox app, OneDrive, Microsoft 365, and Teams, and it says the script should not be used in environments that depend on Windows single sign on or Active Directory, since it may disrupt authentication there. Much of the README is background explanation rather than usage instructions. It walks through what a GDID is, citing a real court document where a Microsoft representative described it, and then details the technical registration process step by step, including the network request Windows sends to Microsoft's servers and a table mapping specific hardware identifier codes, like system manufacturer, BIOS serial number, and TPM data, to where each one is pulled from on the local machine. The author says testing was done manually in a local virtual machine on Windows 10 and 11 by inspecting the actual network traffic during registration. The README does not state a license for the script.
A PowerShell script that forces Windows 10 or 11 to request a new Global Device Identifier from Microsoft's servers by re-triggering device registration.
Mainly PowerShell. The stack also includes PowerShell, Windows.
The README does not state a license, so default copyright rules apply and reuse permissions are unclear.
Setup difficulty is rated moderate, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.