创新路
我们一直在努力

任务计划“0x80090016错误,密钥集不存在”的解决方案

[PS问题]今天发现一台服务器上的任务计划没执行,一检查报错了,如图所示:

blob.png

任务计划创建失败,显示密钥集不存在错误:(要么是由于文件系统损坏,要么就是脚本权限对不对引起的,要么或者服务器被黑)

  无法安排任何任务或修改现有任务的帐户凭据。当您尝试创建新计划任务, 可能会收到以下错误信息:

  新任务已创建, 但可能不运行因为尚未设置帐户信息。 键集不存在。

    如果您尝试修改的现有任务, 帐户凭据可能会收到以下错误信息:

    常规页面初始化失败: 账户密钥集不存在  错误是: 0x80090016。

 

  这个就影响正常使用了,因为已经无法创建任务计划了,即使创建成功了,也无法启动。这个问题是什么原因引起的?在微软网站MSDN上找到这么一句话:This issue can occur if a registry key exists which modifies the default behavīor of the Cryptography APIs. In this case, the Cryptography APIs cannot create the public and private encryption keysets that are necessary to continue the installation.“这个问题产生于如果一个现存的注册表键它修改了加密的api的默认行为,在这种情形下,加密的api将不能创建公钥和私钥来继续完成安装。”(翻译de不好,但大概就这意思啦~)

  由此追查原因,是由于某种行为导致这册表改动了默认的密钥,而protected storage服务可能又失灵了,没能起到存储本地密码信息的作用,结果使原有密钥集内容丢失,所以才有之前报错所说的“尚未设置帐户信息”。那么是什么举动到这这一问题?结合计划任务的日志,得知在很早以前就有这个问题了,只是我一直没发现,该死。现在想去探究那时到底发生了什么也不大可能了。所以干脆把这问题解决了,日后多注意也就是了。

blob.png

  解决的办法倒很简单,先 net start “protected storage” 开启这个服务(其实就是lsass.exe),再将现有这个不完整的密钥删除掉,先备份再删除掉下面的项:

HKEY_USERS\Default\Software\Microsoft\Cryptography\Providers\Type 001

[其实网上说的删除和修改注册表的方法都不对]

如果找不到这项,直接去删除掉  C:\documents and settings\all users\application data\microsoft\crypto\rsa\s-1-5-18\ 中的所有密钥文件,然后重启电脑以新建密钥,到此问题应该得以解决了。(记住,在做这些事情之前,一定要对相应的文件和注册表项进行备份!另外注意需要在文件夹设置里头显示系统文件影藏选项)

blob.png

 

  专业名词解释:“rsa加密算法”是一种不对称性加密算法,rsa是1977年发明该算法的三个人的名字的开头字母。“crypto”是国际密码研讨年会,也被指为密码算法的统称。“s-1-5-18"是NT AUTHORITYSYSTEM账户的SID的标志。限于篇幅文字和笔者时间精力有限,关于sid不再这里再一一详述。码字很累,只为奉献。欢迎评论和点赞哈^_^!

未经允许不得转载:天府数据港官方信息博客 » 任务计划“0x80090016错误,密钥集不存在”的解决方案

客官点个赞呗! (1)
分享到:

评论 抢沙发

评论前必须登录!

天府云博 - 做有态度的开发&运维&设计学习分享平台!

联系我们百度云主机