ApplicationPoolIdentity环境变量IIS


11

是否可以为ApplicationPoolIdentity虚拟帐户设置环境变量?关于此的文档实际上是不存在的。

我只想为该应用程序池注入一个环境变量。人们似乎为应用程序池创建了唯一帐户来执行此操作,但是我所读到的有关虚拟帐户的信息意味着我不必这样做,但根本不解释如何执行此操作。


您正在使用哪个版本的IIS?
奥斯丁2015年

Answers:


12

是! (只要您使用的是IIS 7.0+),您需要将loadUserProfile“应用程序池标识” 的设置设置为true。现在,应用程序池标识将在\ Users \ [应用程序池名称]下具有一个用户配置文件。然后,您可以编辑此配置文件以具有自定义环境变量等。

IIS 7提示#3现在可以加载应用程序池标识的用户配置文件

编辑:由于您的评论,我刚刚对此进行了测试(在IIS 10中),它肯定在这里起作用。

  1. 在IIS中,我创建了一个新的应用程序池,名为 Testing
  2. 我更改了“应用程序池默认值”以将“加载用户配置文件”设置为 True
  3. 我启动了应用程序池,进行测试
  4. 我检查是否在\ Users \ Testing中创建了用户配置文件:否
  5. 我向应用程序池添加了一个网站,然后重新启动了该网站
  6. 我再次检查是否创建了用户个人资料:仍然没有
  7. 我在浏览器中导航到该网站,因此将加载应用程序池
  8. 我第三次检查是否创建了用户配置文件:是
  9. 我检查了是否在中加载了用户注册表HKEY_USERS(通过检查位于HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelistNTUSER.DAT文件是否[...]\Users\Testing\NTUSER.DAT已使用SID加载了S-1-5-82-454248297-962034619-2554273252-202815998-4121577539)。
  10. 我检查了HKU\[SID]\Environments密钥的存在,存在,是否有值TEMPTMP指向%USERPROFILE%\AppData\Local\Temp

我必须执行页面加载的原因是因为我忘记将Start Modefrom 更改OnDemandAlwaysRunning。当我创建另一个Start Mode设置AlwaysRunning为的应用程序池时,将网站分配给应用程序池并重新启动网站时,将创建用户配置文件。

有关应用程序池标识的更多有用信息: 应用程序池标识


您是否可以扩展自定义环境变量位,以及如何设置它们?
tuespetre

很好的问题!在这里
2015年

我的虚拟帐户在HKEY_USERS中没有任何SID。。:(我甚至不能创造的关键所在。
博Trepp

您如何检查该帐户是否有SID?配置文件是在下创建的\Users吗?
奥斯丁2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.