手把手教你解决『Office非正版横幅/弹窗』+KMS技术详解

昨天发布的HEU_KMS_Activator v24.0.0版本,升级了该功能,并在昨天的文章中《【2021.7.14更新 HEU KMS Activator24.0.0】Office弹窗完美解决方案》介绍了方法:选择其他页面中的“Fix_banner_New”,点击“开始”,即可一键修复。

图片

02 方法②:手动修复步骤详解


昨天的文章还简要介绍了修复是怎么实现的,根据昨天的文章,可能已经有网友自行编写了批处理。那么今天这篇文章岂不是重复了吗?当然不是。昨天的方法原理主要就是“设置KMS主机IP地址”。

今天除了把昨天的步骤详解通过批处理的形式发出来以外(见文章结尾),还会介绍“KMS主机IP地址设置”不同方法的区别,也就是呼应题目中的“技术详解”。

使用KMS激活总共3步:1、设置KMS主机IP地址;2、安装GVLK密钥;3、执行激活命令。实际上很多人都会,但我相信有90%以上的人不清楚“设置KMS主机IP地址”各种方法的区别,这方面网上几乎没有相关介绍。如果不懂这个区别,你会发现有的电脑用这3条命令很容易激活,有的电脑明明系统都一样,就是无法激活,也找不到原因。要想KMS激活的成功率高,远不止这3条命令,有很多技巧在里面。今天就单独结合“设置KMS主机IP地址”这一个技巧来介绍。

好了,下面开始正题:

给如下3项注册表主键各自新建一个名为“KeyManagementServiceName”的“键”,键值都设置为“0.0.0.0”。然后就修复完成了,简单吧?如果你会修改,那么后面的操作方法可以跳过

1、HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform

2、HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform

3、HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663\9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce

什么?还没开始就结束了?是的。

    接下来我们介绍这几个注册表的修改操作方法:

第1、2项注册表所有人都是一样的,通过“新建-字符串值(S):KeyManagementServiceName,值为0.0.0.0”即可完成。

只有第3项是各不相同的,因为安装的Office不同, “9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce” 就是Office2016 Mondo VL的SKU ID,不同版本的Office,此ID值均是不同的。昨天介绍了如何查看SKU ID的方法,手动新建“KeyManagementServiceName”,并添加键值“0.0.0.0”。

今天我们换一种方法,使用命令设置:
cscript "%ProgramFiles%\Microsoft Office\Office16\OSPP.VBS" /sethst:0.0.0.0

对比后会发现,使用上面这条命令和直接添加第3项注册表,这两种方法效果完全一样。需要注意的是上面命令中"%ProgramFiles%\Microsoft Office\Office16\OSPP.VBS",代表Office安装目录下的ospp.vbs文件,如果你的安装目录不一样,此处请注意修改。

我们再看一条命令:
cscript "%SystemRoot%\system32\slmgr.vbs" /skms 0.0.0.0

对比后会发现,使用上面这条命令和直接添加第1项注册表,这两种方法效果完全一样。

第2项注册表只能通过手动添加注册表键值进行修改(新建-字符串值(S):KeyManagementServiceName,值为0.0.0.0)。

到此为止,修改注册表或者通过命令设置“KMS主机IP地址”的方法就介绍完了。那么回到上面提到的“区别”,我们再来审视这些操作,并结合KMS激活的方法来讨论,下面的内容也是前文所说的网上几乎找不到资料的内容,如果你对KMS相关的技术内容不关心,下面这一段可以忽略

  KMS技术详解:

众所周知KMS激活的第一步就是设置“KMS主机IP地址”,实际上无需按照上面这样设置三次。只需添加第1项注册表或第3项注册表均可。它两个的区别在于:3的优先级要高于1,因为3设置的sku id的KMS主机地址,1设置的通用的KMS主机地址。在3存在的情况下,无论你怎么设置1,都是无效的,这也是很多人使用批处理激活失败,找不到原因的地方之一。

激活Office的时候,因为大多数人仅知道这一条命令(cscript ...ospp.vbs /sethst...)来“设置KMS主机IP地址”,因为它的优先级高(设置的是sku id),所以出现问题的情况较少;而激活Windows的时候这个区别尤为明显,大多数人也仅知道这一条命令(cscript ...slmgr.vbs /skms...),不幸的是这条命令设置的KMS主机地址,优先级低(设置的是通用),这种情况下必须先把优先级高的清除。

我们再来总结一下,设置KMS主机IP地址通常有两种方式:1、修改注册表;2、执行CMD命令。不管是哪种方式,归根结底都是在修改注册表。而修改SKU ID的注册表优先级高、修改通用注册表优先级低。本小节实际都是在讲优先级的问题。实际上CMD命令不仅上面这两条,还有很多其他的命令(比如WMIC...),优先级各不相同,如果你不清楚它们归根结底都是在修改注册表,那么很容易陷入困境。

不同产品的SKU ID是不同的,也就是说Windows 10 企业版和专业版就是两个SKU ID,Office 2019专业增强版和标准版也是两个SKU ID。至于怎么查看SKU ID,Office的昨天已经讲过了,Windows也可通过一些命令获取,不是这篇文章的重点,以下命令供参考,有问题可在留言区提问。

获取Office SKU ID :
wmic path SoftwareLicensingProduct where (ApplicationID='0ff1ce15-a989-479d-af46-f275c6370663' and Description like '%%KMSCLIENT%%') get ID /VALUE

获取Windows SKU ID :
wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%') get ID /VALUE

03 方法③:自动修复(批处理)


上面介绍的这么复杂,归结于以下几条命令即可完成(将如下内容保存到文本文档,并将“.txt”修改为“.cmd”,然后以管理员身份运行即可):
@echo off

set SKUID=

for /f "tokens=2 delims==" %%G in ('"wmic path SoftwareLicensingProduct where (ApplicationID='0ff1ce15-a989-479d-af46-f275c6370663' and Description like '%%KMSCLIENT%%' and not Description like '%%Office 15%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do (if defined SKUID (call set "SKUID=!SKUID! %%G") else (call set "SKUID=%%G"))

for %%# in (%SKUID%) do (

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663\%%#" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0"

)

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0"

reg add "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0"

pause >nul

清除上述设置的命令如下:
@echo off

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\0ff1ce15-a989-479d-af46-f275c6370663" /f

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /f /v KeyManagementServiceName

reg delete "HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /f /v KeyManagementServiceName

pause >nul

——转自:知彼而知己

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: