WinUtil 深度指南:一个 PowerShell 脚本如何接管你的 Windows 系统管理
【免费下载链接】winutilChris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates项目地址: https://gitcode.com/GitHub_Trending/wi/winutil
WinUtil 是一个基于 PowerShell 的开源 Windows 系统管理工具。它把软件安装、系统优化、故障排查和更新管理收进同一个可操作的图形界面,适合想要高效配置和维护 Windows 11 的普通用户、开发者和 IT 管理员。
📦 它到底能干什么?
WinUtil 启动后是一个深色主题窗口,顶部横排几个功能区域。先建立全局认知,不展开细节:
- 软件批量安装:按类别勾选、批量安装、升级或卸载流行软件,支持 Chocolatey 与 Winget 两种包管理器
- 系统优化与精简:覆盖隐私、性能、界面的大量经过验证的 tweaks,每项都标注了风险说明
- 功能配置与修复:开关 Windows 可选功能(WSL、Hyper-V、.NET 等),一键修复网络、更新组件等常见问题
- 更新策略管理:默认、仅安全更新、完全禁用,三种策略控制 Windows 更新的节奏
- Windows 11 安装部署:基于官方 ISO 制作系统安装盘,用于干净安装
有一个前提要说清楚:WinUtil 只支持 Windows 11(Windows 10 的支持期已结束),且必须以管理员身份运行。
🚀 拿到手就能跑
WinUtil 不需要安装,它就是一个在 PowerShell 里直接运行的脚本。右键开始按钮,选择"终端(管理员)"打开管理员终端,然后执行:
# 稳定版(推荐) irm "https://christitus.com/win" | iex # 开发版(仅用于测试) irm "https://christitus.com/windev" | iex加载几秒钟后,你会看到深色主题主界面,顶部导航依次是 Install、Tweaks、Config、Updates、Win11 Creator。
第一次打开别急着改任何东西。先到 Install 标签页,点一下 "Get Installed",它会扫描系统里已安装的软件和当前配置状态。这是你给自己打的底——知道机器上已经有什么,后面选优化项时才不靠猜。
🔧 核心能力拆解
场景一——新机器到手,从零到可用
情况:你刚拿到一台新电脑,或者刚重装完系统,预装了几个用不上的应用,其余全是空白。
- 打开 Install 标签页,选择包管理器:系统已有就选 Winget,没有就选 Chocolatey(工具可以帮你装)
- 按类别浏览,勾选你要的软件,完整软件清单定义在 config/applications.json
- 点 "Install/Upgrade Applications",勾选的软件开始批量安装
- 切到 Tweaks 标签页,勾几个低风险项:禁用遥测、禁用休眠、清理临时文件
- 想更干净的话,在 AppX 区域勾选预装应用,一次性移除
提示:第一次使用别一次勾太多 tweaks,先跑通流程,用一天没异常再继续。
场景二——日常使用,让系统保持快和干净
情况:用了几个月,C 盘越来越满,软件版本落后,更新弹窗总在不合时宜的时候出现。
- 在 Tweaks 标签页勾选 Delete Temp Files 与 Disk Cleanup,跑一遍,把磁盘空间先腾出来
- 回到 Install 标签页,点 "Show Installed Apps" 过滤出已装清单,再点 "Upgrade All" 把软件一次性批量升级
- 到 Updates 标签页确定更新策略:
- 默认设置:恢复系统默认行为,适合大多数人
- 安全设置:功能更新延迟 365 天、安全更新保留、阻止驱动自动安装,适合求稳
- 禁用所有更新:高风险,仅限隔离环境
- 顺手创建一个新的系统还原点
提示:拿不准更新策略就先选默认,观察两周,再决定要不要收紧。
场景三——出了问题,怎么快速恢复
情况:昨天勾了某个 tweak,今天网络不对劲,或者你单纯觉得改多了,想往回退。
- 先按 Tweaks 标签页的 "Undo Selected Tweaks",把本次勾选的项目逐项撤销
- 网络异常,就进 Config 的 Fixes 区域,执行网络适配器重置
- 更新出问题了,跑 Windows Update 组件修复;怀疑系统文件损坏,执行系统文件完整性检查
- 还不行,打开 Windows 的"系统保护",还原到你优化前创建的那个还原点
提示:顺序很重要:先撤销 tweaks,再跑修复工具,还原点永远是最后防线。
场景四——管理员视角:批量与标准化
情况:部门要配二三十台新机器,环境要求一模一样,谁也不想一台一台点。
- 先在一台模板机上把 WinUtil 配置到满意,点右上角齿轮图标选择 Export,把当前配置导出成 JSON 文件
- 把这个 JSON 分发给每台机器,用 -Config 参数统一应用:
& ([ScriptBlock]::Create((irm "https://christitus.com/win"))) -Config "C:\Path\To\Config.json"- 不想自定义,就用内置预设:
Standard均衡、Minimal最小、Advanced深度,每个预设具体包含什么,查 config/preset.json 一目了然:
& ([ScriptBlock]::Create((irm "https://christitus.com/win"))) -Preset Standard- 老机器则常用另一招:Install 标签页里点 "Upgrade All",把已装软件全部升级一遍
提示:WinUtil 版本更新、条目改名后,旧导出的文件会在导入前被拒绝并明确报错,届时用新版本重新导出基线再导入即可。
🛡️ 那些容易踩的坑
WinUtil 动的是注册表和系统服务,操作方向必须清楚。安全这件事分三层:
做之前
- 先创建系统还原点,这是最重要的一条。Tweaks 标签页里就有 Restore Point 选项,先把它勾了,再勾别的
- 勾选项前看一眼风险等级,按操作类型基本可以判断:
- 低风险,可放心勾选:禁用 Windows 遥测、禁用休眠、清理临时文件
- 中风险,先理解再试:禁用 IPv6、移除预装应用、修改更新策略
- 高风险,仅限隔离环境:完全禁用所有更新、深度改动网络适配器
- 小批量测试:一次只勾两三项,用一天观察无异样,再勾下一批
做错了
- 别慌,先按 "Undo Selected Tweaks" 逐项撤销,多数问题到这一步就能解决
- 撤销无效,就查对应条目的说明,弄清它实际写了哪些注册表项,再判断怎么回退
怎么救
- 逐项撤销救不回来,用 Windows"系统保护"还原到还原点
- 连还原点都失效,那就只剩重装系统——这也是为什么任何操作前都必须先建还原点
🏗️ 想更进一步
如果想看 WinUtil 底层怎么做事,或者想改成自己的版本,看这几个目录:
scripts/:入口脚本functions/:函数库,分 private 与 public 两层config/:全部 JSON 配置定义,工具的行为基本都由这里决定xaml/:界面定义docs/:官方文档,含每个 tweak 的代码级参考
最值得改的是 config 目录。比如 config/tweaks.json 里定义了每个优化项的名称、说明和它执行的注册表操作,往里面加一条自己的条目,它就会以可勾选框的形式出现在 Tweaks 标签页。
贡献的门槛不高:发现 bug 或觉得软件清单该加什么,提一个 Issue;会写 PowerShell 就看下pester/里的测试用例再提 PR;改进文档、提供翻译同样受欢迎。想编译自己的版本,把源码拿下来运行编译脚本即可:
git clone https://gitcode.com/GitHub_Trending/wi/winutil cd winutil .\Compile.ps1编译完成后会生成一个可直接分发的 winutil.ps1。
👋 最后说几句
WinUtil 做的事并不复杂:把散落在各处的装软件、优化系统、排查问题、管更新,收拢成几排你能看懂的勾选框。它真正的价值在于把控制权还给你——每一处改动你都清楚它干了什么、能撤销、可复现。
打开管理员 PowerShell,敲下那行 irm 命令,十分钟后再看你的 Windows。
【免费下载链接】winutilChris Titus Tech's Windows Utility - Install Programs, Tweaks, Fixes, and Updates项目地址: https://gitcode.com/GitHub_Trending/wi/winutil
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考