微软提供了一个有用的工具,名为组策略编辑器。它可以通过更改注册表的方式来方便地启用或禁用操作系统中某个元素的某个功能,但是以用户友好的方式
然而组策略编辑器只在专业版和企业版 Windows 11 系统中默认可用,家庭版系统的用户是无法打开组策略编辑器的.
但是这样的话,当普通用户想要禁用系统中某个不必要的功能(如自动更新)时,就只能通过修改注册表的方式来手动实现。这无疑增加了犯错误和破坏系统方面的风险。
组策略编辑器可以视作一种更改注册表的安全的方式,它虽然不支持你更改注册表中的所有内容,但是允许你更改几乎注册表中所有可以更改的内容。
不过,即使你是 Windows 11 家庭版的用户仍可通过如下的方法来添加并启用组策略编辑器。原因是,这个软件包或称组件包、工具包原本就存在于系统之中,只是家庭版默认没有将其添加与安装,所以你无法使用它
解决方法: 编写并运行如下两个批处理脚本
-
a.bat
@echo off pushd "%~dp0" rem List all relevant .mum files and save to List.txt dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum > List.txt dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >> List.txt rem add each package from List.txt to DISM for /f %%i in ('findstr /i . List.txt 2^>nul') do ( dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" ) pause
-
b.bat
@echo off >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system" REM --> If error flag set, we do not have admin. if '%errorlevel%' NEQ '0' ( echo Requesting administrative privileges... goto UACPrompt ) else ( goto gotAdmin ) :UACPrompt echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs" "%temp%\getadmin.vbs" exit /B :gotAdmin if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" ) pushd "%CD%" CD /D "%~dp0" pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i" pause