Windowsの設定はSettingsアプリ、コントロールパネル、services.msc、taskschd.msc、gpedit.msc、regeditと散らばったままで、何かを変えるたびにパスを調べ直す——そんな日常的な不満を解消するため、XDAのLead Technical EditorであるAdam Conway氏が独自のコントロールセンターを自作し、GitHubでオープンソース公開しました。Avalonia製のGUIシェルとPowerShellスクリプトを組み合わせた、軽量で完全に可視化されたツールとなっています。

なぜ自作したのか:Windowsの「設定が散らばる問題」

Windows 8以降、Settingsアプリとコントロールパネルはサウンドやネットワークやストレージといったカテゴリでどちらが主管なのか合意しないまま共存し続けています。ディスプレイ設定はSettingsにあるのに色補正はコントロールパネル、グループポリシーはgpedit.mscの裏に隠れており、しかもHome editionにはそもそもインストールされていません。

Microsoft自身も、コントロールパネルを廃止できない理由として「数十年前のプリンタードライバーやネットワークドライバーを壊すことを恐れているため」とおおむね説明していると、Conway氏は紹介しています。そこで氏は、自分が頻繁に使う診断と調整だけを1つのウィンドウに集約するユーティリティを書くことにしました。

このツールはもともと、PCのトラブルを相談してくる友人に渡すためのPowerShellユーティリティから始まったといいます。友人の1人がDiscordで氏を「Google」と呼ぶようになったほど頻繁に質問が来るため、それを配れる形にしようとしたのが原点です。

構成:Avalonia 12のシェル+PowerShell+JSONマニフェスト

UIフレームワークの選定では、WinUI 3の現状を調べた末にAvaloniaを採用しています。Avalonia 12がリリースされていたものの、FluentAvaloniaはバージョン11までしか対応していないため、その制約のなかで構築したとのことです。

アプリ起動時のオーバービューページには、システムの状態をひと目で示す4項目が並びます。

  • パブリックDNSリゾルバーに対するDNSレイテンシ
  • システムの稼働時間(uptime)
  • 再起動保留の有無
  • 蓄積された一時ファイルの量

サイドバーの各ページは実際の作業に対応しており、Healthページでは Windowsのバージョン、アクティベーション状態、Secure Boot、TPM、Defender、BitLocker、更新、ドライブ健全性、CPU、メモリ、GPU、バッテリー、ファイアウォール、過去24時間のイベントログのクイックスキャンを確認できます。Networkページでは、Cloudflare、Google、Quad9、AdGuard、DHCPの間を切り替えるDNSプロファイル切替機能も備えています。

サービスとスケジュールタスクのページでは、行ごとにStart、Stop、Restart、Enable、Disable、Runのボタンが並び、上部のフィルターボックスから検索もできるようになっています。

拡張性:すべての処理がスクリプトかJSONで可視化

このツールの設計上の特徴は、C#シェルが意図的に薄く作られている点です。各診断はScripts/フォルダ配下の.ps1ファイルとして配置され、C#層はスクリプトを起動して標準出力からJSONを1つ読み取り、該当ページにタイル表示するだけの役割しか果たしません。

各スクリプトは ok / warn / fail / info のステータス、タイトル、サマリー、オプションのdetails配列を返します。Write-Result ヘルパーが用意されているため、新しいスクリプトもこれを再利用するだけで書けます。例えば Scripts/Network/dns-health.ps1 をエディタで開けばレイテンシテストの実装をそのまま読めますし、PowerShellプロンプトから単独実行してもアプリと同じJSONが得られます。

Gaming、Privacy、Taskbar and Shellといったトグル系のページはスクリプトですらなく、Manifest/tweaks.json のマニフェストから読み込まれます。たとえばシステムクロックに秒を表示するトグルは、次のようなJSONエントリで定義できます。

{
  "id": "shell.show-seconds-in-clock",
  "name": "Show seconds in system clock",
  "category": "shell",
  "registry": [
    {
      "path": "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Advanced",
      "name": "ShowSecondsInSystemClock",
      "type": "DWORD",
      "value": "1",
      "offValue": "0"
    }
  ]
}

再コンパイル不要でJSONを書き足すだけで、UIにトグル・バックアップ・リバート・ドライランプレビューが自動で組み込まれます。

