【Win】如何在Windows隐藏安装的程序

由于维护人员或用户可能无意中通过“程序和功能”选项删除对业务至关重要的软件,这导致服务中断或安全风险。为了防止此类情况发生,确保只有授权的用户才能访问和管理系统中的程序。为了实现这一目标,我们将探讨如何在Windows操作系统中隐藏特定的安装程序。这包括从控制面板的“程序和功能”列表中隐藏程序,以及从现代设置界面中移除它们的可见性。通过这些方法,我们可以减少误操作的风险,同时保持系统管理的灵活性和安全性。

以下实验环境基于

在这里插入图片描述

目录:

  • 如何从设置/控制面板隐藏特定程序?
  • 使用PowerShell脚本隐藏安装的应用程序
  • 如何隐藏所有安装的应用程序以防止其他用户查看

如何从设置/控制面板隐藏特定程序?

假设现在的任务是隐藏安装的7-zip的条目。打开控制面板,然后转到程序和功能部分。确保列表中存在 **7-zip 23.01 (x64)**的条目。
在这里插入图片描述

也可以在现代设置UI(设置 -> 应用 -> 安装的应用)中找到有关安装程序的信息。
在这里插入图片描述

可以通过Windows注册表隐藏安装应用程序的条目。但首先,需要了解Windows如何在控制面板中构建您看到的已安装程序列表。您可以在一个三个注册表键中的一个中找到有关安装应用程序的信息:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall – 所有设备用户的程序的通用列表;
  • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall – 这个注册表键包含在x64 Windows构建上安装的x86应用程序的条目;
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall – 仅包含当前用户安装的应用程序。

Windows根据这些注册表键中的条目生成您在设置或控制面板中看到的已安装程序的列表。

在我的案例中,7-zip是安装到所有设备用户的程序,因此它的条目位于用户注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall中。

找到应用程序的注册表键(在示例中是7-zip),并创建一个新的32位DWORD注册表参数,名称为SystemComponent,值为1SystemComponent = dword: 00000001

在这里插入图片描述

刷新安装程序列表窗口(按F5键)。7-zip的条目应该从列表中消失。
在这里插入图片描述

程序的条目也会从现代设置中的已安装程序列表中消失。
在这里插入图片描述

您可以从命令提示符隐藏程序。以下是可以在您的脚本和批处理文件中使用的此类命令的示例(此命令将隐藏安装的7-Zip归档程序):

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

