IIS 8.5:应用程序池的虚拟帐户(IIS AppPool\应用程序池名称不可用

Posted

技术标签:

【中文标题】IIS 8.5:应用程序池的虚拟帐户(IIS AppPool\\应用程序池名称不可用【英文标题】:IIS 8.5: Virtual Account for App Pool (IIS AppPool\Application Pool Name is not availableIIS 8.5:应用程序池的虚拟帐户(IIS AppPool\应用程序池名称不可用 【发布时间】:2014-10-01 06:11:03 【问题描述】:

我在 Windows 2012 R2 Core 机器上运行 IIS 8.5。我创建了一个名为“MyNewAppPool”的新应用程序池。我有一个网站实例,名为“MyNewWebsite.com”,在“MyNewAppPool”应用程序池中运行。用于“MyNewAppPool”的标识是“ApplicationPoolIdentity”。

据我了解,我可以使用自动生成的本地虚拟帐户为 IIS 8.5 中的应用程序池分配安全权限,该帐户将命名为“IIS AppPool\Application Pool Name”。

因此,在“MyNewWebsite.com”目录上的 Windows 资源管理器中,我应该能够为虚拟用户帐户“IIS AppPool\MyNewAppPool”分配读/写权限。我找不到要分配任何权限的用户帐户。我正在搜索本地计算机位置,而不是整个域。我可以找到“IIS AppPool\DefaultAppPool”帐户,但是我不想在 DefaultAppPPool 下运行 MyNewWebsite.com,我想在 MyNewAppPool 应用程序池下运行它。

谁能告诉我为什么我找不到自动生成的 MyNewAppPool 虚拟帐户?

【问题讨论】:

【参考方案1】:

您永远不会在权限搜索对话框中找到合成的应用程序池标识。只需像这样输入池标识的名称:

通过 GUI:

点击检查姓名按钮:

通过命令行:

您也可以在管理员命令行/Powershell 中使用ICACLS

icacls c:\wwwroot\mysite /grant "IIS AppPool\MyNewAppPool":(CI)(OI)(M)

【讨论】:

我试过这个。我仍然无法解析应用程序池名称。我在开发服务器上遇到了这个问题,然后由于未知原因问题消失了。现在我正在设置一个 QA 服务器,但我又遇到了同样的问题。 @KPhillipson 我以前在原始 Windows 2008 Server 和 Windows 2008R2(预服务包)上看到过这种情况,而且非常烦人。看看我的更新,它应该与命令行中的ICACLS 一起使用。 @Kev,不。 No mapping between account names and security IDs was done. Successfully processed 0 files; Failed processing 1 files @BrainSlugs83 - 什么操作系统,你有所有最新的服务包/更新吗?您确定以管理员身份运行 powershell/命令提示符吗?您在授予权限的路径中有空格吗?如果是这样用双引号括起来......你没有提供太多信息,我通常不会抱怨,但 DV 似乎有点不公平,因为它不是一个非常不正确的答案。听起来更像是您的环境问题而不是答案。【参考方案2】:

以上答案效果很好,只要记住使用服务器的名称而不是域名即可。我挂了一会儿,试图弄清楚为什么它没有解决:

【讨论】:

OP 在问题中确实提到了“我正在搜索本地计算机位置,而不是整个域。” 不。服务器未加入域;默认情况下,本地机器名称填充在那里。【参考方案3】:

我在 Server 2012 中遇到了同样的问题——无论出于何种原因,它都没有创建虚拟帐户(或者它们无法使用)。 -- 我认为这与AppHostSvcNetMan 服务未运行有关。 -- 最终,我采取了霰弹枪的方法来修复它(不推荐,你应该尽量少为生产环境做,但这个 PowerShell 可能会让你摆脱开发环境的压力):

#Requires -Version 4
#Requires -RunAsAdministrator

#######################################

$DebugPreference = "SilentlyContinue";
$VerbosePreference = "SilentlyContinue";
$WarningPreference = "Continue";
$ErrorActionPreference = "Stop";
Set-PSDebug -Strict;
Set-StrictMode -Version 3;

#######################################

Get-WindowsOptionalFeature -Online `
    | where  $_.FeatureName -ilike "*IIS*" -and $_.State -eq "Disabled"  `
    | %  Enable-WindowsOptionalFeature -Online -FeatureName $_.FeatureName -All ;

iisreset

Get-Service | ?  $_.ServiceName -eq "W3SVC"  | Start-Service;
Get-Service | ?  $_.ServiceName -eq "W3SVC"  | Set-Service -StartupType Automatic;

Get-Service | ?  $_.ServiceName -eq "WMSvc"  | Start-Service;
Get-Service | ?  $_.ServiceName -eq "WMSVC"  | Set-Service -StartupType Automatic;

Get-Service | ?  $_.ServiceName -eq "AppHostSvc"  | Start-Service;
Get-Service | ?  $_.ServiceName -eq "AppHostSvc"  | Set-Service -StartupType Automatic;

Get-Service | ?  $_.ServiceName -eq "Netman"  | Start-Service;
Get-Service | ?  $_.ServiceName -eq "Netman"  | Set-Service -StartupType Automatic;

iisreset

【讨论】:

以上是关于IIS 8.5:应用程序池的虚拟帐户(IIS AppPool\应用程序池名称不可用的主要内容,如果未能解决你的问题,请参考以下文章

IIS连接数IIS并发连接数IIS最大并发工作线程数应用程序池的队列长度应用程序池的

你真的了解:IIS连接数IIS并发连接数IIS最大并发工作线程数应用程序池的队列长度应用程序池的...

IIS7.5中神秘的ApplicationPoolIdentity

新网站未在 IIS 8.5 中显示默认页面

ASPX 和 IIS 8.5 - 403 禁止错误

IIS 8.5 请求实体太大在 IE 11 中发生,但在 Chrome 中没有