天天看點

轉帖:“0x80090016錯誤,密鑰集不存在”的解決

  PS:今天發現伺服器上的任務計劃沒執行,一檢查報錯了。借助網絡問題搞定,順便把解決方法轉過來。原文出自: http://blog.gx.vnet.cn/6/viewspace-9957.html#xspace-tracks ----------------------分割線下方,正文開始-----------------------------     任務計劃建立失敗,顯示密鑰集不存在錯誤:     無法安排任何任務或修改現有任務的帳戶憑據。當您嘗試建立新計劃任務, 可能會收到以下錯誤資訊:     新任務已建立, 但可能不運作因為尚未設定帳戶資訊。 鍵集不存在。 如果您嘗試修改的現有任務, 帳戶憑據可能會收到以下錯誤資訊: 正常頁面初始化失敗: 賬戶密鑰集不存在  錯誤是: 0x80090016。     這個就影響正常使用了,因為已經無法建立任務計劃了,即使建立成功了,也無法啟動。這個問題是什麼原因引起的?在微軟網站上找到這麼一句話: 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将不能建立公鑰和私鑰來繼續完成安裝。”(翻譯得不好,但大緻就這意思啦)     由此追查原因,是由于某種行為導緻這冊表改動了預設的密鑰,而protected storage服務可能又失靈了,沒能起到存儲本地密碼資訊的作用,結果使原有密鑰集内容丢失,是以才有之前報錯所說的“尚未設定帳戶資訊”。那麼是什麼舉動到這這一問題?結合計劃任務的日志,得知在很早以前就有這個問題了,隻是我一直沒發現,該死。現在想去探究那時到底發生了什麼也不大可能了。是以幹脆把這問題解決了,日後多注意也就是了。     解決的辦法倒很簡單,先 net start “protected storage” 開啟這個服務(其實就是lsass.exe),再将現有這個不完整的密鑰删除掉,先備份再删除掉下面的項: HKEY_USERS\Default\Software\Microsoft\Cryptography\Providers\Type 001 如果找不到這項,直接去删除掉  x:\documents and settings\all users\application data\microsoft\crypto\rsa\s-1-5-18\ 中的所有密鑰檔案,然後重新開機電腦以建立密鑰,到此問題應該得以解決了。(記住,在做這些事情之前,一定要對相應的檔案和系統資料庫項進行備份!)     注釋: “rsa加密算法”是一種不對稱性加密算法,rsa是1977年發明該算法的三個人的名字的開頭字母。“crypto”是國際密碼研讨年會,也被指為密碼算法的統稱。“s-1-5-18"是NT AUTHORITYSYSTEM賬戶的SID的标志。限于篇幅,關于sid不再詳述。

繼續閱讀