ApplicationPoolIdentity Variáveis de ambiente IIS

8

É 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 únicas para o pool de aplicativos para fazer isso, mas o que eu li sobre contas virtuais implica que eu não precisaria, mas não explica como fazer isso.

    
por Beau Trepp 07.08.2015 / 05:11

1 resposta

9

Sim! (Contanto que você esteja usando o IIS 7.0+) É necessário definir a configuração loadUserProfile da identidade do pool de aplicativos como true. 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.

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

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

  1. No IIS, criei um novo pool de aplicativos chamado Testing
  2. Alterei os Padrões do Pool de Aplicativos para definir Carregar Perfil de Usuário para True
  3. iniciei o pool de aplicativos, testando
  4. Eu verifiquei se o perfil do usuário foi criado em \ Usuários \ Teste: não
  5. Adicionei um site ao Pool de aplicativos e reiniciei o site
  6. Eu verifiquei novamente para ver se o perfil do usuário foi criado: ainda não
  7. naveguei para o website no meu navegador para que o pool de aplicativos fosse carregado
  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 foi carregado em HKEY_USERS , (verificando HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist para ver se o arquivo NTUSER.DAT localizado em [...]\Users\Testing\NTUSER.DAT foi carregado, e foi, com SID S-1-5-82-454248297-962034619-2554273252-202815998-4121577539 )
  10. Eu verifiquei a presença da chave HKU\[SID]\Environments , ela está presente e tem os valores TEMP e TMP apontando para %USERPROFILE%\AppData\Local\Temp .

O motivo pelo qual tive que fazer um carregamento de página é porque me esqueci de alterar o Start Mode de OnDemand para AlwaysRunning . Quando criei outro pool de aplicativos com Start Mode definido como AlwaysRunning , o perfil de usuário foi criado quando atribuí um site ao pool de aplicativos e reiniciei o site.

Mais informações úteis sobre identidades do pool de aplicativos: Identidades do pool de aplicativos

    
por 07.08.2015 / 06:03