※当サイトは広告収入で運営されているため広告が表示される場合があります。

「deGDID」Windows GDIDを無効化するスクリプト

Windows
[PR] Lenovo
SALE
Lenovo
ThinkPad スペシャルセールページ
圧倒的な性能と堅牢性。プロフェッショナルのための相棒を今だけ特別価格で。
今すぐチェック

Windowsに埋め込まれた「GDID」とは

Microsoftの GDID (Global Device Identifier)とは、Windowsがインストールされたパソコンごとに、Microsoftのサーバーから自動的に割り当てられる、隠されたデバイス識別番号(ID)のことです。

なぜ、GDID が今注目を集めているのかというと、このIDを利用して2026年7月に米連邦捜査局 (FBI) がハッカーを逮捕したことが裁判記録の公開により、明らかになったからです。

GDID は公式ドキュメントがほとんどなく、その存在が知られることなく Windows Vista 以降のすべての Windows デバイスに割り振られてきました。GDID にはオン・オフスイッチがなく、ユーザーの許可なく勝手に自動生成され、ネットに接続するとMicrosoftサーバと通信しはじめます。この追跡IDとサイトのログイン情報などを組み合わせることで簡単に個人を特定できてしまいます。

これまでも Windows は、裏で何らかの通信が行っているのではないか、と推測されていましたが、 真向からユーザーのプライバシーを無視したこのIDの存在が公になったことで、プライバシーに敏感なPCユーザーの間では大きな衝撃が走っています。

GDIDを無効化する「deGDID」

GDID を無効化するために、有志の開発者によって「deGDID」というオープンソース (MITライセンス) のツール(PowerShellスクリプト)が開発・公開されました。

GitHub – yegors/deGDID: Deletes all instances of Microsoft’s GDID and prevents minting of new ones
Deletes all instances of Microsoft's GDID and prevents minting of new ones – yegors/deGDID

このツールを使うことで、パソコン内に保存されているGDID関連のデータを削除し、Microsoftのサーバーから新しいIDが勝手に再発行されるのをブロックすることができます

ツール(degdid.ps1)を実行すると、裏で次の3つのプロセスが順番に行われます。

プロセス1 : MSサーバとの通信を遮断、IDの新規発行・再取得を防ぐ

まず、WindowsがMicrosoftのサーバーにアクセスして、新しいGDIDを勝手に作ったり受け取ったりできないように「通信経路」をブロックします。

  • hosts ファイルを変更し、ID発行に関わるMicrosoftの登録用サーバーへのアクセスを遮断します
  • Windows Defender ファイアウォールの規則を追加・強化し、通信ブロックをさらに強固なものにします

プロセス2 : デバイス内のすべてのIDデータを消去する

Windowsは裏で他のID(アカウントごとのPUIDなど)と紐付いた情報を使って、すぐに元通りにGDIDを復活させてしまうため、、deGDIDは、WindowsがIDを自己修復できないよう、システム内のあらゆる場所に散らばっている関連データを一斉に削除(Wipe)します。

消去する場所は以下の通り多岐にわたります。

  • システムと各ユーザーの設定(レジストリ): ログインしているユーザーだけでなく、システム(SYSTEM)や初期設定(.DEFAULT)のレジストリ
  • 各種トークンとチケット: デバイスの識別用トークンや、一時的なアクセスに使われるデバイスチケット(Device Tickets)
  • 資格情報マネージャー: Windowsがネットワークログイン用に保存している資格情報エントリ
  • 各種キャッシュフォルダ: ConnectedDevicesPlatform(デバイス連携用)や TokenBroker、WAM broker といった、Windowsが通信を円滑にするために一時保存しているデータ群

プロセス3 : 検証作業

  • 数10秒後に、パソコンのネットワーク状態を再チェックし、Microsoftのサーバーとの通信経路が塞がれたままであること、そしてパソコン内にGDIDのデータが復活していないことを確認します
  • 「ProtectedNoRealGdid」と表示されれば合格(Verdict)です。

deGDID のデメリット

deGDIDツールを実行してMicrosoftのGDIDを削除・ブロックすることには、複数の重大なデメリットや機能制限(トレードオフ)が存在します。

具体的には、以下のような影響や制限が発生します。

Microsoftの各種サービスや認証機能の停止・低下

deGDID は、 Microsoft のアイデンティティやデバイスグラフに関する通信経路(login.live.comaccount.live.com、サービスパス等)をブロックするため、Microsoftアカウント(MSA)に紐づく以下の機能が動作しない、または著しく動作低下します。

  • Microsoftアカウント(MSA)へのログインフロー全般
  • Microsoft Store や Xbox の認証と利用
  • OneDriveへのMSAサインイン
  • Windows Hello(Microsoftアカウントに紐づくもの)やパスキー(passkeys)の利用
  • スマートフォン連携(Phone Link)
  • デバイス間同期などのCDP(Connected Devices Platform)グラフ機能

システムアップデートが未検証

基本的なデスクトップへのアクセス、Windows Update によるスキャン、Microsoft Defender の定義更新などは動作することが確認されています。しかし、「累積更新プログラム(Cumulative Update)」や「機能更新プログラム(Feature Update)」といった重要なアップデート処理に対する検証は完了していません

動作要件

