ApplicationPoolIdentity环境variablesIIS

是否可以为ApplicationPoolIdentity虚拟帐户设置环境variables? 关于这个的文件实际上是不存在的。

我想为该应用程序池注入一个环境variables。 这似乎是人为应用程序池创build独特帐户的情况下做到这一点,但是我所读到的关于虚拟帐户的意思是我不需要,但是根本不解释如何做到这一点。

是! (只要您使用IIS 7.0+)您需要将Application Pool Identity的loadUserProfile设置为true。 应用程序池标识现在将在\ Users \ [Application Pool Name]下具有用户configuration文件。 然后你可以编辑这个configuration文件来定制环境variables等

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

编辑:我只是testing了这个(在IIS 10中),因为你的评论,这绝对是在这里工作。

  1. 在IIS中,我创build了一个名为Testing的新应用程序池
  2. 我更改了“应用程序池默认值”以将“将用户configuration文件”设置为“ True
  3. 我开始了应用程序池testing
  4. 我检查了用户configuration文件是否创build在\ Users \ Testing:no
  5. 我添加了一个网站到应用程序池并重新启动了该网站
  6. 我再次检查,看是否创build用户configuration文件:仍然没有
  7. 我导航到我的浏览器的网站,所以应用程序池将加载
  8. 我检查了第三次,看是否创build用户configuration文件:是的
  9. 我检查了用户registry是否加载到HKEY_USERS (通过检查HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist来查看位于[...]\Users\Testing\NTUSER.DATNTUSER.DAT文件是否已加载,SID为S-1-5-82-454248297-962034619-2554273252-202815998-4121577539
  10. 我检查了HKU\[SID]\Environments密钥的存在,它的值是TEMPTMP指向%USERPROFILE%\AppData\Local\Temp

我不得不做一个页面加载的原因是因为我忘了将Start ModeOnDemand更改为AlwaysRunning 。 当我将“ Start Mode设置为“ AlwaysRunning创build另一个应用程序池时,用户configuration文件是在将网站分配给应用程序池并重新启动网站时创build的。

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