修复 Windows 打不开 Windows安全中心
win10/win11
菜单栏输入 PowerShell
管理员启动
管理员权限打开PowerShell
,依次执行如下3个命令即可,中途出现部署失败的红色提示可以无视,整个过程几分钟
在cmd窗口下 输入 Set-ExecutionPolicy Unrestricted
(建议复制改代码)选 Y
回车
代码解释: PowerShell 提供多种执行策略选项,包括:
当你将执行策略设置为 Unrestricted
时,它允许所有脚本运行,无论其来源。在这种模式下,任何 .ps1 脚本(无论是来自互联网还是本地)都可以执行。
再次输入代码 Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "
建议复制并回车 改过程较长可能会有2-3分钟 出现报错等信息忽略即可
这段 PowerShell 代码的作用是重新注册所有已安装的 Windows 应用(UWP 应用),包括所有用户的应用。以下是对每个部分的详细解释:
Get-AppxPackage -AllUsers
Get-AppxPackage
:该 cmdlet 用于获取安装在计算机上的所有 AppX 包(即 Windows 应用)。-AllUsers
:这个参数意味着它会列出系统上所有用户安装的应用,而不仅仅是当前用户的应用。| Foreach { ... }
|
(管道符):将前面的命令的输出结果作为后面命令的输入。在这里,它把 Get-AppxPackage
所获取到的应用列表传递给 Foreach
循环。Foreach { ... }
:对于管道传入的每一个 AppX 包,执行大括号 {}
中的代码块。Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"
Add-AppxPackage
:该 cmdlet 用于添加一次性应用包(AppX)或重新安装应用。-DisableDevelopmentMode
:指定应用不会以开发模式进行安装。若不使用此选项,可能会导致无法加载其他依赖。-Register
:指示 PowerShell 使用指定的清单文件(AppXManifest.xml)来注册 AppX 应用。这通常用于在应用已经存在但可能未被正确注册的情况下重新注册应用。整段代码的作用是:获取所有用户的已安装 Windows 应用,然后逐一重新注册这些应用,使其能正常工作。这在某些情况下很有用,例如当应用的功能出现问题或无法启动时,通过重新注册可以修复这些问题。
最后输入代码 Get-AppxPackage Microsoft.SecHealthUI -AllUsers | Reset-AppxPackage
我在网上看的很多人到这一步,报错,重启启动就可以访问了;但我这边不行;解决上面的问题
Get-AppxPackage Microsoft.SecHealthUI -AllUsers
Get-AppxPackage
: 此 cmdlet 用于获取安装在 Windows 上的 AppX 包(即 UWP 应用)。Microsoft.SecHealthUI
: 这是指定要获取的特定应用包的名称。在此案例中,它是 Windows 安全中心应用。-AllUsers
: 这个参数表示获取所有用户下安装的该应用,而不仅仅是当前用户的版本。这用于确保无论哪个用户安装了该应用,都会被包含在内。| Reset-AppxPackage
|
(管道符): 将前面的命令结果作为后续命令的输入。Reset-AppxPackage
: 此 cmdlet 是一个用于重置已安装的 AppX 包的命令。重置操作通常会恢复应用到其初始状态,清除或修复可能存在的问题。整条命令的组合效果如下:
Microsoft.SecHealthUI
应用信息。Reset-AppxPackage
命令,使得该应用通过重置操作回到其默认状态。Reset-AppxPackage : 无法将“Reset-AppxPackage”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如 果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 51 + Get-AppxPackage Microsoft.SecHealthUI -AllUsers | Reset-AppxPackage + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Reset-AppxPackage:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
检查 PowerShell 版本:
确保你使用的是 Windows PowerShell
,而不是其他终端。
$PSVersionTable.PSVersion
我的版本 5.1.19041.1
表示了以下内容:
这意味着你在使用的 PowerShell 版本是相对较新的,但不是最新的(例如,PowerShell 7系列是基于 .NET Core 的新版本)。
由于 Reset-AppxPackage
cmdlet 在一些特定情况下可能不可用,尤其是在某些版本或配置下,你可以尝试以下方法来处理 Microsoft.SecHealthUI
的重置或修复:
以管理员身份重新运行命令: 确保你正在以管理员身份运行 PowerShell。如果尚未这样做,请右键点击 PowerShell 图标,选择“以管理员身份运行”。
重新注册应用: 使用以下命令重新注册所有内置的 UWP 应用程序:
Get-AppxPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"}
有报错无需理会;
卸载并重新安装应用:
如果你想要重置 Microsoft.SecHealthUI
,请使用下面的命令先卸载它:
Get-AppxPackage Microsoft.SecHealthUI -AllUsers | Remove-AppxPackage
然后,可以重启计算机并检查 Microsoft Store 是否有该应用供重新安装。(我本机没实际重启就可以了)
然后我就可以正常启动访问了;