ApplicationPoolIdentity 环境变量 IIS

ApplicationPoolIdentity 环境变量 IIS

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

我想为该应用程序池注入一个环境变量。似乎人们会为应用程序池创建唯一的帐户来执行此操作,但我读到的有关虚拟帐户的内容表明我不必这样做,但根本没有解释如何执行此操作。

答案1

是的!(只要您使用的是 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\hivelist是否已加载,并且已加载,带有 SID )NTUSER.DAT[...]\Users\Testing\NTUSER.DATS-1-5-82-454248297-962034619-2554273252-202815998-4121577539
  10. 我检查了密钥是否存在HKEY_Users\[SID]\Environments,它存在,并且具有值TEMPTMP指向%USERPROFILE%\AppData\Local\Temp

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

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

相关内容