deGDIDツール(degdid.ps1)を実行してGDIDを削除・ブロックするためには、いくつかの要件を満たしている必要があります。

具体的な動作要件は以下の通りです。

  • 対応するWindowsのバージョン
    • Windows 10 22H2(ビルド 19045)
    • Windows 11(ビルド 22000 以降)

※開発元で動作検証が行われている環境は「Windows 11 25H2(ビルド 26200)」です。それ以外の対象ビルド(Windows 10など)でも動作はしますが、実行時に警告メッセージが表示されます

  • PCの管理状態
    • 組織で集中管理されているパソコン(ドメイン参加やEntra ID、MDMと呼ばれる管理システムに登録されている端末)や、複数の人間がログインするパソコンでは、深刻な不具合を防ぐためにツールが実行を自動的に拒否します。
    • 以下の組織管理に登録・参加していないこと:
      • ドメイン(Domain)
      • Microsoft Entra(旧 Azure AD)
      • 会社や学校などの職場(Workplace)アカウントの紐付け
      • MDM(モバイルデバイス管理)による集中管理
  • ユーザープロファイル
    • 使用している人間のプロファイル(アカウント)が1つだけ読み込まれていること
      複数の人間のプロファイルが同時にロードされている(または誰が使っているか曖昧な)システムでは、誤作動を防ぐために実行が拒否されます
  • 実行するPowerShellの環境
    • 64ビット版(64-bit)の Windows PowerShell であること。

実行方法

事前準備(管理者権限でターミナルの起動)

  1. PowerShellを「管理者として実行」で起動する
    • スタートボタンを右クリック(または Windowsキー + X)し、「ターミナル(管理者)」または「PowerShell(管理者)」を起動します。
  2. スクリプトの保存先フォルダに移動する
    • cd コマンドを使って、ダウンロードした degdid.ps1 があるフォルダに移動します。 (例: cd $env:USERPROFILE\Downloads)

基本の実行手順

ステップ1:状態チェック

まずは、システムに変更を加えることなく、現在のPCがGDIDを保持しているかどうかを確認します。

.\degdid.ps1 -Status

システム内をスキャンし、ローカルアカウント情報や現在割り当てられているGDIDの数値などを画面に表示します。この段階では何も変更されません。

ステップ2:GDIDの削除と通信のブロック

要件を満たしていることを確認したら、実際にGDIDを削除し、再発行をブロックする処理を行います。

.\degdid.ps1 -Protect

ネットワーク上のMicrosoft登録パスを遮断(hostsファイルとファイアウォールを書き換え)した上で、パソコン内のレジストリやキャッシュ、各種トークンに散らばる GDID関連データをきれいに消去します。

ステップ3:最終確認

処理が終わったら、もう一度ステータスを確認して、本当に保護が完了したかを確かめます。

.\degdid.ps1 -Status

画面に ProtectedNoRealGdid と表示されればブロックと消去が完全に成功したサインです。


オプション:ログ取得
  • スクリーンショットやログをネットに共有したいとき そのまま -Status を実行すると、あなたのPC固有のプライベートな識別番号(GDIDの数値など)が画面にそのまま表示されてしまいます。もし掲示板やGitHubなどにログを貼って相談したい場合は、以下のコマンドを使います。
.\degdid.ps1 -Status -Redact

このコマンドを使うと、個人を特定できる重要なID情報を自動的に隠した(マスクした)状態でステータスを出力してくれます。

  • メジャーアップデートがあったとき Windows Update(特に大規模な機能更新プログラムなど)が行われた後や、ファイアウォールの設定、hosts ファイルを手動で変更した後は、ブロックが解除されている可能性があります。その際は、再度 .\degdid.ps1 -Status を実行して、保護状態が維持されているか確認することが推奨されています。

復元方法

deGDIDによって行われたブロックを解除し、Windowsの各種機能やMicrosoftサービスを再び正常に使える状態に設定を元に戻す(復旧する)手順は、非常にシンプルです。

以下のステップに従ってコマンドを実行します。

ステップ1 : PowerShellを管理者権限で起動する
スタートボタンを右クリック(または Windowsキー + X)し、「ターミナル(管理者)」または「PowerShell(管理者)」を選択して起動します。

ステップ2 : deGDIDスクリプトがあるフォルダーに移動する
ツール(degdid.ps1)を保存したフォルダーへ、cd コマンドを使って移動します。

cd $env:USERPROFILE\Downloads

ステップ3 : アンブロック用のコマンドを実行する

以下のコマンドのいずれかを実行します。

.\degdid.ps1 -Unblock

(または .\degdid.ps1 -Unprotect でも同様に機能します)


プライバシー対策としての限界

最後に、このツールは GDID という特定の識別子に絞ったものであり、Windowsのすべての追跡を停止するものではありません。

Microsoft がすでにサーバー側に保存している過去の通信ログや履歴は削除できませんし、 Windows にブラウザ履歴やキーログ、音声データなどの収集・送信をやめさせるには別途設定が必要です。

プライバシーに重きを置く方は、 Linux などのオープンソース OS に切り替えることも良い選択です。

お わ り

ELECOM
数量限定・在庫限り
CLEARANCE
MAX
95%OFF
Windows
シェアする

コメント

タイトルとURLをコピーしました