2009-05-06 185 views
4

我有一個網站使用aspnet_setreg.exe將身份用戶的用戶名和密碼加密到註冊表中。它一直工作得很好,但是當我在Windows 2008上運行它,我得到這個:在Windows 2008服務器上運行aspnet_setreg.exe

C:\ ASPNET_SETREG> aspnet_setreg.exe -k:SOFTWARE \ mycode的\身份-u: 「域\用戶」 -p」密碼 「

請編輯您的配置包含以下內容:

的userName = 」註冊表:HKLM \ SOFTWARE \ mycode的\標識\ ASPNET_SETREG,用戶名「 密碼=」 註冊表:HKLM \ SOFTWARE \ mycode的\標識\ ASPNET_SETREG,密碼「

註冊表項上的DACL授予系統,管理員和創建者所有者的完全控制權。

如果您具有配置部分的加密憑證或配置部分的連接字符串,請確保進程標識具有對註冊表項的讀取訪問權限。此外,如果您已將IIS配置爲訪問UNC共享上的內容,則用於訪問共享的帳戶將需要對註冊表項的「讀取」權限。 Regedt32.exe可能用於查看/修改註冊表項權限。

您可以重命名註冊表子項和註冊表值以防止發現。

沒有任何其他人使用這個和你看到它在2008年

感謝

工作
+0

我結束了從2003服務器移動密鑰。但仍想知道是否有其他人有經驗在2008年的機器上使用它。謝謝... – 2009-05-06 16:37:49

回答

0

我從2003服務器移動了密鑰。但仍想知道是否有其他人有經驗在2008年的機器上使用它。

5

與aspnet_setreg.exe潛在的問題是,它是一個32位進程,並會寫入Wow6432Node而不是上面指出的地方。如果您正在運行64位應用程序池,則需要將reg密鑰複製到「真實」x64位置。

+0

相關知識...這臺機器是32位的,但我必須在一些64位機器上重複這個過程。感謝您的高舉。 – 2009-05-06 17:34:41

0

您對x64位置正確。如何獲取aspnet_setreg.exe在x32註冊表位置設置reg值?

1

1)aspnet_setreg應用程序將註冊表項放入HKLM \ Software \ Wow6432Node \ rest路徑中。

如上所述,這是修改64位註冊表項的32位應用程序的行爲。

2)要將鍵移到正確的位置,我將鍵導出到.reg文件,然後編輯該文件並擺脫文件中的Wow6432Node目錄。

3)另外,您也可以只使用Wow6432Node路徑:

例如:

userName="registry:HKLM\Software\Wow6432Node\MYCODE\identity\ASPNET_SETREG,userName" 

password="registry:HKLM\Software\Wow6432Node\MYCODE\identity\ASPNET_SETREG,password" 

4)另外,請注意,您必須擁有管理員權限才能運行此。在Windows 7上,我使用「以管理員身份運行」的命令行運行它,並將aspnet_setreg存儲在 HKEY_USERS [USER SID] \ Software \ Classes \ VirtualStore \ MACHINE \ SOFTWARE \ Wow6432Node中。5)最後,請記住將權限設置爲註冊表項,以便您的應用程序可以從註冊表項中讀取。

參考文獻:http://support.microsoft.com/kb/329290

相關問題