修改Windows中ASPNET账户的密码

有次修改了ASPNET账户的密码,结果原本能正常访问的asp.net程序就没办法访问了,错误提示“服务器应用程序不可用”。

查看系统日志,有错误信息“未能启动 aspnet_wp.exe,原因是配置文件的 processModel 节中提供的用户名和/或密码无效。”

网上一搜,都说是修改C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config.comments”(.NET1.0修改machine.config文件),找到userName = "machine”,把它改为userName = "system"。

但我这样修改后,还是不行。将ASPNET账户的密码改为空也不行。

查看msdn上对processModel的描述(http://msdn.microsoft.com/zh-cn/library/7w2sway1(v=vs.80).aspx

其中说到“ASPNET 帐户的密码是在安装时通过加密生成的。”

原来用来启动辅助进程的账户密码,是在创建ASPNET账户时就将ASPNET账户的密码保存起来了(不知道保存在哪),所以password属性的值默认为AutoGenerate。

当我们修改了ASPNET账户密码后,iis启动辅助进程时,用保存起来的密码来启动进程,由于密码错误,所以无法启动。

当然也可以自己设置其他账户和密码来启动辅助进程,在http://msdn.microsoft.com/zh-cn/library/7w2sway1(v=vs.80).aspx中的“在注册表中存储用户名和密码”小节有说明。

一种解决办法是删除ASPNET账户,重新安装ASP.NET(在VS命令行中执行aspnet_regiis -i),这时会重新创建一个ASPNET账户,这样密码就是正确的了,重新启动电脑后就恢复正常了。

做了一点测试,测试环境是xp和iis5.1,asp.net2.0

ASPNET账户使用安装的默认密码,配置文件中password="",正常

ASPNET账户使用安装的默认密码,配置文件中password="AutoGenerate",正常

ASPNET账户密码为"",配置文件中password="",不正常

ASPNET账户密码为"",配置文件中password="AutoGenerate",不正常

posted on 2011-10-12 17:20  漫步人生  阅读(6293)  评论(0编辑  收藏  举报