gd03gd031 GitHub avatar

Windows-GDID-Changer

gd03gd031

A PowerShell script for Windows 10/11 that regenerates the Global Device Identifier (GDID) by removing local session tokens and forcing a new device registration with Microsoft servers.

Stars

149

7-day growth

No data

Forks

13

Open issues

1

License

No data

Last updated

2026-07-23

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It addresses a privacy concern by allowing users to change a persistent, hardware-linked identifier that is otherwise immutable without reinstalling Windows.

Who it is for

  • Privacy-conscious Windows users
  • Security researchers studying device fingerprinting
  • Users wanting to reset device identity after hardware changes
  • IT administrators in non-domain environments

Use cases

  • Resetting device tracking after hardware modifications
  • Testing device registration behavior
  • Anonymizing a Windows installation's identity
  • Recovering from accidental device registration issues

Strengths

  • Tested in virtual machines on Windows 10 and 11 with network traffic confirmation
  • Does not require reinstalling Windows
  • Works on the same hardware, not just new installations
  • Based on publicly documented GDID from legal proceedings

Considerations

  • May sign users out of Microsoft services like Store, OneDrive, and Office 365
  • Not recommended for domain-joined or Active Directory environments
  • Requires administrator privileges and internet connection

README quick start

GDID-Changer for Windows 10/11

Script that regenerates GDID assigned to your windows installation. It works by removing existing sessions and forcing new device registration. Resulting in issuance of new GDID by Microsoft servers. This script initiates exactly the same device registration process that occurs after a fresh Windows installation.

Requires an internet connection and administrator permissions. A new GDID is usually issued instantly, but script needs around 30–90 seconds to complete the job.

Use caution on domain-joined systems or managed environments. Removing device registration data may affect session states. Do not use this script if your environment relies on Windows SSO or Active Directory (AD), as it may disrupt authentication. This script removes Microsoft session and device tokens stored locally on the device. It attempts to identify and remove only the relevant tokens, but users may be signed out of services such as Microsoft Store, Xbox App, OneDrive, Microsoft 365 (Office 365) and Teams.

The script can force issuance of a new GDID even on the same hardware, but changing hardware identifiers before re-registration is recommended (see the end of this page).

Tested in a local virtual machine environment on Windows 11 and Windows 10 using a local account. The device registration process was confirmed by intercepting network traffic. The research was performed manually


Background

GDID became publicly discussed after it was mentioned in the Peter Stokes indictment:

https://www.justice.gov/usao-ndil/media/1450651/dl?inline

According to a Microsoft representative, a Global Device Identifier in the Windows ecosystem is a persistent, device-level identifier designed to uniquely identify an installation of a Windows operating system on a device, either a physical device (e.g., a mobile phone or laptop) or virtual machine, across certain Microsoft services and scenarios. A GDID is a globally unique identifier tied to the installation of Windows on a device. A GDID remains consistent across Windows operating system updates on a device, but a reinstall of Windows, either on the same device or on a different device, will be tied to a new unique GDID

What is GDID and how is it generated?

GDID (Global Device Identifier) is a persistent identifier generated by Microsoft servers based on hardware information collected

Description

A script that requests the generation of a new GDID from Microsoft servers and assigns it to the Windows installation.

Related repositories

Similar projects matched by category, topics, and programming language.

Korben00
Korben00 GitHub avatar

no-gdid

no-gdid is a PowerShell-based tool to audit and block the Windows Global Device Identifier (GDID), a per-account device ID used by Microsoft and shared with law enforcement, based on verified reverse engineering.

PowerShell
241
LewdM3at
LewdM3at GitHub avatar

PC-Cartridge-System

A hobby project that turns 2.5" SATA SSDs into physical game cartridges for your Steam library, automatically launching games or custom actions when inserted.

PowerShell
219
CYEBRSYSTEM-AliAlame
CYEBRSYSTEM-AliAlame GitHub avatar

IntuneToolKit

A PowerShell toolkit with 12+ scripts for day-to-day Intune/Entra ID administration, including policy reporting, compliance checks, stale device cleanup, BitLocker management, bulk actions, and policy conflict troubleshooting.

PowerShell
89