首先,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
以免帖子失效,我做了截图如下