我在IIS 6.0中有一个使用带有自定义服务帐户的应用程序池的网站。当我浏览网站时,出现“服务不可用”错误,事件日志中的错误显示
应用程序池“SampleAppPool”的标识无效,因此World Wide Web Publishing服务无法创建工作进程来为应用程序池提供服务。因此,应用程序池已被禁用。
我认为实用程序“Aspnet_regiis”可用于根据this article向IIS元数据库授予对帐户的访问权限,但这是解决此问题的正确方法吗?因为此实用程序用于多项操作,并且可能不仅仅是授予帐户权限,还是应该手动将帐户添加到IIS_WPG
组?
答案 0 :(得分:12)
当我在IIS 6中看到此内容并且用户具有自定义应用程序池标识时,问题通常源于应用程序池属性中的凭据输入。因此,这个问题通常有两个来源。
一个是凭据中的简单拼写错误,遗憾的是IIS 6中的表单验证不是很好,所以我经常会让用户更改应用程序池的身份,然后立即检查凭据是否“占用”和/或检查系统事件日志中是否存在W3SVC及相关错误。
我在这种情况下看到的第二个具体原因是当人们进入Active Directory用户时,他们有时会忘记添加域名。 (例如DOMAIN \ Username)。这引导我到下一点,IIS_WPG是内置本地组,它授予成员所需的ACL作为应用程序池标识运行。 aspnet_regiis.exe -ga
向用户授予相同的权限,但IMO最适合在IIS_WPG组不可用时使用。此外,专用的应用程序池用户帐户通常是个好主意。如果更改了AD用户密码,您将使应用程序瘫痪,直到您再次在IIS管理器中重新输入凭据。
编辑:我添加了一些para break来使这个块更具可读性。
答案 1 :(得分:2)
我遇到了同样的问题,我通过启动应用程序池解决了这个问题。即使IIS正在运行,我们也被停止了。
答案 2 :(得分:1)
“应用程序池'SampleAppPool'的标识无效......”
每次出现该错误时,都是因为用户名和密码未在应用程序池中正确输入。从其他服务器导入池设置时也会发生这种情况。在应用程序池标识配置中重新输入密码始终可以解决问题。
一旦你做到了这一点,你可能会遇到你所描述的第二个问题,但这是一个无关的问题。它可以在您描述时修复,甚至可以手动授予对应用程序池标识所需的访问权限。
答案 3 :(得分:0)
如果您使用一个或多个远程访问工具连接到远程计算机,请注意:您的键盘映射可能会在整个过程中被搞砸!
在我的情况下,我尝试在远程计算机上的纯文本编辑器中输入密码的某些字母(不一定按照相同的顺序,以保持安全性)。当我尝试输入美元字符时,我发现如果我使用左移键,我得到了一个" $
"但如果我使用右移键,我得到了一个" 4
"。
一旦弄明白,我就可以为应用程序池标识输入正确的密码。 (注意:填写标识部分时,IIS不会根据用户标识验证您输入的密码,只会输入您输入的两个密码相互匹配)。