В прошлом месяце стало известно, что Microsoft присваивает установке Windows постоянный глобальный идентификатор устройства – Global Device Identifier (GDID). Это внутренний идентификатор, который позволяет однозначно распознавать конкретную установку системы в сервисах Microsoft.
Информация получила широкую огласку после публикации рассекреченных материалов федерального суда США. Из документов следовало, что GDID использовался вместе с данными телеметрии во время расследования в отношении предполагаемого участника киберпреступной группировки Scattered Spider – 19-летнего Питера Стоукса. Дополнительное обвинительное заключение было рассекречено 1 июля 2026 года.
Microsoft упоминает существование этого идентификатора в технической документации и юридических материалах, однако в Windows нет встроенной настройки, которая позволяла бы отключить GDID или вручную создать новый. После публикации этих сведений Windscribe выпустил бесплатную утилиту deGDID с открытым исходным кодом. Она предназначена для удаления идентификатора из Windows и блокировки его повторной выдачи.
Почему обычного удаления из реестра недостаточно
GDID генерируется на серверах Microsoft. Компания описывает его как постоянный идентификатор уровня устройства, связанный с конкретной установкой Windows. По данным Windscribe, речь идет о 64-битном значении Device PUID, которое система получает через механизм регистрации устройства DeviceAdd.

В отличие от имени компьютера или серийного номера оборудования, GDID остается неизменным в поддерживаемых сервисах Microsoft. Благодаря этому компания может связывать между собой активность, поступающую от одной и той же установки Windows. Переустановка системы приводит к выдаче нового идентификатора, то есть значение не выводится напрямую из серийных номеров оборудования.
Windscribe отмечает, что простого удаления соответствующего значения из реестра недостаточно:
- после удаления записи LID и перезагрузки в системе вновь появлялся связанный идентификатор уровня учетной записи – user PUID;
- сопутствующие данные обнаружились в хранилищах IdentityCRL, полях токенов, device tickets, записях диспетчера учетных данных, ветвях реестра SYSTEM и .DEFAULT, а также в кэшах профиля ConnectedDevicesPlatform и TokenBroker;
- использование локальной учетной записи не предотвращает выдачу идентификатора: в лабораторной виртуальной машине с локальной учетной записью GDID появился сразу после снятия сетевой блокировки.
По этой причине, как утверждает компания, распространенные скрипты для очистки Windows от лишних компонентов не разрывают связь между установкой системы и сервисами Microsoft: система восстанавливает идентификатор из других локальных источников.
Что делает deGDID
Утилита представляет собой сценарий PowerShell degdid.ps1. Она выполняет два основных действия:
- Блокирует путь регистрации устройства. Инструмент создает управляемую область в файле hosts Windows (для IPv4 и IPv6) и проверяет, что адрес login.live.com и путь DeviceAdd действительно недоступны. Дополнительно, если это разрешает локальная политика, обновляются правила брандмауэра Windows для динамических доменных имен и службы wlidsvc. Обязательным условием считается именно блокировка через hosts, правила брандмауэра рассматриваются как дополнительный уровень защиты.
- Удаляет известные локальные данные, связанные с GDID. Очистка затрагивает целевого пользователя, а также ветви SYSTEM и .DEFAULT: записи LID, Immersive Property, идентификаторы устройства в токенах, device tickets, машинное состояние IdentityCRL\DeviceIdentities\production, соответствующие записи NegativeCache и кэш профиля, а также отдельные учетные данные устройства, способные восстановить идентификацию. Учетные данные учетной записи Microsoft при этом не удаляются.
Сетевая блокировка применяется до изменения локальных данных. Если проверка не проходит, сценарий останавливается и не переходит к очистке, чтобы не оставить систему в частично защищенном состоянии. После очистки проверка повторяется: если состояние идентификации восстановилось, результат считается неуспешным.
Команды deGDID
Сценарий запускается в окне Windows PowerShell с повышенными правами. Основные команды:
.\degdid.ps1 -Status– проверка состояния без внесения изменений;.\degdid.ps1 -Status -Json– полная диагностика в структурированном виде;.\degdid.ps1 -Block– применение и проверка сетевой блокировки DeviceAdd;.\degdid.ps1 -Protect– обычный режим защиты: блокировка, проверка, затем очистка;.\degdid.ps1 -Wipe– только очистка, работает при уже проверенной блокировке;.\degdid.ps1 -Unblock– снятие сетевых ограничений, созданных утилитой;.\degdid.ps1 <действие> -DryRun– вывод запланированных изменений без их применения.
Рекомендуемая последовательность: -Status, затем -Protect, затем повторно -Status. Единственным полным результатом считается вердикт ProtectedNoRealGdid: среда поддерживается, известные хранилища не содержат идентификатора, сетевая блокировка исправна. Остальные вердикты – RealGdidPresent, BlockDegraded, UnsupportedEnvironment и Error – означают, что защита неполная.
-Status содержит реальные идентификаторы учетной записи, профиля и устройства. Разработчик просит не публиковать его в открытом виде.
Требования и ограничения
- Windows 10, версия 22H2 (сборка 19045), или Windows 11 сборки 22000 и новее;
- 64-разрядный сеанс Windows PowerShell с правами администратора;
- отсутствие подключения к домену, Entra, рабочей учетной записи или системе управления мобильными устройствами (MDM);
- один загруженный пользовательский профиль и один определяемый целевой пользователь.
Полностью проверенной в лаборатории разработчик называет только линейку Windows 11, версия 25H2 (сборка 26200). Для остальных поддерживаемых сборок выводится предупреждение. Управляемые системы и конфигурации с несколькими профилями сценарий не обрабатывает, а отклоняет. Режим -Status при этом может проверить и неподдерживаемую систему.
Что перестанет работать
Блокировка адресов login.live.com, account.live.com и пути службы wlidsvc затрагивает механизмы, на которых построена вся идентификация устройства в экосистеме Microsoft. По данным Windscribe, ожидаемо нарушается или ухудшается работа следующих функций:
- вход в учетную запись Microsoft;
- Microsoft Store и авторизация в Xbox;
- вход в OneDrive с учетной записью Microsoft;
- «Связь с телефоном» и функции графа связанных устройств;
- синхронизация параметров, ключи доступа и вход через Windows Hello, привязанный к учетной записи Microsoft.
Обычная работа с рабочим столом в тестах сохранялась. Проверка обновлений через Центр обновления Windows и обновление баз Microsoft Defender также работали, однако установка накопительных обновлений и обновлений компонентов в заблокированном состоянии разработчиком не проверялась.
Как отменить изменения
Для снятия защиты используется команда с повышенными правами:
.\degdid.ps1 -Unblock
Команда удаляет только созданную утилитой область в файле hosts и принадлежащие ей правила брандмауэра. Некорректное или дублирующееся состояние управляемой области сценарий не трогает, а отклоняет. После снятия ограничений Windows снова получает возможность запросить GDID: в тестах разработчика новый идентификатор появлялся через 22 секунды после перезагрузки.
Где скачать
Исходный код и документация опубликованы в репозитории yegors/deGDID на GitHub. Проект распространяется по лицензии MIT, поэтому перед запуском можно самостоятельно проверить, какие именно изменения сценарий вносит в систему.
Отключение или ограничение функций, связанных с GDID, повышает конфиденциальность, но одновременно лишает систему части возможностей персонализации, диагностики и облачных сервисов Microsoft.