我有一个站点使用aspnet_setreg.exe将身份用户的用户名和密码加密到注册表中。它一直运行良好但是当我在Windows 2008上运行时,我得到了这个:
C:\ aspnet_setreg> aspnet_setreg.exe -k:SOFTWARE \ MYCODE \ identity -u:“domain \ user”-p:“password”
请编辑您的配置以包含以下内容:
的userName = “注册表:HKLM \ SOFTWARE \ mycode的\身份\ ASPNET_SETREG,用户名” 密码= “注册表:HKLM \ SOFTWARE \ mycode的\身份\ ASPNET_SETREG,密码”
注册表项上的DACL授予对系统,管理员和创建者所有者的完全控制权。
如果您具有配置节的加密凭据或配置节的连接字符串,请确保进程标识具有对注册表项的读取权限。此外,如果您已配置IIS以访问
上的内容UNC共享,用于访问共享的帐户将需要对注册表项的读取权限。 Regedt32.exe可用于查看/修改注册表项权限。
您可以重命名注册表子项和注册表值,以防止发现。
是否有其他人使用此功能,您是否认为它在2008年有效。
由于
答案 0 :(得分:5)
aspnet_setreg.exe的潜在问题是它是一个32位进程,并且将写入Wow6432Node而不是上面指出的位置。如果您运行的是64位应用程序池,则需要将reg密钥复制到“真正的”x64位置。
答案 1 :(得分:2)
1)aspnet_setreg应用程序将注册表项放入HKLM \ Software \ Wow6432Node \ path of path。
如上所述,这是修改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)最后,请记住设置注册表项的权限,以便您的应用程序可以从注册表项中读取。
答案 2 :(得分:0)
您对x64位置是正确的。如何让aspnet_setreg.exe在x32注册表位置设置reg值?
答案 3 :(得分:0)
我从2003服务器移动了密钥。但是仍然想知道是否有其他人有经验在2008机器上使用它。