RemoveWindowsAI:一个 PowerShell 脚本强制移除 Windows 11 全部 AI 功能
【免费下载链接】RemoveWindowsAIForce Remove Copilot, Recall and More in Windows 11项目地址: https://gitcode.com/GitHub_Trending/re/RemoveWindowsAI
RemoveWindowsAI 是一个开源 PowerShell 脚本:一条命令强制移除 Windows 11 里的 Copilot、Recall 等全部 AI 功能,并用自定义更新包堵住它们通过 Windows Update 回来的路。25H2 之后,这些 AI 组件被埋进注册表、appx 包、CBS 组件库和计划任务,手动清理往往不干净,更新一轮又冒回来。仓库本身不大:RemoveWindowsAi.ps1(4981 行)是主脚本,RemoveAI-UpdateCleanup.ps1 是系统更新后清场新 AI 的巡检脚本,另有自定义更新包和经典应用文件。但脚本动手之前会先对你这台机器设几道门槛,绝大多数人卡在第一道。
先把仓库克隆到本地,下文所有示例都假设你已处于仓库根目录。
git clone https://gitcode.com/GitHub_Trending/re/RemoveWindowsAI cd RemoveWindowsAI第一道坎:用 PowerShell 7 打开直接红字报错
现象:脚本在 pwsh(PowerShell 7)里一运行就报红字,甚至窗口一闪而过。根因一句话:脚本的移除机制依赖一条隐藏代码注入路径,在 PowerShell 7 下会死循环,所以被明确拒绝。检查就在主脚本开头——版本号主位是 7 就打印 "requires Windows PowerShell 5.1" 并退出(见 RemoveWindowsAi.ps1 第 34~58 行)。
# 动手前先确认自己跑的是 5.1 而不是 pwsh $PSVersionTable.PSVersion⚠️ 如果你的机器还开了 ConstrainedLanguage 模式(企业环境用 AppLocker 管控时常见),脚本同样拒绝运行,报错信息里直接给了修法:删除HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment下的__PSLockdownPolicy值。
剩下三道坎基本顺路:
- 管理员:你没以管理员身份打开也没关系,脚本会自己弹 UAC 提权重跑;
- 第三方杀软:脚本启动时枚举杀毒产品,发现不是 Defender 就警告——debloat 类脚本本来就容易触发误报,官方文档也建议你先在虚拟机里试一轮;
- 版本:Pro、Enterprise、Server、Education 放心用,Home 版官方不保证 100% 移除干净。
环境通了、脚本跑起来了,真问题才开始:微软把这些 AI 包上了锁,普通管理员权限删不动。
Copilot 删不掉:Nonremovable 包要走 TrustedInstaller 强拆
现象:Get-AppxPackage里列着 Microsoft.Copilot、MicrosoftWindows.Client.AIX 这些包,Remove-AppxPackage却直接报错。根因一句话:这些包被标记为 Nonremovable 或 InboxApps,受系统特权保护,管理员账户本身没有删除权。
对策是Run-Trusted函数(主脚本第 111 行):把清理代码提权到 TrustedInstaller 服务(Windows Module Installer)名下执行——命令先写进当前用户的 Volatile Environment 注册表,再通过 CreateProcess 注入一个隐藏 PowerShell 进程跑掉,全程系统权限。代码注释里标了技术出处 aveyo。
在这个身份下,脚本按顺序用四招解锁包(详解见 Documentation.md):
- End of Life:把包家族名写进 EndOfLife 注册表键,Windows 就认为这个锁住的包"可以卸载";卸载确认后立刻删掉该条目,避免 Windows Update 出错;
- Deprovisioning:写入 Deprovisioned 键,Windows Update 之后不再重装这个包;
- Set-NonRemovableAppsPolicy:一条 dism 命令,剥掉 Non-Removeable 属性,需要系统权限;
- InboxApps:把包从 InboxApplications 注册表里除名,Windows 不再把它当预装应用。
目标清单在主脚本第 2306 行的aipackages数组里:除了 Copilot、AIX、CoreAI、OfficeHub、WritingAssistant,还覆盖了 Copilot+ PC 上的全部 WindowsWorkload.* 系列 NPU 负载包。Recall 走专门通道:RemoveRecallFeature禁用并移除这个可选功能,目标状态是DisabledWithPayloadRemoved,失败时回退到 dism。
只移除 appx 包和 Recall 可选功能时,指定这两个选项即可:
.\RemoveWindowsAi.ps1 -nonInteractive -Options RemoveAppxPackages,RemoveRecallFeature💡 这里别省-backupMode(默认关闭,定义在主脚本 param 块):它会创建一个系统还原点,并把包家族名存到%USERPROFILE%\RemoveWindowsAI\Backup\AppxBackup,之后-revertMode能凭这份清单从 Store 把包装回来。
包删干净了故事还没完——Windows Update 会认为这些组件"缺失",下次更新顺手装回来。
更新后又回来了:用自定义更新包堵住 Windows Update
现象:AI 包全删完,几天后打开设置,Copilot 图标又出现了。根因一句话:Windows Update 视角里组件"缺失"就补推,CBS 组件库里还藏着一份默认不可见的锁定拷贝。
脚本做了两层防御。第一层PreventAIPackageReinstall:把仓库里的自定义 Windows Update 包装进系统,RemoveWindowsAIPackage/ 下 amd64、arm64 各有一个ZoicwareRemoveWindowsAI-<arch>1.0.0.0.cab,脚本自动判断 CPU 架构,用Add-WindowsPackage -IgnoreCheck安装,失败回退 dism。效果是让 Windows 以为"已有更新版本的 AI 包",不再推送——方法借鉴自 Atlas 和 Revi OS。
第二层UpdateCleanupCheck:注册计划任务RemoveAI-UpdateCleanupChecker,每次登录以 SYSTEM(S-1-5-18)身份运行,对比当前系统 build 和缓存在HKLM\SOFTWARE\RemoveWindowsAI\CachedBuild的值,发现更新过就跑 RemoveAI-UpdateCleanup.ps1 清掉新装的 AI 功能。任务用conhost --headless拉起,你连窗口都看不到。
另外RemoveCBSPackages负责组件库:把隐藏的 AI 包的 Visibility 键从 2 改成 1,删掉 Owners 和 Updates 子键,再Remove-WindowsPackage,顺手清掉servicing\Packages里的残留目录。
三个开关一次配齐,堵住更新通道、扫掉隐藏包、开启登录巡检:
.\RemoveWindowsAi.ps1 -nonInteractive -Options PreventAIPackageReinstall,RemoveCBSPackages,UpdateCleanupCheck除了上面三条线,脚本还有 14 项注册表关闭(Copilot、Recall、Paint AI 实验、Notepad Rewrite、Voice Access 等)和 EEA 区域文件IntegratedServicesRegionPolicySet.json里的 Copilot 策略禁用。完整覆盖看下面的账本。
覆盖账本:11 个选项各自清掉什么
| 选项 | 目标 | 效果 |
|---|---|---|
| DisableRegKeys | 14 项 AI 注册表键 | Copilot、Recall、Paint AI 实验等关闭 |
| PreventAIPackageReinstall | 自定义 Windows Update 包 | 阻断 AI 包被更新重装 |
| DisableCopilotPolicies | 区域 JSON 的 Copilot/Recall 策略 | 主要影响 EEA 区域用户 |
| RemoveAppxPackages | 含 Nonremovable 的 AI appx 包 | Copilot、AIX、CoreAI、WindowsWorkload |
| RemoveRecallFeature | Recall 可选功能 | 状态变为 DisabledWithPayloadRemoved |
| RemoveCBSPackages | CBS 组件库隐藏 AI 包 | 隐藏包可见化后移除 |
| RemoveAIFiles | 残留 AI 文件 | 安装器、ML DLL、相关注册表键 |
| HideAIComponents | 设置里的 AI Components 页 | 该设置页不再显示 |
| DisableRewrite | Notepad Rewrite AI | settings.dat 加策略双保险 |
| RemoveWindowsAITasks | Windows AI 计划任务 | 含 Recall 采集任务 |
| UpdateCleanupCheck | 登录时自动检查任务 | 系统更新后自动清新 AI |
想把被 AI 污染的现代应用换回经典版,另有-InstallClassicApps开关:Notepad、Paint、Snipping Tool、Photo Viewer 加 Photos Legacy。仓库里的mspaint.exe、SnippingTool.exe从 Windows Server 2025 ISO 提取(其桌面体验版随带这些经典应用),附 30 多种语言的资源文件。
账本摊开,各场景该开哪些开关见下表。
参数速查:各场景推荐组合
| 参数 | 默认 | 推荐设置 | 一句话适用场景 |
|---|---|---|---|
| -nonInteractive | 关 | 用则必须带 -Options 或 -AllOptions | 脚本化执行 |
| -AllOptions | 关 | 搭配 -backupMode | 一次性全量移除 |
| -Options / -ExcludeOptions | 无 | 只选需要的项 | 按需挑选或排除个别项 |
| -backupMode | 关 | 首跑必开(创建还原点) | 移除前留后路 |
| -revertMode | 无 | 仅配合 -backupMode 备份 | 回滚到移除前状态 |
| -InstallClassicApps | 无 | photoviewer,mspaint,snippingtool,notepad | 换回经典应用 |
最小可行路径:先跑.\RemoveWindowsAi.ps1 -nonInteractive -AllOptions -backupMode,带还原点全量移除;再把 PreventAIPackageReinstall 和 UpdateCleanupCheck 两个开关留在配置里,前者堵 Windows Update,后者清更新带来的新 AI。真出状况,-revertMode配合备份把一切装回去。
【免费下载链接】RemoveWindowsAIForce Remove Copilot, Recall and More in Windows 11项目地址: https://gitcode.com/GitHub_Trending/re/RemoveWindowsAI
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考