Variáveis ​​de ambiente ApplicationPoolIdentity IIS

11

É possível definir variáveis ​​de ambiente para contas virtuais ApplicationPoolIdentity? A documentação sobre isso é praticamente inexistente.

Gostaria de injetar uma variável de ambiente apenas para esse pool de aplicativos. Parece que as pessoas criam contas exclusivas para o pool de aplicativos fazer isso, mas o que eu li sobre contas virtuais implica que eu não precisaria, mas não explica nada como fazer isso.

Beau Trepp
fonte
Qual versão do IIS você está usando?
austinian 22/09/2015

Respostas:

12

Sim! (Enquanto você estiver usando o IIS 7.0 ou superior) Você precisa definir a loadUserProfileconfiguração para a Identidade do pool de aplicativos como verdadeira. A identidade do pool de aplicativos agora terá um perfil de usuário em \ Users \ [Nome do Pool de Aplicativos]. Você pode editar esse perfil para ter variáveis ​​de ambiente personalizadas etc.

Dica 7 do IIS 7 # 3 Agora você pode carregar o perfil de usuário da identidade do pool de aplicativos

Edição: Acabei de testar isso (no IIS 10), por causa do seu comentário, e ele definitivamente está funcionando aqui.

  1. No IIS, criei um novo pool de aplicativos chamado Testing
  2. Alterei os padrões do pool de aplicativos para definir Load User Profile como True
  3. Comecei o pool de aplicativos, testando
  4. Eu verifiquei se o perfil do usuário foi criado em \ Users \ Testing: no
  5. Adicionei um site ao pool de aplicativos e reiniciei o site
  6. Verifiquei novamente para ver se o perfil do usuário foi criado: ainda não
  7. Naveguei para o site no meu navegador, para carregar o pool de aplicativos
  8. Eu verifiquei uma terceira vez para ver se o perfil do usuário foi criado: sim
  9. Eu verifiquei se o registro do usuário estava carregado HKEY_USERS, (verificando HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelistse o NTUSER.DATarquivo localizado em [...]\Users\Testing\NTUSER.DATfoi carregado e estava com SID S-1-5-82-454248297-962034619-2554273252-202815998-4121577539)
  10. Eu verifiquei a presença da HKU\[SID]\Environmentschave, ela está presente, tem valores TEMPe TMPaponta para %USERPROFILE%\AppData\Local\Temp.

A razão pela qual tive que carregar uma página é porque esqueci de mudar Start Modede de OnDemandpara AlwaysRunning. Quando criei outro pool de aplicativos com Start Modedefinido como AlwaysRunning, o perfil do usuário foi criado quando atribuí um site ao pool de aplicativos e reiniciei o site.

Informações mais úteis sobre identidades de pool de aplicativos : Identidades de pool de aplicativos

austiniano
fonte
Você poderia expandir o bit de variáveis ​​de ambiente personalizadas e como as definiria?
tuespetre
Excelente pergunta! Isso foi respondido aqui
austinian
Minhas contas virtuais não têm SIDs em HKEY_USERS. :(. Não consigo nem criar a chave.
Beau Trepp
Como você está verificando se há um SID para a conta? O perfil é criado em \Users?
austinian 25/09/15