ApplicationPoolIdentity仮想アカウントの環境変数を設定することは可能ですか?これに関するドキュメントは実際には存在しません。
そのアプリケーションプールだけに環境変数を注入したいと思います。これを行うためにアプリプールに固有のアカウントを作成する人がいるようですが、仮想アカウントについて読んだことは、私がそうする必要がないことを意味しますが、その方法についてはまったく説明していません。
はい! (IIS 7.0+)を使用している限り)アプリケーションプールIDのloadUserProfile
設定をtrueに設定する必要があります。これで、アプリケーションプールIDにユーザーが追加されます。\Users\[アプリケーションプール名]の下のプロファイル。このプロファイルを編集して、カスタム環境変数などを設定できます。
IIS 7ヒント#3これで、アプリケーションプールIDのユーザープロファイルを読み込むことができます
編集:あなたのコメントのため、私はこれをテストしました(IIS 10))、そしてそれは間違いなくここで機能しています。
Testing
という名前の新しいアプリケーションプールを作成しましたTrue
に設定しましたHKEY_USERS
に読み込まれているかどうかを確認しました(HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist
をチェックして、NTUSER.DAT
にある[...]\Users\Testing\NTUSER.DAT
ファイルが読み込まれているかどうかを確認しました。 SID S-1-5-82-454248297-962034619-2554273252-202815998-4121577539
)HKU\[SID]\Environments
キーの存在を確認したところ、存在しており、TEMP
とTMP
の値が%USERPROFILE%\AppData\Local\Temp
を指しています。ページの読み込みを行う必要があったのは、Start Mode
をOnDemand
からAlwaysRunning
に変更するのを忘れたためです。 Start Mode
をAlwaysRunning
に設定して別のアプリケーションプールを作成すると、Webサイトをアプリケーションプールに割り当ててWebサイトを再起動したときにユーザープロファイルが作成されました。
アプリケーションプールIDに関するより有用な情報: アプリケーションプールID