「.regバックアップ」と「いつでも取り消せる」設計

レジストリを触るツールにありがちな「何を書き換えたかわからない」「元に戻せない」問題を避けるため、変更を加えるスクリプトはすべて -DryRun スイッチを受け付け、plannedChanges[] 配列を含む同じJSON形を返します。Applyを押す前に、対象レジストリ値の「current」と「next」が表示されます。

バックアップ自体は標準の.regファイルで、レジストリエディタのエクスポートと同じ形式・DWORD/binary/expand/multi-stringのエンコーディングで保存されます。保存先は %LOCALAPPDATA%\WindowsControlCenter\Backups\ で、20260515_142530_shell.show-seconds-in-clock.reg のようにタイムスタンプ付きで命名されます。

ポイントは、ロールバックがアプリにロックインされていないことです。Explorerで.regファイルをダブルクリックするだけでWindowsが値を復元してくれるため、このユーティリティが将来動かなくなったり、ユーザーが使うのをやめたりしても、変更は問題なく元に戻せます。適用中のtweak一覧は %LOCALAPPDATA%\WindowsControlCenter\applied.json というフラットなJSONに記録されるため、Notepadで開けばアプリが認識している状態を確認できます。

デブロートツールではない、という線引き

Conway氏は「これはデブロートツールではないし、今後もそうしない」と明言しています。デブロート用途には既に優れた専用ツールが存在するため、車輪の再発明はしないという立場です。

代わりに収録されているのは、Hardware-accelerated GPU Scheduling、Windows 11のクラシック右クリックメニュー、Widgetsボタンの非表示、テレメトリと広告ID系のトグルなど、氏が手作業でも実行してきて、クリーンにリバートできることを確認している項目に絞られています。設定パネル・トレイアイコン・スケジュールスキャン・通知はあえて実装しておらず、軽量でミニマルな姿勢を貫いています。

オーディオ関連のtweakも一度試作したものの、Microsoftが今後Windowsのオーディオに加える変更に対してシム(shim)を保守し続けたくないという理由で、破棄されました。仕様が文書化されていない領域だからです。

将来的にはPowerShellスクリプトを自分で書いて適切なフォルダに置けば、UIに自動で表示される完全な拡張機能化を計画しているとされています。ただし氏自身がC#より Python・Cに親しんでいるため、まずは監査しやすいレジストリベースのtweakから着手したとのことです。

試してみる価値はあるか

このツールはGitHubで完全にオープンソースとして公開されており、ダウンロード・実行・拡張のいずれも可能です。Windowsの設定がどこにあるのか毎回探すのに疲れている開発者・パワーユーザーにとっては、設計思想を読むだけでも参考になる構成だと言えます。Settingsやコントロールパネルを置き換えるものではないものの、「自分がよく触る項目だけを1ウィンドウに集約し、変更履歴と取り消し手段を残す」というアプローチは、日常的なWindowsメンテナンスの手数を確実に減らしてくれそうです。

Q&A

Q. このツールは一般的なデブロートツール(不要アプリ削除ツール)の代わりになりますか? いいえ。作者のAdam Conway氏は「デブロートツールではないし、今後もそうしない」と明言しています。収録されているのは、Hardware-accelerated GPU SchedulingやWindows 11のクラシック右クリックメニュー、テレメトリ系トグルなど、手作業でも安全にリバートできる範囲のtweakに限られます。

Q. レジストリを書き換えるツールですが、元に戻せますか? 変更前に標準形式の.regファイルが %LOCALAPPDATA%\WindowsControlCenter\Backups\ にタイムスタンプ付きで保存されます。Explorerで.regをダブルクリックするだけでWindowsが値を復元するため、アプリが動かなくなってもリバート可能です。Applyの前にcurrent/nextを比較するドライランプレビューも備わっています。

Q. 自分でtweakを追加できますか? レジストリ書き込みだけで完結するものは、Manifest/tweaks.json にエントリを追加してアプリを再起動するだけで、トグルとして自動的にUIに現れます。それより複雑な処理は .ps1 スクリプトをScripts/フォルダに配置して連携させる形になります。スクリプトの完全な拡張対応は将来計画として示されています。

出典