IIS 8.5: Виртуальная учетная запись для пула приложений (IIS AppPool\{Имя пула приложений} недоступна
Я использую IIS 8.5 на Windows 2012 R2 Core box. Я создал новый пул приложений под названием "MyNewAppPool". У меня есть экземпляр веб-сайта под названием "MyNewWebsite.com", работающий в пуле приложений "MyNewAppPool". Идентификацией, используемой для "MyNewAppPool", является "ApplicationPoolIdentity".
Насколько я понимаю, я могу назначать разрешения безопасности для пулов приложений в IIS 8.5 с помощью автоматически созданных локальных виртуальных учетных записей, которые будут называться "IIS AppPool\{Имя пула приложений}".
Поэтому в проводнике Windows в каталоге "MyNewWebsite.com" я должен иметь возможность назначать разрешения на чтение / запись для учетной записи виртуального пользователя "IIS AppPool\MyNewAppPool". Я не могу найти эту учетную запись пользователя для назначения каких-либо разрешений. Я ищу местоположение локального компьютера, а не весь домен. Я могу найти учетную запись "IIS AppPool\DefaultAppPool", однако я не хочу запускать MyNewWebsite.com в DefaultAppPPool, я хочу запустить его в пуле приложений MyNewAppPool.
Может кто-нибудь сказать мне, почему я не могу найти автоматически сгенерированную виртуальную учетную запись для MyNewAppPool?
3 ответа
Вы никогда не найдете синтезированный идентификатор пула приложений в диалоге поиска разрешений. Просто введите имя идентификатора пула следующим образом:
Через графический интерфейс:
Нажмите кнопку Проверить имена:
Через командную строку:
В качестве альтернативы вы можете использовать ICACLS
из командной строки администратора /Powershell:
icacls c:\wwwroot\mysite /grant "IIS AppPool\MyNewAppPool":(CI)(OI)(M)
Приведенный выше ответ прекрасно работает, просто не забудьте использовать имя сервера, а не имя домена. Я немного повесил трубку, пытаясь понять, почему это не решается:
У меня была такая же проблема в Server 2012 - по какой-то причине он не создавал виртуальные учетные записи (или они не были доступны для использования). - Я считаю, что это связано с AppHostSvc
или NetMan
служба не работает. - В конечном счете, я применил подход дробовика к его исправлению (не рекомендуется, вам следует постараться сделать как можно меньше для производственной среды, но этот 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