本文档描述了Microsoft激活脚本 (MAS) 的架构和设计,详细说明了各个组件如何相互作用和协同工作。它为理解代码库结构、执行流程以及不同激活方法和实用程序之间的关系提供了技术参考。
有关使用特定激活方法的信息,请参阅 激活方法 部分中的相应文档。
Microsoft激活脚本采用模块化架构设计,以一个作为统一界面的主脚本 (MAS_AIO.cmd) 为中心。该系统包含多种激活方法和支持功能,所有这些都可以通过通用的菜单驱动界面进行访问。
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd310-403
脚本启动时,会经历一个全面的初始化过程以确保正常运行
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd22-150
脚本提供了一个基于文本的菜单界面,用于导航各种功能
主菜单在脚本中实现,并通过 choice 命令处理用户输入。该界面设计简洁直观,选项编号清晰,并带有颜色编码以便更好地查看。
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd332-403 MAS/All-In-One-Version-KL/MAS_AIO.cmd416-446
每种激活方法都作为脚本中的一个独立函数实现,遵循一致的模式
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd549-1066
Ohook激活函数针对Office产品,其模式与HWID类似,但包含Office特有的操作
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd2068-3100
MAS支持命令行参数,可用于无人值守操作,这对于自动化部署和脚本编写特别有用
脚本在启动时处理这些参数,如果检测到有效参数,则会绕过菜单系统。这使得可以通过计划任务或部署脚本实现静默激活。
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd109-124 MAS/All-In-One-Version-KL/MAS_AIO.cmd300-309
诊断系统是确保激活方法正常运行的关键组成部分
诊断系统
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd1426-1833
Check Activation Status 函数提供有关Windows和Office产品当前激活状态的详细信息
此模块结合使用WMI查询、注册表检查和PowerShell命令来收集全面的激活信息。它可以检测
来源:MAS/Separate-Files-Version/Check_Activation_Status.cmd11-1142
$OEM$文件夹提取功能创建一个软件包,可用于在安装过程中预激活Windows
此系统创建一个具有自动化脚本的文件夹结构,Windows安装程序可以使用这些脚本在安装期间激活系统,从而实现零接触部署场景。
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd447-546
脚本包含许多支持主要操作的实用函数
| 功能 | 目的 | 关键操作 |
|---|---|---|
dk_color | 显示彩色文本 | 使用ANSI转义码或PowerShell显示彩色输出 |
dk_actids | 获取激活ID | 使用WMI检索产品激活ID |
dk_product | 获取产品信息 | 获取Windows产品名称和信息 |
dk_checksku | 检查SKU值 | 确定Windows SKU以进行激活 |
dk_reflection | PowerShell反射 | 创建.NET类型以进行高级操作 |
dk_reeval | 触发重新评估 | 触发SPP重新评估激活状态 |
dk_actid | 获取已安装ID | 获取已安装的产品激活ID |
dk_refresh | 刷新许可证状态 | 刷新许可证状态 |
dk_checkperm | 检查永久激活 | 检查Windows是否已永久激活 |
这些实用函数构成了脚本功能的主干,提供了可重用的组件,供主要激活方法和支持函数调用。
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd1048-1385 MAS/All-In-One-Version-KL/MAS_AIO.cmd1906-1936
该脚本依赖于几个数据结构来管理激活信息
最重要的关键数据结构位于 hwiddata 函数中,该函数包含
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd1966-2026 MAS/All-In-One-Version-KL/MAS_AIO.cmd2040-2066
该脚本实现了一个健壮的错误处理系统,该系统
发生错误时,脚本会
来源:MAS/All-In-One-Version-KL/MAS_AIO.cmd1083-1098 MAS/All-In-One-Version-KL/MAS_AIO.cmd1929-1950
Microsoft Activation Scripts的架构遵循模块化设计,以一个作为主界面的多合一脚本为中心。该脚本将多种激活方法与诊断和支持功能相结合,所有这些都可以通过通用的菜单系统进行访问。这种架构提供了灵活性和易用性,同时保持了全面的功能集。
该实现利用了多种Windows技术,包括
这种架构允许脚本适应不同的Windows和Office版本,处理各种激活场景,并提供有用的诊断和故障排除功能。