win2000下iis无法访问asp网页 未能启动 aspnet_wp.exe

本日掩护一个windows2000的iis做事器,网页无法访问,系统运用程序日志提示:

①、未能启动 aspnet_wp.exe,缘故原由是配置文件的 processModel 节中供应的用户名和/或密码无效。

iishtmlaspwindows server下iis无法拜访asp网页 RESTful API

②、未能启动 aspnet_wp.exe。
失落败的 HRESULT:80004005

找了很多缘故原由,都说是域做事器的donnet下的用户权限配置问题,引用详见下面,但是我的做事器不在域环境中,纳闷了良久。

引用:

Win2000域做事器 IIS 无法利用asp.net程序的办理方法

把一台做事器升级为域掌握器后,安装了ASP.NET,配置完IIS后,创造无法运行.ASPX文件,每次运行都见告我做事器内部缺点,同时会在系统运用程序日志里加上以下2个缺点

未能启动 aspnet_wp.exe,缘故原由是配置文件的 processModel 节中供应的用户名和/或密码无效。

未能启动 aspnet_wp.exe。
失落败的 HRESULT:80004005

.ASP文件运行正常,请那位高手指示一下,到底是什么问题?

办理的办法有几种,

个中最快但不屈安的一种是:

变动machine.config文件,

它位于C:\WINNT\Microsoft.NET\ Framework\v1.0.3705(asp.net 1.0是这样,如果你的版本是1.1的,文件夹名回不同)\CONFIG\,

将里面一个部件<processModel>中的 username的属性设置为SYSTEM,正由于它原来默认的设置为machine,

以是访问的asp.net的用户名为aspnet,而这个帐号为本地帐号,而我们登录的帐号是域掌握器的帐号,不是本地机器的帐号,

这样导致aspnet_wp.exe找不到一个本地的localmachinename \aspnet帐号而不能启动.

这种方法我实验过,验证上述情形.但它很不屈安,但你发布asp.net网页时,浏览的用户在你的域中是属于system 属性,

这样会带来安全隐患.最好的办法便是,也是微软推举的.在你的域中添加一个aspnet帐号,设置适当的权限,而不去变动 machine.config文件.

办理方案

要办理此问题,请利用下列方法之一:

?创建具有精确权限的弱帐户,然后配置 Machine.config 文件的 <processModel> 部分以利用该帐户。

?在 Machine.config 文件的 <processModel> 部分,将 userName 属性设置为 SYSTEM。

?配置 Machine.config 文件的 <processModel> 部分以利用管理员帐户。

把稳:在 ASP.NET 1.1 中,ASPNET 的进程标识为 IWAM_MachineName,以是不存在此问题。

把稳:如果许可 ASP.NET 运用程序作为 SYSTEM 或管理员帐户运行,将带来严重的安全问题。
如果利用个中的任一种替代方法,在Aspnet_wp.exe 进程中运行的代码都将有权访问域掌握器和域设置。
从 Aspnet_wp.exe 进程启动的可实行文件在相同的高下文中运行,它们也有权访问域掌握器。

因此,Microsoft 建议利用第一种替代方法。
若要利用第一种替代方法,请按照下列步骤操作: 1. 在打算机上创建名为 ASPUSER 的用户帐户,然后将此帐户添加到用户组中。

把稳:如果变动了 .NET Framework 创建的 ASPNET 帐户的密码,也可以利用该帐户。
您必须知道此帐户的密码,由于须要在后面的步骤中将该密码添加到 <processModel> 部分。

2. 付与 ASPUSER 或 ASPNET 帐户“作为批处理作业登录”用户权限。
确保此变动涌如今“本地安全策略”设置中。

把稳:若要向此帐户付与“作为批处理作业登录”用户权限,可能必须在以下每一个安全策略中都付与此用户权限(从掌握面板/管理工具开始操作):

?域掌握器安全策略

?域安全策略

?本地安全策略

把稳:您可能必须重新启动做事器以使这些变动生效。

3. 确保 ASPUSER 或 ASPNET 帐户有权访问启动 Aspnet_wp.exe 进程和为 ASP.NET 页供应做事所必需的全部目录和文件。
有关必须付与此帐户何种权限的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

317012 INFO:ASP.NET 中的进程和要求标识

4. 打开 Machine.config 文件。
该文件的路径是:%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG。

5. 在 Machine.config 文件的 <processModel> 部分,将 userName 和 password 属性变动为您在第一步中创建的帐户的名称和密码。
例如:

userName=\"大众DomainName\ASPUSER\"大众 password=\"大众ASPUSERpassword\公众

6. 保存对 Machine.config 文件所做的变动。

弄了良久一贯弗成,后来终于创造系统中iuse_oaserver(oaserver是做事器的打算机名)用户名被改成了iuse_server,很多用户都没掉了或者被改名了,可能是原来中毒的缘故,我添加了IUSE_OASERVER,添加了dotnet1.1安装目录下的权限等,网页可以访问了。
紧张有以下操作:

①、aspnet_regiis -i (重新安装ASP.NET 组件);

②、给donnet1.1 安装目录C:\WINNT\Microsoft.NET\Framework\v1.1.4322的安全属性里添加iuse_oaserver读取的权限;

③、重新启动一下IIS 或者在\"大众运行\公众中输入:iisreset;

④、激活2个帐户 ASPNET、IUSR_machine(\"大众machine\"大众为打算机名称),不要设置密码,确认在IIS的安全设置(匿名访问)里面找到\"大众IUSR_machine\"大众用户,并且是由IIS掌握密码的;