云平台内网kms服务器不能激活windows系统的2个特殊case

2024-04-03 17:41:15 浏览数 (1)

首先,windows server系统激活参考这2篇腾讯云官方文档

https://cloud.tencent.com/document/product/213/70811

https://cloud.tencent.com/document/product/213/2757

通过文档我们知道跟kms激活相关的几个服务很重要,然后就是4个步骤。其中所有版本的windows系统共有的就是windows time服务、sppsvc服务,

2008R2:windows time服务 sppuinotify服务 sppsvc服务

2012R2-2019:windows time服务 sppsvc服务(高版本系统只有sppsvc服务,没有sppuinotify服务)

我曾经遇到过sppsvc服务相关的几个重要文件,文件的TrustedInstaller权限丢了导致sppsvc服务启动不了从而影响激活,参考https://cloud.tencent.com/developer/article/1610911 添加TrustedInstaller权限后启动sppsvc服务解决。

C:WindowsSystem32sppsvc.exe

C:windowssystem32sppwinob.dll

C:windowssystem32sppobjs.dll

‪C:WindowsSystem32SppExtComObj.Exe

代码语言:javascript复制
一般情况下,很多病毒木马隐藏在这个路径
正常系统的SppExtComObj.exe并无这个路径的注册表,把下面这个删掉
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution OptionsSppExtComObj.exe

其次,说说导致KMS失败的原因:

1、内网DNS配置不对或不生效导致内网kms地址解析有问题

参考https://cloud.tencent.com/developer/article/1878648

2、时间异常

3、文档开头提到的kms相关的服务异常,比如服务启动报错的原因可能是服务相关的文件权限异常(权限异常很可能是安全问题)

4、使用第三方kms激活工具,钓鱼的居多,发现kms激活工具钓鱼网站不下50个,不限于下面链接上的这些

http://kmspico.micaesoft.com/unofficial.html

很多网站域名你看有kms相关的关键词,网页内容各种细节描述,看起来挺官方的,其实都是钓鱼的,下载下来的基本都会被安全软件自动隔离

比如

http://www.toolkit-office.com/

https://official-kmspico.org/microsoft-toolkit/

https://officialkmspico.net/microsoft-toolkit/

https://windowsactivator.info/microsoft-toolkit/

这些大多人基本分辨不了,实际上都是钓鱼的。

这么说吧,早年的kmspico最高版本到10.2.0,只支持到Server2016(1607)系统和早期的Win10系统,对Office的激活也仅仅到Office2016,不包括后面的版本比如Office2019。

类似kmspico10.2.0的工具还有一个叫Microsoft Toolkit,最高版本到 2.6.4,网传的那些高版本的十有八九是带毒的。

KmsPico 10.2.0和Microsoft Toolkit 2.6.4都是本地激活,无需联网。

2个图标,左边激活office,右边激活系统

点进去后,有个EZ Activator的按钮点一下,然后等两三分钟就ok了

EZ是easy的昵称

由于云平台公共镜像购买的Server系统有自己的kms地址,会自动激活,无需第三方工具引入不安全因素,建议不要做这种尝试,太不安全了,非常容易引入病毒木马、尤其是被留下挖矿后门导致系统性能大打折扣。

最后,应是本文初衷,主要想介绍2个特殊case。前不久,有个朋友server2016系统激活不了,执行slmgr /skms kms.tencentyun.com显示设置kms地址成功了,但当执行slmgr /ato 激活时却报错了

从事件日志看,kms host不对,并不是设置的kms.tencentyun.com而变成了0.0.0.0

根据微软kms报错码文档:https://docs.microsoft.com/zh-CN/windows-server/get-started/activation-error-codes

官方文档思路是对的,确实是kms host不对,但为什么设置的A却变成了B,这个微软官方文档就解决不了了。根据经验,一般是其他程序干扰或设置了优先级更高的kms并且这个kms就是0.0.0.0。

有注意到,运行appwiz.cpl发现程序列表里倒序排列,近期有安装office2016,而破解office可能使用第三方工具或干预注册表kms。

核实确实是office2016的kms干扰的

得想办法把office里头那套激活的东西删掉才行

office里头设置office kms的时候把全局kms改了,试了直接通过命令在office里改了后,还是激活系统失败,报错信息都一样

cd /d "C:Program Files (x86)Microsoft OfficeOffice16"

cscript ospp.vbs /sethst:kms.tencentyun.com

所以,office里原本的那个0.0.0.0的kms是怎么设置的呢?找到了一篇激活office的文档

https://www.wrfou.com/office-kms.html

并且找到了微软官方文档,关于kms注册表的,

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn502532(v=ws.11)

https://social.technet.microsoft.com/Forums/zh-CN/5f71e021-6383-40cd-9f9a-f2038be59383/kms2860827963?forum=WinServerPreviewZHCN

https://aws.amazon.com/cn/premiumsupport/knowledge-center/windows-activation-fails/

aws这篇文档也提到了KeyManagementServiceName 和 KeyManagementServicePort

请注意,KeyManagementServiceName 和 KeyManagementServicePort 都是REG_SZ型,千万别把KeyManagementServicePort 搞成REG_DWORD型

代码语言:javascript复制
把下面2个搞正确
HKLMSOFTWAREMicrosoftWindows NTCurrentVersionSoftwareProtectionPlatform
KeyManagementServiceName 
KeyManagementServicePort 

HKLMSOFTWAREWOW6432NodeMicrosoftWindows NTCurrentVersionSoftwareProtectionPlatform
KeyManagementServiceName 
KeyManagementServicePort 

如此看来,已经很明显了,是通过干预KeyManagementServiceName注册表项的值来实现的。

总结:遇到kms激活报错0xC004F074的优先用reg scanner全局搜索KeyManagementServiceName 和 KeyManagementServicePort ,注册表里可能不止1处设置,搜到了要把错的更正或删除。

这个问题刚解决,既然office导致,那用免费的替代方案wps吧,结果又出现系统激活的问题。这次是0x80080005 SWbemObjectEx的问题,如下图:

这次的原因是啥不清楚,不过发现开着360杀毒的时候,是能成功激活的,根因我还在研究中。目前看跟这篇帖子的现象和曲折的过程几乎一模一样,应该是我用了第三方激活工具导致的。

http://www.wisestudy.cn/softproj/win10_activate_fail_80040154.html

以免帖子失效,我做了截图如下

0 人点赞