Какие разрешения/политики необходимы для поддержки loadUserProfile=true для новых пулов приложений?

Что-то произошло на моей рабочей станции для разработки (Windows 8.1) за последние несколько недель, что требует, чтобы я либо запускал свои пулы приложений с настройкой «Загрузить профиль пользователя» в False, либо не запускал с идентификатором, установленным на ApplicationPoolIdentity. Если бы я создал новый пул приложений, используя ApplicationPoolIdentity в качестве удостоверения и с loadUserProfile=true, при попытке загрузить приложение в браузере произошло бы следующее:

  • A number of errors in the Windows Event Log (both System and Application types):
    • Warning event 1509 - Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm to location \\?\C:\Users\[Name of App Pool]\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm. This error may be caused by network problems or insufficient security rights.
    • Событие ошибки 1511 — Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.
    • Еще одно предупреждение 1509 года
    • Событие ошибки 1500 — Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, and that your network is functioning correctly. DETAIL - Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
    • 5 предупреждений о событии 5022 — The Windows Process Activation Service failed to create a worker process for the application pool '[App Pool Name]'. The data field contains the error number.
    • В итоге ошибка 5002 - Application pool '[App Pool Name]' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
  • Пул приложений закрыт, как говорит ошибка 5002
  • "Ошибка 503. Сервис недоступен." затем отображается в браузере. Любые дальнейшие запросы удовлетворяются тем же самым (что имеет смысл, поскольку пул приложений отключен).

Я видел общее «исправление» для этого здесь и здесь, которые в основном говорят, чтобы отключить загрузку профиля. Да, это убирает проблему, но не устраняет первопричину. Я знаю, что с этой конфигурацией можно работать, поскольку у меня есть машина с Windows 2012, которая отлично поддерживает эту конфигурацию. В этом случае нажатие на приложение с новым пулом приложений, установленным на ApplicationPoolIdentity и loadUserProfile=true, фактически создает новый профиль пользователя (я могу наблюдать, как папка профилей создается в C:\Users), и приложение работает весело. Что еще хуже, я знаю, что эта конфигурация работала на проблемной машине всего несколько недель назад. У меня есть несколько созданных мной пулов приложений, которые имеют свои собственные профили и папку в папке C:\Users. Эти пулы приложений СЕЙЧАС прекрасно работают с настройками ApplicationPoolIdentity и loadUserProfile=true. Просто НОВЫЕ пулы приложений отказываются запускаться и загружать профиль пользователя.

Есть ли у кого-нибудь понимание того, что может происходить?

Изменить: я прочитал нижнюю часть эта недавняя статья. Это немного противоречиво, говоря, что настройку можно включить, но также говорит:

Только стандартные пулы приложений (DefaultAppPool и Classic .NET AppPool) имеют профили пользователей на диске. Профиль пользователя не создается, если администратор создает новый пул приложений.

Однако при желании вы можете настроить пулы приложений IIS для загрузки профиля пользователя, задав для атрибута LoadUserProfile значение «true».

Я очень смущен.


person Chris Simmons    schedule 14.04.2014    source источник
comment
Я испытываю точно то же самое. По крайней мере, теперь мне не нужно печатать все это сейчас, так что спасибо. Я не создавал новый AppPool в течение нескольких недель, но подозреваю, что большая партия недавно выпущенных обновлений безопасности может иметь к этому какое-то отношение.   -  person ulty4life    schedule 16.04.2014
comment
@ulty4life, я тоже подумал об этом: последние обновления безопасности, учитывая, что такое поведение, похоже, появилось недавно.   -  person Chris Simmons    schedule 17.04.2014


Ответы (1)


Файл SQM, указанный в предупреждении журнала событий, был создан обновлением Windows или Visual Studio. Когда служба профилей пользователей или пул приложений запускаются и пытаются создать новый профиль, они пытаются скопировать файл в профиль. Для копирования файла SQM требуются права администратора. У службы профилей пользователей или пула приложений недостаточно прав для копирования файла, возникает ошибка, и профиль пользователя не создается. Без профиля пользователя пул приложений не может работать, так как у него нет изолированного безопасного места для хранения данных.

Удалите или удалите файл SQM из исходного каталога, и профиль пользователя будет успешно создан при инициализации пула приложений. Вы также можете изменить разрешения для файла SQM, но я не уверен, какими должны быть соответствующие разрешения. Служба профилей пользователей работает как «Учетная запись LocalSystem». См. его документацию. для получения информации о разрешении. Мне неясно, используется ли для выполнения операции копирования сам идентификатор пула приложений или учетная запись локальной системы.

Если вы удалите файл из исходного каталога, вы также можете вручную скопировать файл туда, куда он пытался попасть.

После очень краткого поиска того, что такое SQM, кажется, что он традиционно используется как «управление качеством обслуживания». Обычно он будет содержать информацию для отправки авторам программы с метриками, журналами или чем-то подобным. Я не знаю, так ли это с этим файлом или нет. Так что не кажется важным включать его в новый профиль.

Я не могу принять этот ответ на 100%, так как меня предупредил комментарий, прикрепленный к ответу на какой-то другой вопрос. Я не могу найти ссылку на него в 50 вкладках браузера, открытых для устранения этой неполадки. Этот парень заслуживает благодарности, потому что я считаю, что это гораздо лучшее решение, чем ставить под угрозу безопасность сервера путем объединения всех ресурсов, как в IIS 6.

P.S. Как отмечено в вашем комментарии, that-prevent-new-local-user-accounts-to-login-to-windows" rel="nofollow">отчет об ошибке был отправлен.

person ulty4life    schedule 16.04.2014
comment
Я ценю ваш ответ, но меня беспокоит не столько материал SQM, сколько основная проблема, заключающаяся в том, что профиль пользователя не может быть создан для пользователя пула приложений, если он еще не существует. - person Chris Simmons; 17.04.2014
comment
Когда новый пул приложений создается с виртуальным удостоверением, профиль пользователя не создается до тех пор, пока пул приложений не будет инициализирован в первый раз. Обычно это означает присоединение к нему приложения и инициализацию приложения. Отказ в разрешении на операцию копирования файла SQM препятствует созданию профиля, поскольку это вызывает ошибку. Возможно, я не понимаю, что вы имеете в виду, не может быть создано, если оно еще не существует. - person ulty4life; 17.04.2014
comment
Я просто пришел к этому не с той стороны. Я думал, что файл SQM был симптомом проблемы, но теперь я вижу, что это причина. Это права доступа к самому файлу, которые просто нужно исправить. См. profile-cannot-be-load-for-any-new-accounts?forum=w8itprogeneral" rel="nofollow noreferrer">это. Если вы согласны, отредактируйте свой ответ, и я приму его. - person Chris Simmons; 17.04.2014
comment
Существует отчет об ошибке со ссылкой на подозреваемый причинное обновление статьи базы знаний, недавнее обновление VS 2013. - person Chris Simmons; 17.04.2014
comment
Я обновил свой ответ, чтобы прояснить причину проблемы, и добавил некоторые подробности. - person ulty4life; 18.04.2014