Windows 11
 Computer >> コンピューター >  >> システム >> Windows 11

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

この記事では、Windowsのコントロールパネルに表示される「インストールされているプログラム」の一覧から、特定のアプリを非表示にする方法を詳しく解説します。Windows XPから最新のWindows 10およびWindows 11まで、幅広いバージョンで利用できるテクニックです。

設定/コントロールパネルから特定のプログラムを非表示にする方法

例として、画像編集ソフトGIMPのエントリを非表示にする手順を説明します。まずコントロールパネルを開き、プログラムと機能セクションに移動します。インストール済みアプリの一覧に「GIMP 2.10.28」が表示されていることを確認してください。

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

また、最新の設定アプリ(設定→アプリ)からも、インストール済みプログラムの情報を確認できます。

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

インストール済みアプリケーションのエントリは、Windowsレジストリを編集することで非表示にできます。その前に、Windowsがコントロールパネルに表示するプログラム一覧をどのように構築しているのかを理解しておきましょう。インストール済みアプリケーションの情報は、次の3つのレジストリキーのいずれかに保存されています。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall – デバイスの全ユーザー共通のプログラム一覧
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall – x64版Windowsにインストールされたx86(32ビット)アプリの情報
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall – 現在のユーザー専用にインストールされたアプリの情報

Windowsは、これらのレジストリキー内のエントリをもとに、「設定」やコントロールパネルに表示されるインストール済みプログラムの一覧を生成しています。

今回のケースでは、GIMPはWingetパッケージマネージャーを使って現在のユーザープロファイルにのみインストールされているため、そのエントリはユーザーレジストリハイブ(HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall)内に存在します。

該当するアプリのレジストリキーを見つけたら(この例ではGIMP-2_is1)、新しい32ビットDWORD値としてSystemComponentを作成し、値を1に設定します。
SystemComponent = dword:00000001

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

インストール済みプログラムの一覧ウィンドウを更新(F5キーを押す)すると、GIMPのエントリが一覧から消えていることが確認できます。

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

同様に、Windows 10の「設定」パネルに表示されるインストール済みプログラムの一覧からも、該当アプリのエントリが消えます。

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

ヒント: 別の方法として、同じレジストリキー内のDisplayNameパラメータの名前をQuietDisplayNameに変更することでも、プログラムを非表示にできます。

コマンドプロンプトからプログラムを非表示にすることも可能です。以下はスクリプトやバッチファイルに組み込めるコマンドの例です(7-Zipアーカイバーを非表示にする場合)。

REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip" /v SystemComponent /t REG_DWORD /d 1 /f

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

