Обновление: оригинальный вопрос был о Windows Server 2008, но решение проще для Windows Server 2008 R2 и Windows Server 2012 (и Windows 7 и 8). Вы можете добавить пользователя через пользовательский интерфейс NTFS, введя его напрямую. Имя имеет формат IIS APPPOOL \ {имя пула приложений}. Например: IIS APPPOOL \ DefaultAppPool.
IIS APPPOOL\{app pool name}
Примечание: согласно комментариям ниже, есть две вещи, о которых нужно знать:
- Введите строку непосредственно в поле «Выбрать пользователя или группу», а не в поле поиска.
- В доменной среде вам нужно сначала установить Location на ваш локальный компьютер.
Ссылка на статью Microsoft Docs: удостоверения пула приложений> защита ресурсов
Исходный ответ: (для Windows Server 2008) Это отличная функция, но, как вы упомянули, она еще не полностью реализована. Вы можете добавить идентификатор пула приложений из командной строки с помощью чего-то вроде icacls, а затем вы можете управлять им из графического интерфейса. Например, запустите что-то вроде этого из командной строки:
icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)
Затем в проводнике Windows перейдите в папку wwwroot и измените разрешения безопасности. Вы увидите, что выглядит как группа (значок группы) с именем DefaultAppPool. Теперь вы можете редактировать разрешения.
Тем не менее, вам не нужно использовать это вообще. Это бонус, который вы можете использовать, если хотите. Вы можете использовать старый способ создания настраиваемого пользователя для каждого пула приложений и назначения настраиваемого пользователя на диск. Это имеет полную поддержку пользовательского интерфейса.
Этот метод внедрения SID хорош тем, что позволяет использовать одного пользователя, но полностью изолировать каждый сайт друг от друга, не создавая уникальных пользователей для каждого пула приложений. Довольно впечатляет, и это будет еще лучше с поддержкой пользовательского интерфейса.
Примечание. Если вам не удается найти пользователя пула приложений, проверьте, запущена ли служба Windows под названием Application Host Helper Service. Это сервис, который отображает пользователей пула приложений на учетные записи Windows.
Вы должны убедиться, что в
From this location
поле установлено значение,local machine
а не домен.У меня была та же проблема, и как только я изменил, она работала нормально.
источник
Вы действительно должны создавать группы для каждой «роли» и назначать доступ к этой группе в файловой системе. Затем при необходимости добавьте пул приложений в группы, зависящие от роли. Таким образом, даже если вы позже удалите пул приложений (а виртуальный пользователь будет лишним ), вам не нужно беспокоиться о восстановлении всех разрешений, вы просто добавляете пул замещающих приложений в существующую группу.
источник
Прочитав ответ @Scott Forsyth - MVP, я попытался перезапустить службу поддержки приложений. Это решило проблему для меня.
источник
Я работал под управлением WS8 R2, и я не мог добавить
IIS APPPOOL\DefaultAppPool
через Windows Explorer. Единственный способ, которым это работало, было через командную строку:источник
Если этот вопрос о том, как выполнить _sp_send_dbmail в базе данных msdb (используя хранимую процедуру SQL Send Database Mail в msdb), здесь есть некоторые обходные пути. Добавьте имя пользователя приложения .net вашей базы данных (которое определяется в строке подключения в приложении .net) к пользователю msdb с членством в роли DatabaseMailUserRole.
источник