IIS 8.5: 应用程序池虚拟账户(IIS AppPool\{应用程序池名称})不可用。

11
我正在运行 Windows 2012 R2 Core 操作系统上的 IIS 8.5。我创建了一个名为“MyNewAppPool”的新应用程序池,其中运行着名为“MyNewWebsite.com”的网站实例。 "MyNewAppPool" 应用程序池所使用的身份验证是“ApplicationPoolIdentity”。
据我所知,在 IIS 8.5 中,可以通过使用自动生成的本地虚拟账户(命名为 “IIS AppPool\{应用程序池名称}”)来为应用程序池分配安全权限。
因此,在“ MyNewWebsite.com ”目录的 Windows Explorer 中,我应该能够为虚拟用户账户“ IIS AppPool\MyNewAppPool ”分配读/写权限。但我无法找到这个用户账户来进行任何权限分配。我搜索的是本地计算机位置而非整个域。 我可以找到“ IIS AppPool\DefaultAppPool ”账户,但我不想在 DefaultAppPool 下运行 MyNewWebsite.com ,我希望在 MyNewAppPool 应用程序池下运行它。
请问有谁可以告诉我为什么我找不到 MyNewAppPool 的自动生成虚拟账户呢?
3个回答

14

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

通过GUI界面:

enter image description here

然后单击检查名称按钮:

enter image description here

通过命令行:

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

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

1
我尝试过这个方法,但仍然无法解决应用程序池名称的问题。我在开发服务器上遇到了这个问题,但由于某种未知原因,问题消失了。现在我正在设置QA服务器,又再次遇到了同样的问题。 - KPhillipson
@KPhillipson 我曾在原版Windows 2008 Server和Windows 2008R2(服务包之前)中见过这种情况,非常让人恼火。看看我的更新,它应该可以用命令行中的 ICACLS 解决。 - Kev
@Kev,不对。未执行帐户名称和安全标识之间的映射。 成功处理了0个文件;无法处理1个文件 - BrainSlugs83
@BrainSlugs83 - 你用的是哪个操作系统?你是否安装了所有最新的服务包/更新?你确定你正在以管理员身份运行powershell/命令提示符吗?你授予权限的路径中有空格吗?如果有,请用双引号括起来。你没有提供太多信息,我通常不会抱怨,但DV似乎有点不公平,因为它并不是一个极其错误的答案。听起来更像是你的环境有问题,而不是答案的错。 - Kev

2
以上答案非常好,只需要记住使用服务器名称而不是域名即可。我曾经困惑了一段时间,试图弄清楚为什么它无法解析: 在此输入图片描述

2
OP在问题中提到:“我正在搜索本地计算机位置,而不是整个域。” - Kev
不是的。服务器没有加入域; 本地机器名称是默认填充的。 - BrainSlugs83

0

我在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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接