プログラムを再び表示したい場合は、SystemComponentパラメータを削除するか、値を0に変更します(REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip" /v SystemComponent /t REG_DWORD /d 0 /f)。あるいはQuietDisplayNameの名前をDisplayNameに戻しても構いません。

ヒント: アプリケーション本体だけでなく、それに関連するWindowsサービスも非表示にしたい場合は、「Windowsサービスをユーザーから隠す方法」の記事も参考になります。

なお、C++再頒布可能パッケージや.NET Frameworkなど、システムコンポーネントとして扱われるアプリは、この方法では非表示にできない点に注意してください。

PowerShellスクリプトで複数のインストール済みアプリを一括非表示にする

複数のアプリケーションをまとめて非表示にしたい場合は、以下のPowerShellスクリプトが便利です。非表示にしたいプログラムの一覧は$AppsToHide変数で指定します。スクリプトはすべてのレジストリキーを確認し、該当するプログラムのエントリが含まれるキーを見つけて、それぞれに値が1SystemComponentパラメータを作成します(既にパラメータが存在する場合は値を1に上書きします)。

レジストリキーやパラメータをPowerShellで操作する詳細については、「PowerShellでレジストリキーを取得・作成・編集・削除する方法」の記事をご覧ください。

$RegPaths = @(
"HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
)
$AppsToHide = @(
"*GIMP*",
"*7-Zip*",
"*Teams*",
"*Firefox*"
)
foreach ($App in $AppsToHide) {
foreach ($Path in $RegPaths) {
$AppKey = (Get-ItemProperty $Path -ErrorAction SilentlyContinue| Where-Object { $_.DisplayName -like $($App) }).PSPath
if ($null -ne $AppKey) {
$SystemComponent = Get-ItemProperty $AppKey -Name SystemComponent -ErrorAction SilentlyContinue
if (!($SystemComponent)) {
New-ItemProperty "$AppKey" -Name "SystemComponent" -Value 1 -PropertyType DWord
}
else {
$SystemComponentValue = (Get-ItemProperty $AppKey -Name SystemComponent -ErrorAction SilentlyContinue).SystemComponent
if ($SystemComponentValue -eq 0) {
Set-ItemProperty "$AppKey" -Name "SystemComponent" -Value 1
}
}
}
}
}

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

この例では、Teams、GIMP、Firefox、7-Zipの4つのアプリを非表示にしています。このPowerShellスクリプトは、GPO(グループポリシー)経由でドメイン内のコンピューターに対して一括実行することもできるため、企業環境での運用にも活用できます。

他のユーザーからすべてのインストール済みアプリを隠す方法

コントロールパネルに表示されるインストール済みプログラムの一覧自体を完全に非表示にすることも可能です。その場合は、ローカルグループポリシーの設定を編集します。

ローカルグループポリシーエディター(gpedit.msc)を開き、「ユーザーの構成管理用テンプレートコントロールパネルプログラム」に移動して、「‘プログラムと機能’ページを表示しない」ポリシーを有効にします。

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

gpupdate /forceコマンドでグループポリシー設定を更新した後、ユーザーから「プログラムと機能」ウィンドウが見えなくなっていることを確認しましょう。コントロールパネルには「お使いのシステム管理者によってプログラムと機能が無効にされています」というメッセージが表示されます。

Windows 10/11でインストール済みプログラムを非表示にする方法|レジストリ・PowerShell・GPOでの設定手順

また、以下のレジストリコマンドを使用しても、コントロールパネルにインストール済みプログラムの一覧を表示させないようにできます。

REG add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Programs" /v NoProgramsCPL /t REG_DWORD /d 1 /f
REG add "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Programs" /v NoProgramsAndFeatures /t REG_DWORD /d 1 /f

  1. Windows 10でインストール済みアプリ・プログラムを別ドライブに移動する完全ガイド

    Windows 10でプログラムやソフトウェア、アプリケーションを使うには、事前にインストールが必要です。通常、プログラムはオペレーティングシステム(OS)が格納されているルートフォルダ、つまり多くの方にとってCドライブにインストールされます。しかし、ゲームやアプリを次々とインストールしているうちに、Cドライブの空き容量がどんどん逼迫していったらどうすればよいのでしょうか?CドライブにはWindowsのシステムファイルやプログラムファイルが含まれており、誤ってフォルダを削除するとパソコンが正常に動作しなくなる恐れがあります。そのため、むやみに削除するのは避けるべきです。Cドライブの空き容量を確

  2. Windows 10 でドライブを非表示にする3つの方法【初心者向け解説】

    パソコンには、写真、動画、書類など、機密性の高い大切なデータが数多く保存されているものです。こうしたデータを覗き見から守るために、ファイルやフォルダを個別に非表示にしている方も多いでしょう。しかし、隠したいファイルが大量にある場合、一つひとつ手作業で隠していくのは非常に手間のかかる作業です。そんなときにおすすめなのが、機密情報を含むファイルやフォルダを特定のドライブにまとめ、そのドライブごと非表示にする方法です。ドライブを非表示にすれば、PCにアクセスした人はドライブ自体が存在しないと認識するため、個人情報をより確実に保護できます。 Windows でドライブを非表示にする ご存じのとおり、パ