whatisgithub

What is windows-gdid-changer?

gd03gd031/windows-gdid-changer — explained in plain English

Analysis updated 2026-05-18

85PowerShellAudience · developerComplexity · 3/5Setup · moderate

In one sentence

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.

Mindmap

mindmap
  root((repo))
    What it does
      Clears local device registration
      Requests a new GDID
      Explains the GDID protocol
    Tech stack
      PowerShell
      Windows Registry
      TPM
    Use cases
      Get a fresh device identifier
      Study Windows device registration
      Inspect hardware identifier mapping
    Audience
      Windows power users
      Security researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Force a Windows installation to receive a new Global Device Identifier from Microsoft.

USE CASE 2

Study how Windows device registration and TPM-based hardware fingerprinting work.

USE CASE 3

Look up which local hardware attribute corresponds to a given identifier code in the registration payload.

USE CASE 4

Reproduce and verify the device registration network traffic in a test virtual machine.

What is it built with?

PowerShellWindows

How does it compare?

gd03gd031/windows-gdid-changerensigncocoonenergy/undown-toolrimagination/good-question
Stars859294
LanguagePowerShellPowerShellPowerShell
Setup difficultymoderateeasyeasy
Complexity3/53/51/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 5min

Requires administrator permissions and an internet connection, using it on domain-joined or SSO-dependent systems can break authentication.

The README does not state a license, so default copyright rules apply and reuse permissions are unclear.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain step by step what Windows-GDID-Changer does before I run it as administrator.
Prompt 2
Help me understand the risks of running this on a domain-joined machine before I try it.
Prompt 3
Walk me through the device registration network request this script triggers, using the README's XML example.
Prompt 4
Show me how to check my current GDID value in the Windows registry as described in the README.

Frequently asked questions

What is windows-gdid-changer?

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.

What language is windows-gdid-changer written in?

Mainly PowerShell. The stack also includes PowerShell, Windows.

What license does windows-gdid-changer use?

The README does not state a license, so default copyright rules apply and reuse permissions are unclear.

How hard is windows-gdid-changer to set up?

Setup difficulty is rated moderate, with roughly 5min to a first successful run.

Who is windows-gdid-changer for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.