这不仅是一个支持企业版本的通用 MediaCreationTool 包装脚本, 同时也是一个功能强大但简单易用的 Windows 10 / 11 部署自动化工具! 如果之前无法成功启动脚本,这个最新版本一定可以
预设选项
1 自动升级 使用检测到的媒体,脚本协助 setupprep 直接进行升级
- 在更多情况下可以保留文件和应用,即使操作系统和目标版本不匹配 - 可以通过在脚本名称中添加 EditionID 来切换检测到的版本 - 可以通过在脚本名称中添加
no_update
来排查升级失败问题 - 默认自动升级到 11,如需升级到 10 请传入版本参数:auto 21H2 MediaCreationTool.bat
2 自动 ISO 使用当前文件夹中检测到的媒体直接创建(如果从 zip 运行则使用 C:\ESD)
- 可以通过在脚本名称中添加版本名称 / 语言 / 架构来覆盖检测到的媒体 - 示例:
21H1 Education en-US x86 iso MediaCreationTool.bat
3 自动 USB 使用指定 USB 目标中检测到的媒体
- 为了数据安全,这不是完全自动化的 - 必须在 GUI 中手动选择 USB 驱动器
4 选择 用户选择版本、语言、架构(x86、x64、两者)- 在指定目标上
- 隐含选择,包含设置覆盖文件(通过在脚本名称中添加
def
来禁用)
5 MCT 默认 无人值守运行,创建媒体时不进行脚本修改
- 无附加文件,脚本将
products.xml
传递给 MCT 后退出,不接触媒体
1-4 预设选项将以以下方式修改创建的媒体:
- 写入
auto.cmd
以按需运行自动升级,支持版本切换和跳过 TPM 检查 - 将$ISO$
文件夹内容(如果存在)写入媒体根目录 如果之前使用过 $OEM$ 内容,现在必须将其放在$ISO$\sources\$OEM$\
中 - 写入sources\PID.txt
以在媒体启动或 Windows 内预选版本(如果已配置) - 写入sources\EI.cfg
以防止 Windows 11 消费者媒体提示输入产品密钥(仅限 11) - 在 boot.wim 中写入AutoUnattend.xml
以在 Windows 11 家庭版上启用本地帐户(仅限 11) - 修补 boot.wim 中的winsetup.dll
以在从媒体启动时移除 Windows 11 安装检查(仅限 11) - 可以通过在脚本名称中添加def
来禁用,以创建默认的未修改 MCT 媒体
简单部署
auto.cmd 通过 GUI 实现 自动升级 预设
可以通过将脚本重命名为 auto MediaCreationTool.bat
来实现完全无人值守运行
在操作系统版本与媒体不匹配时,可以轻松升级并保留文件和应用
还应该允许从 Ultimate、PosReady、Embedded、LTSC 或 Enterprise Eval 升级
生成的脚本会添加到创建的媒体中,以便随时再次运行 它相当通用 - 会检测 install.esd 中可用的版本,选择合适的索引, 然后在注册表中设置匹配的 EditionID;甚至可以强制使用其他版本,同时保留文件和应用! 在 11 上,它会尝试跳过安装检查(可以通过脚本变量禁用此行为) 最后,它设置推荐的安装选项,以最大程度减少升级时的问题
假设当前操作系统是 Enterprise LTSC 2019,您使用企业媒体进行升级: auto.cmd 选择 Enterprise 索引并在注册表中将 EditionID 调整为 Enterprise(备份为 EditionID_undo) 也许您还想切换版本, 例如,将脚本重命名为
ProfessionalWorkstation MediaCreationTool.bat
: auto.cmd 选择 Professional 索引并在注册表中将 EditionID 设置为 ProfessionalWorkstation。假设操作系统是 Windows 7 Ultimate 或 PosReady,您使用消费者媒体进行升级: auto.cmd 选择 Professional 索引,并将 EditionID 分别设置为 Professional 或 Enterprise。 在所有情况下,脚本都会尝试选择现有索引,否则选择兼容的索引以在升级时保留文件和应用。
假设您有十几台 PC,版本分布为:7、8.1、10,版本包括:Ultimate、Home、Enterprise LTSB 等。 如果您需要将所有系统升级到最新的 10 版本并仅使用 Pro,可以将脚本重命名为:
auto 21H2 Pro MediaCreationTool.bat
甚至可以以相同方式添加 VL / MAK / 零售产品密钥,以解决许可差异问题。 脚本还会从当前位置获取任何
$ISO$
文件夹 - 用于 $OEM$ 品牌、配置、调整等。
更新日志
无需右键单击以管理员身份运行,脚本会自行请求。直接保存原始文件不再破坏行尾 我们做到了!我们突破了之前的 gist ;) 所以这里是新家。感谢大家!
2018.10.10: 恢复 1809 [RS5]!使用本机 xml 修补 products.xml;修复 exit/b 的语法错误
2018.10.12: 为 RS5 添加数据丢失警告
2018.11.13: RS5 正式回归!+ 大幅改进选择对话框 - 欢迎在您自己的脚本中使用这个小片段
2019.05.22: 1903 [19H1]
2019.07.11: 1903 __release_svc_refresh__ 并默认启用 DynamicUpdate 以获取最新 CU
2019.09.29: 更新 19H1 版本 18362.356;RS5 版本 17763.379 并显示版本号
添加 LATEST MCT 选项以动态下载当前版本(其他所有版本都有硬编码链接)
2019.11.16: 19H2 18363.418 作为默认选择(更新硬编码链接)
2020.02.29: 19H2 18363.592
2020.05.28: 2004 19041.264 首次发布
2020.10.29: 20H2 和周年脚本重构,支持从 1507 到 20H2 的所有 MCT 版本!!!
2020.10.30: 修复 utf-8,1909+ 上的企业版
2020.11.01: 修复在路径包含空格时删除旧版本中不支持的选项代码会中断的问题...
2020.11.14: 为 1909、2004 生成最新链接;所有 xml 编辑现在一次完成;解决已知无法运行脚本的问题
2020.11.15: 一次性清除缓存的 MCT,因为自上次更新以来脚本为 1507、1511、1703 生成了正确的 1.0 目录
修复与纯 Windows 7 PowerShell 2.0 / IPv6 / 可选导入 $OEM$ / 1803+ 商业版本拼写错误的兼容性
更新 1903 和 2004 的可执行文件链接
2020.11.17: 将第一个命令行参数解析为版本,示例:MediaCreationTool.bat 1909
2020.12.01:尝试修复1703版本报告的问题;无其他更改(跳过19042.630泄露的esd,因为它已损坏) 2020.12.11:20H2 19042.631;修复了1703在双x86 + x64上的解密错误;改进清理;标签包含版本 2021.03.20:21H1预发布;可选自动升级或创建媒体预设,导入$OEM$文件夹和密钥作为PID.txt 2021.05.23:21H1发布;增强脚本名称参数解析,从嵌入升级,auto.cmd / PID.txt / $OEM$导入 2021.06.06:直接创建iso;增强对话框;从脚本名称或命令行获取参数;重构完成! 2021.08.04:调整完毕 2021.09.03:21H2,Windows 10和11 [未发布] 2021.09.25:Windows 11 在媒体启动和动态更新时跳过TPM检查(提供独立切换脚本) 最终完善脚本可靠性;增强自动升级预设;兼容Windows 7 PowerShell 2.0 2021.09.30:修复自动安装预设无法自动启动的问题 2021.10.04:修复长期存在的tr本地化问题;跳过TPM检查v2(基于ifeo而非wmi) 2021.10.05:11 22000.194发布(Windows 11 MCT功能有限,仍使用21H1 MCT,因为它工作正常) 2021.10.09:对Windows 11 MCT进行出色重构;等待MCT时最小化;统一7-11外观 2021.10.20:无版本参数时创建通用iso;使用下载文件夹;VirtualBox中启动不进行11安装检查;修复#2 2021.10.23:11 22000.258 更直观的预设;通过AutoUnattend.xml或boot.wim(用于VirtualBox 5.x)使用FIX参数覆盖11安装 仅可靠的UI自动化;增强脚本输出 2021.11.03:多种下载方法;改进自动化;增强auto.cmd;将autounattend.xml移至boot.wim 修改11安装绕过(进行中)- 对任何方法都不满意是我一直未更新的原因 2021.11.09:使用setup.exe跳过Windows 11升级检查(不仅是auto.cmd);无服务器标签;11家庭版使用本地帐户 auto.cmd有更多修复,以在升级时保留文件和应用;可靠的UI自动化;替代下载器 2021.11.15:11 22000.318 将输出写入脚本文件夹(或从zip运行时写入C:\ESD);样式:参数分隔更一致 20H2版本esd大小超过4GB,需要在19042.631回退:en,de,es,pt,fr,it,jp,zh(MCT限制) 2021.11.16:10 19044.1288 - 10 21H2官方发布 10 19043.1348 - 最新10版本 - 别问为什么微软这样发布,这不是第一次了 2021.12.07:仅通过auto.cmd跳过Windows 11升级检查 - 请忽略服务器标签 2021.12.15:修复1507-1709无法获取正确回退esd的回归问题;修复开发版'-noe'不自动关闭脚本 2021.12.22:改进auto.cmd处理不匹配的OS和目标版本,遵循'def','auto'将7升级到10,而非11 2022.03.16:防止从非规范路径运行时出现启动错误;USBLayout进度;获取$ISO$目录添加到媒体 11中的DU:目前自动安装22000.556;较旧的skip_11_checks,无服务器标签;家庭版离线本地帐户 2022.03.18:修复自动升级回归;删除powershell -nop参数(问题#41);增强11 AutoUnattend.xml 2022.03.20:稳定版 - 所有问题已解决;改进脚本UI;从评估版升级也保留文件 我保证这是最后一次压缩 ;)