I am running IIS 8.5 on a Windows 2012 R2 Core box. I created a new application pool called \"MyNewAppPool\". I have a website instance, called \"MyNewWebsite.com\" running in
Above answer works great, just remember to use the server's name rather than the domain name. I got hung up for a bit trying to figure out why it wasn't resolving:
I had the same issue in Server 2012 -- for whatever reason it was not creating the virtual accounts (or they were not available for use). -- I believe it's related to the AppHostSvc
or the NetMan
service not running. -- Ultimately, I took a shotgun approach to fixing it (not recommended, you should try to do as little as possible for a production environment, but this PowerShell might get you out of a pinch in your dev. environment):
#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
You won't ever find the synthesised application pool identity in the permissions search dialogue. Just type in the name of the pool identity like this:
Via GUI:
The click the Check Names button:
Via Command Line:
Alternatively you can use ICACLS
from an administrator command line/Powershell:
icacls c:\wwwroot\mysite /grant "IIS AppPool\MyNewAppPool":(CI)(OI)(M)