Variables d'environnement ApplicationPoolIdentity IIS

11

Est-il possible de définir des variables d'environnement pour les comptes virtuels ApplicationPoolIdentity? La documentation à ce sujet est pratiquement inexistante.

Je voudrais injecter une variable d'environnement uniquement pour ce pool d'applications. Il semble que les gens créent des comptes uniques pour le pool d'applications pour ce faire, mais ce que j'ai lu sur les comptes virtuels implique que je n'aurais pas à le faire, mais n'explique pas du tout comment le faire.

Beau Trepp
la source
Quelle version d'IIS utilisez-vous?
Austin

Réponses:

12

Oui! (Tant que vous utilisez IIS 7.0+), vous devez définir le loadUserProfileparamètre pour l'identité du pool d'applications sur true. L'identité du pool d'applications aura désormais un profil utilisateur sous \ Users \ [nom du pool d'applications]. Vous pouvez ensuite modifier ce profil pour avoir des variables d'environnement personnalisées, etc.

IIS 7 Astuce # 3 Vous pouvez maintenant charger le profil utilisateur de l'identité du pool d'applications

EDIT: Je viens de tester cela (dans IIS 10), à cause de votre commentaire, et cela fonctionne vraiment ici.

  1. Dans IIS, j'ai créé un nouveau pool d'applications nommé Testing
  2. J'ai modifié les valeurs par défaut du pool d'applications pour définir Charger le profil utilisateur sur True
  3. J'ai commencé le pool d'applications, en testant
  4. J'ai vérifié si le profil utilisateur a été créé dans \ Users \ Testing: non
  5. J'ai ajouté un site Web au pool d'applications et redémarré le site Web
  6. J'ai vérifié à nouveau pour voir si le profil utilisateur a été créé: toujours non
  7. J'ai accédé au site Web dans mon navigateur, de sorte que le pool d'applications se charge
  8. J'ai vérifié une troisième fois pour voir si le profil utilisateur a été créé: oui
  9. J'ai vérifié si le registre d'utilisateurs était chargé HKEY_USERS, (en vérifiant HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelistsi le NTUSER.DATfichier situé à [...]\Users\Testing\NTUSER.DATétait chargé, et il l'était, avec SID S-1-5-82-454248297-962034619-2554273252-202815998-4121577539)
  10. J'ai vérifié la présence de la HKU\[SID]\Environmentsclé, elle est présente et a des valeurs TEMPet TMPpointant vers %USERPROFILE%\AppData\Local\Temp.

La raison pour laquelle je devais faire une charge de page est parce que j'oublié de changer le Start Modede OnDemandpour AlwaysRunning. Lorsque j'ai créé un autre pool d'applications avec Start Modedéfini sur AlwaysRunning, le profil utilisateur a été créé lorsque j'ai affecté un site Web au pool d'applications et redémarré le site Web.

Plus d'informations utiles sur les identités de pool d'applications : Identités de pool d'applications

austinien
la source
Pourriez-vous être en mesure de développer le bit de variables d'environnement personnalisé et comment les définir?
tuespetre
Excellente question! Cela a été répondu ici
austinian
Mes comptes virtuels n'ont pas de SID dans HKEY_USERS. :(. Je ne peux même pas créer la clé.
Beau Trepp
Comment vérifiez-vous s'il existe un SID pour le compte? Le profil est-il créé sous \Users?
2015