IIS 8.5:应用程序池(IIS AppPool\{Application Pool Name}的虚拟帐户不可用

IIS 8.5:应用程序池(IIS AppPool\{Application Pool Name}的虚拟帐户不可用,iis,windows-server-2012,application-pool,windows-server-2012-r2,iis-8.5,Iis,Windows Server 2012,Application Pool,Windows Server 2012 R2,Iis 8.5,我正在Windows 2012 R2核心机箱上运行IIS 8.5。我创建了一个名为“MyNewAppPool”的新应用程序池。我有一个名为“MyNewWebsite.com”的网站实例,在“MyNewAppPool”应用程序池中运行。用于“MyNewAppPool”的标识是“ApplicationPoolIdentity” 据我所知,我可以使用自动生成的本地虚拟帐户为IIS 8.5中的应用程序池分配安全权限,该帐户将命名为“IIS AppPool\{application Pool Name}”

我正在Windows 2012 R2核心机箱上运行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”帐户,但我不想在DefaultAppPool下运行MyNewWebsite.com,我想在MyNewAppPool应用程序池下运行它


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

在“权限搜索”对话框中找不到综合应用程序池标识。只需键入池标识的名称,如下所示:

通过GUI:

单击“检查名称”按钮:

通过命令行:

或者,您可以从管理员命令行/Powershell使用
ICACLS

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

上面的答案非常有效,只需记住使用服务器名称而不是域名。我挂了一会儿,试图找出它无法解析的原因:

我在2012年服务器上也遇到了同样的问题——无论出于何种原因,它没有创建虚拟帐户(或者虚拟帐户不可用)。——我相信这与
AppHostSvc
NetMan
服务没有运行有关。--最终,我采取了鸟枪式的方法来修复它(不建议您这样做,您应该尽量少为生产环境做一些工作,但此PowerShell可能会让您在开发环境中摆脱困境):


我正是这样尝试的。我仍然无法获得要解决的应用程序池名称。我在一个开发服务器上遇到了这个问题,但由于未知原因,问题消失了。现在我正在设置一个QA服务器,我再次遇到了同样的问题。@KPhillipson我以前在原始Windows 2008服务器和Windows 2008R2(预服务包)上见过这个问题这真是太令人讨厌了。看看我的更新,它应该可以从命令行使用
ICACLS
。@Kev,不。
没有完成帐户名和安全ID之间的映射。成功处理了0个文件;失败处理了1个文件
@brainslaugs83-什么操作系统,你有所有最新的服务包/更新吗你确定你是以管理员身份运行powershell/command prompt吗?在你授予权限的路径中是否有空格?如果有,请用双引号括起来……你没有提供太多信息,我通常不会抱怨,但DV似乎有点不公平,因为它不是一个非常不正确的答案。听起来更像是你的环境造成的而answer.OP在问题“我正在搜索本地计算机位置,而不是整个域”中提到。不。服务器未加入域;默认情况下,本地计算机名填充在那里。
#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