【问题标题】: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 虚拟帐户?

【问题讨论】:

    标签: iis windows-server-2012 application-pool windows-server-2012-r2 iis-8.5


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 2012-07-03
      • 2021-10-14
      • 2010-10-19
      • 2015-05-12
      相关资源
      最近更新 更多