在 Windows 11 中通过 .bat 或 .ps1 启用系统保护(恢复)

在 Windows 11 中通过 .bat 或 .ps1 启用系统保护(恢复)

我正在尝试自动运行一个脚本,该脚本可在启动时(是的,每次我的 PC 启动时)启用系统还原。我发现这个 PowerShell 脚本似乎在直接输入到 PowerShell 终端窗口时有效。

启用计算机恢复 - 驱动器“C:”

但我想将其转换为脚本文件,通过将其放在启动文件夹中来运行。我尝试将此脚本输入记事本,将“所有文件”另存为“.ps1”,然后将该文件扩展名设置为使用 PowerShell 作为默认应用程序打开。但它会加载一个红色错误,该错误会在终端窗口关闭时迅速消失。

我通常在启动时放置 .bat 文件来启动程序,我知道这可以用于启动 .ps1 文件,但现在当我将其设置为默认应用程序的 PowerShell 启动时,.ps1 甚至不起作用。

有没有更简单的方法可以自动静默启用系统还原,最好通过.bat 脚本?

答案1

您在弹出窗口中看到的错误将与您的 PowerShell 执行策略有关。

您有几个选择;

  1. 将 Powershell 代码包装在批处理文件中以绕过它,以便

PowerShell -ExecutionPolicy Bypass -命令“Enable-ComputerRestore -Drive‘C:’”

  1. 使用类似以下命令解除脚本阻止
Unblock-File -Path pathhere\script.ps1
  1. 将您的执行策略更改为 RemoteSigned 或 Unstricted,如下所示

设置执行策略-执行策略 RemoteSigned

有关 PowerShell 执行策略的更多信息,您可以参考此页面https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.3

答案2

以下命令在 C:\ 驱动器上启用系统还原。

wmic.exe /namespace:\\root\default Path SystemRestore Call enable "C:\"

或者,使用@Kuypotta 向您建议的 PowerShell.exe 命令行。

笔记:无论哪种情况,您都必须为其中一个命令创建计划任务并将其配置为在登录时运行。它无法从启动文件夹中运行。

相关内容