ApplicationPoolIdentity環境変数IIS


11

ApplicationPoolIdentity仮想アカウントの環境変数を設定することはできますか?これに関するドキュメントは実際には存在しません。

そのアプリケーションプールだけに環境変数を注入したいと思います。人々がこれを行うためにアプリプール用のユニークなアカウントを作成するのは事実のようですが、仮想アカウントについて読んだことは、そうする必要がないことを意味しますが、これを行う方法についてはまったく説明しません。


使用しているIISのバージョンは何ですか?
オーストラリアの

回答:


12

はい!(IIS 7.0以降を使用している場合)loadUserProfileアプリケーションプールIDの設定をtrueに設定する必要があります。これで、アプリケーションプールIDのユーザープロファイルが\ Users \ [アプリケーションプール名]になります。その後、このプロファイルを編集して、カスタム環境変数などを持つことができます。

IIS 7ヒント#3アプリケーションプールIDのユーザープロファイルをロードできるようになりました

編集:あなたのコメントのために、私はこれを(IIS 10で)テストしましたが、ここでは間違いなく機能しています。

  1. IISで、という名前の新しいアプリケーションプールを作成しました Testing
  2. [ユーザープロファイルの読み込み]を[アプリケーションプールのデフォルト]に変更しました True
  3. テスト、アプリケーションプールを開始しました
  4. ユーザープロファイルが\ Users \ Testingで作成されたかどうかを確認しました:no
  5. Webサイトをアプリケーションプールに追加し、Webサイトを再起動しました
  6. ユーザープロファイルが作成されたかどうかをもう一度確認しました。
  7. ブラウザでWebサイトに移動したため、アプリケーションプールが読み込まれます
  8. ユーザープロファイルが作成されたかどうかを確認するために3回目のチェックを行いました:はい
  9. ユーザーレジストリがにロードされているかどうかを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)。
  10. HKU\[SID]\Environmentsキーの存在を確認しました。キーが存在し、値TEMPを持ち、をTMP指し%USERPROFILE%\AppData\Local\Tempます。

ページをロードしなければならなかった理由は、Start Modefrom OnDemandを変更するのを忘れたためAlwaysRunningです。にStart Mode設定して別のアプリケーションプールをAlwaysRunning作成すると、Webサイトをアプリケーションプールに割り当ててWebサイトを再起動したときにユーザープロファイルが作成されました。

アプリケーションプールIDに関するより有用な情報: アプリケーションプールID


カスタム環境変数のビットを拡張して、それらをどのように設定することができるのでしょうか?
-tuespetre

素晴らしい質問です!それはここで
オースティン

仮想アカウントのHKEY_USERSにSIDがありません。:(私もキーを作成することはできません。。
ボーTrepp

アカウントにSIDがあるかどうかをどのように確認していますか?プロファイルは下に作成されてい\Usersますか?
オーストラリアの
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.