要再次使程序可见,只需删除SystemComponent参数(或使用命令:REG ADD "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-zip" /v SystemComponent /t REG_DWORD /d 0 /f将其值更改为0

注意:系统应用程序,如C++的再发行包或.NET Framework的版本,不能以这种方式隐藏。

使用PowerShell脚本隐藏安装的应用程序

如果您需要一次性隐藏多个应用程序,可以使用以下PowerShell脚本。要隐藏的程序列表在AppsToHide变量中指定。然后,脚本检查所有注册表键,找到具有程序条目的键,并在每个键中创建一个值为1SystemComponent注册表参数(如果参数已经存在,则将其值更改为1)。

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

在示例中,脚本用于隐藏Firefox和7-zip应用程序。您可以通过GPO在域计算机上运行此PowerShell脚本。

如何隐藏所有安装的应用程序以防止其他用户查看?

您可以通过编辑本地组策略参数来完全隐藏用户控制面板中的所有安装程序。

打开本地组策略编辑器(gpedit.msc),转到用户配置 -> 管理模板 -> 控制面板 -> 程序,然后启用隐藏“程序和功能”页面隐藏程序控制面板的策略。

在这里插入图片描述

更新组策略设置,使用命令gpupdate /force,然后检查控制面板中的“程序和功能”窗口是否对用户不可见。
在控制面板中,应该显示消息系统管理员已禁用“程序和功能”
在这里插入图片描述在设置 – 应用 – 安装的应用 中,虽然仍然显示了对应的程序,但是无法修改和卸载。
在这里插入图片描述

也可以使用以下命令防止在Windows控制面板中显示安装的Windows程序的列表:

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

在这里插入图片描述

结语

在考虑隐藏Windows系统中的安装程序时,建议根据个人或组织的特定需求慎重行事。虽然组策略提供了一种强大的方法来控制用户界面和系统行为,但它可能不是在所有情况下都适用的最佳解决方案。特别是,对于只想隐藏少数特定程序而非整个程序列表的用户来说,直接通过注册表进行逐一隐藏可能更为精准和有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/703772.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI预测体彩排3采取878定位大底=23策略+杀断组+杀组选+杀和尾+杀和值012缩水测试5月15日预测第1弹

昨天与一位玩排3的彩友通过视频直播的形式聊了下,受益匪浅,给我提供了一些比较有价值的建议,比如,对于878的定位策略,方向是没问题的,但是8783的话,还是缺乏一定的命中率,如果87823&…

掏心经验分享,软考中项0基础入门篇!

想备考下半年中项(系统集成项目管理工程师)的朋友,不知道如何了解软考中项,今天给大家整理一篇关于我自己在备考软考时的一些考量和踩过的一些坑。(无广,放心看) 很多小伙伴总是听大家说软考中…

C语言收尾 预处理相关知识

一. 预处理详解 1.1 预定义符号 FILE //进行编译的源文件LINE //文件当前的行号DATE //文件被编译的日期TIME //文件被编译的时间FUNCTION //文件当前所在的函数STDC //如果编译器遵循ANSI C标准,其值为1,否则未定义 这些预定义符号都是语言内置的 我们…

win11此电脑右键“属性“选项,无法打开怎么解决?

方法如下: 1. 按【 Win X 】组合键,或【 右键】点击任务栏上的【 Windows开始菜单】,在打开的隐藏菜单项中,选择【 终端管理员】; 2. 用户账户控制窗口,你要允许此应用对你的设备进行更改吗?点…

SC8908电机驱动芯片替代AN41908

SC8908 描述 五路H桥静音驱动电机驱动芯片,闭环直流电机光圈调节,支持霍尔位置检测, 2个步进电机。步进电机驱动带256微步细分。 主要特性 • 步进驱动H桥每路250mA最大驱动电流 • 光圈直流驱动H桥每路150mA最大驱动电流 • 单独…

AtomicInteger 详细解读

AtomicInteger 详细解读 一、原始数据并发写引发的问题 对于共享变量整数的加减操作,当出现并发的情况时,很容易造成线程不安全。 1、代码示例 public class Demo {static int num 0;public static void main(String[] args) throws InterruptedExc…

CSS 根据子元素选择父元素,并设置父元素的样式

场景举例&#xff1a;当子元素有增加了一个class时&#xff0c;需要影响其父元素的样式 可以使用":has"伪类来实现选择父元素的效果 <style>.parent:has(.child){background-color: #eee;}p{width:100px;border:1px solid #000;} </style> <body>…

webpack优化构建速度示例-externals:

externals 配置项主要用于防止将某些 import 的包&#xff08;package&#xff09;打包到 bundle 中&#xff0c;而是在运行时&#xff08;runtime&#xff09;再从外部获取这些扩展依赖&#xff08;external dependencies&#xff09;。这样做的主要目的是为了解决打包文件过大…

Linux上安装python指南

公司的linux服务器上只有自带的python2,折腾了一下安装python3,后来在网上搜发现装miniconda会更加方便。 1、 下载miniconda安装包 清华镜像下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 点这里下载 2、 上传Linux安装 #安装在/usr/local/mini…

非成对意象翻译中的内容制约范式再思考

Rethinking the Paradigm of Content Constraints in Unpaired Image-to-Image Translation 非成对意象翻译中的内容制约范式再思考 Xiuding Cai1 2, Yaoyao Zhu1 2, Dong Miao1 2, Linjie Fu1 2, Yu Yao1 2 蔡秀定 1 2 、朱瑶瑶 1 2 、苗东 1 2 、付林杰 1 2 、余瑶 1 2 Corre…

4-1 综合应用延申:RYU北向接口的应用实现案例

ryu控制器在SDN三层架构中是处于中间层&#xff0c;&#xff08;如图1&#xff09; 图1 SDN三层架构 如何实现与应用层的通信&#xff0c;如图1所示&#xff0c;实现RYU控制器与应用层&#xff08;如开发应用web界面时数据可视化平台&#xff09;数据通信就需要利用SDN的北向…

ssm基于BS的项目监管系统+jsp论文

系统简介 信息数据从传统到当代&#xff0c;是一直在变革当中&#xff0c;突如其来的互联网让传统的信息管理看到了革命性的曙光&#xff0c;因为传统信息管理从时效性&#xff0c;还是安全性&#xff0c;还是可操作性等各个方面来讲&#xff0c;遇到了互联网时代才发现能补上…