11

我在 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 的自动生成的虚拟帐户?

4

3 回答 3

14

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

通过图形用户界面:

在此处输入图像描述

单击检查名称按钮:

在此处输入图像描述

通过命令行:

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

icacls c:\wwwroot\mysite /grant "IIS AppPool\MyNewAppPool":(CI)(OI)(M)
于 2014-08-09T02:41:09.140 回答
2

上面的答案很好,只要记住使用服务器的名称而不是域名。我挂了一会儿,试图弄清楚为什么它没有解决: 在此处输入图像描述

于 2015-03-19T19:25:48.097 回答
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
于 2018-10-26T10:17:47.183 回答