當我試圖設置在高級設置物理路徑的憑據,我如下得到一個錯誤信息:IIS管理器壞數據。 0x80090005
Internet信息服務(IIS)管理器
錯誤的數據。 (異常來自HRESULT:0x80090005)
而且它阻止我設置特定的用戶訪問網絡共享文件夾。
奇怪的是,我有另一臺服務器具有相同的配置,它工作正常,但這個提出了錯誤。任何想法?
當我試圖設置在高級設置物理路徑的憑據,我如下得到一個錯誤信息:IIS管理器壞數據。 0x80090005
Internet信息服務(IIS)管理器
錯誤的數據。 (異常來自HRESULT:0x80090005)
而且它阻止我設置特定的用戶訪問網絡共享文件夾。
奇怪的是,我有另一臺服務器具有相同的配置,它工作正常,但這個提出了錯誤。任何想法?
如果通過applicationhost.config複製,則需要導出和導入通過WAS加密的帳戶。
我做了什麼(從here拍攝):
出口:
aspnet_regiis -px "iisConfigurationKey" "D:\iisConfigurationKey.xml" -pri
aspnet_regiis -px "iisWasKey" "D:\iisWasKey.xml" -pri
導入:
aspnet_regiis -pi "iisConfigurationKey" "D:\iisConfigurationKey.xml"
aspnet_regiis -pi "iisWasKey" "D:\iisWasKey.xml"
然後複製再次對ApplicationHost.config 再次合作!
您可能希望在導入密鑰時指定-exp,否則將無法再導出它。 – Brain2000 2017-04-24 16:54:44
當加密密鑰配置錯誤時(通常是因爲ApplicationHost.config是從其他計算機復制的(不導入加密密鑰)或加密密鑰被覆蓋不正確),我看到了這個問題。
您得到該錯誤的原因是因爲無論何時存儲密碼(例如虛擬目錄用戶/密碼),它都使用加密進行存儲,並導致其失敗。
感謝Mathieu Chateau的一個很好的回答,我發現applicationHost.config文件可以手動編輯,以避免需要導出和導入用於編碼的機器密鑰。我只是手動設置所有的應用程序池標識爲默認應用程序池的身份,像這樣:
<add name="local.com">
<processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="false" />
</add>
我刷新在IIS管理器用戶界面的應用程序池的列表,一切似乎都工作得很好,包括能力編輯另一個身份的應用程序池設置。我希望對屬性的任何其他更改也能正常工作。
簡單修復方法: 如果您使用IIS的共享配置,請爲共享applicationHost文件的網絡位置重新添加用戶憑據。這將從配置文件中刪除以前加密的憑據並將其替換爲更新的憑證。
您也可以從applicationHost文件中手動刪除加密領域,e.g:
<add name="site.com" autoStart="true" enable32BitAppOnWin64="true" managedRuntimeVersion="v4.0" startMode="AlwaysRunning">
<processModel identityType="SpecificUser" userName=".\username" password="[enc:IISWASOnlyAesProvider:IIasdfasd225223xxx:enc]" />
</add>
我一直有同樣的問題,當我嘗試添加一個新的VDIR指向一個網絡共享位置。令人沮喪! – Praveen 2010-06-21 14:56:48
我最終刪除了IIS Web服務器(7)角色並重新安裝。第二次工作。 – Praveen 2010-07-07 21:15:23