В Windows 2008 R2 я могу установить разрешения NTFS для синтезированного пула приложений. ApplicationPoolIdentity
счет таким образом:
ICACLS d:\websites\site1\www /grant "IIS AppPool\site1":(CI)(OI)(M)
Пул приложений веб-сайта называется site1
и настроен для работы как ApplicationPoolIdentity
. Аутентификация сайта также настроена для аутентификации как ApplicationPoolIdentity
. Я проделывал это тысячу раз в Windows 2008 Standard Edition R2, без каких-либо проблем.
Однако, если я попытаюсь сделать то же самое в Windows 2008 Standard Edition SP2, я получаю сообщение об ошибке:
IIS AppPool\site1: No mapping between account names and security IDs was done. Successfully processed 0 files; Failed processing 1 files
Я также заметил, что это не удается, если я пытаюсь установить разрешения для удостоверения пула приложений через графический интерфейс безопасности. Я видел это раньше, и перезагрузка устранила эту проблему, но я хотел бы знать, почему это происходит периодически. Поиск в Google предполагает, что другие люди столкнулись с этой проблемой, но удовлетворительного объяснения нет.
Почему это могло быть?
Привет, Кевин. Служба Windows, используемая для виртуального сопоставления, называется «Служба поддержки узла приложения» (AppHostSvc). Дважды проверьте, что он работает правильно, и, поскольку проблема решается сама собой после перезагрузки, в следующий раз перезапустите только эту службу и посмотрите, решит ли она проблему временно.
Похоже, вы знаете, но в pre-R2 вы можете добавить пользователя только из командной строки, но затем вы можете «управлять» им из графического интерфейса безопасности (при условии, что все работает должным образом). В R2 вы также можете добавить его в графический интерфейс, введя полное имя (например, IIS AppPool \ site1).
Я получил эту ошибку, когда неправильно набрал пользователя AppPool, используя «/» вместо «\»:
icacls "e:\temp" /grant "IIS AppPool/Site1":(OI)(CI)F /T
Исправление имени пользователя решило проблему:
icacls "e:\temp" /grant "IIS AppPool\Site1":(OI)(CI)F /T
Я протестировал это на другом сервере Windows 2008 Standard Edition SP2 (базовый образ вышеупомянутого сервера) и не смог воспроизвести ошибку.
Я перезапустил сервер, и проблема волшебным образом исчезла (снова). Думаю, завтра я подниму жалобу на MS PSS.