4

ここ数週間、開発用ワークステーション (Windows 8.1) で何かが発生したため、"Load User Profile" 設定を False にしてアプリケーション プールを実行するか、ID を ApplicationPoolIdentity に設定して実行しないようにする必要があります。ApplicationPoolIdentity を ID として使用し、loadUserProfile=true を指定して新しいアプリ プールを作成する場合、ブラウザーでアプリケーションを読み込もうとすると、次のようになります。

  • Windows イベント ログ (システム タイプとアプリケーション タイプの両方) の多数のエラー:
    • 警告イベント 1509 -Windows cannot copy file \\?\C:\Users\Default\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm to location \\?\C:\Users\[Name of App Pool]\AppData\Local\Microsoft\VSCommon\12.0\SQM\sqmdata-7236-039-00000.sqm. This error may be caused by network problems or insufficient security rights.
    • エラー イベント 1511 -Windows cannot find the local profile and is logging you on with a temporary profile. Changes you make to this profile will be lost when you log off.
    • 別の 1509 警告
    • エラー イベント 1500 -Windows cannot log you on because your profile cannot be loaded. Check that you are connected to the network, and that your network is functioning correctly. DETAIL - Only part of a ReadProcessMemory or WriteProcessMemory request was completed.
    • 5 x イベント 5022 警告 -The Windows Process Activation Service failed to create a worker process for the application pool '[App Pool Name]'. The data field contains the error number.
    • 最後にエラー 5002 -Application pool '[App Pool Name]' is being automatically disabled due to a series of failures in the process(es) serving that application pool.
  • エラー5002が言ったように、アプリケーションプールはシャットダウンされています
  • "Httpエラー503サービスを利用できません。" その後、ブラウザに表示されます。それ以降の要求はすべて同じで満たされます (アプリ プールが停止されているため、これは理にかなっています)。

ここここで、基本的にプロファイルの読み込みをオフにするという一般的な「修正」を見てきました。はい、問題は解決しますが、根本的な原因にはなりません。私は、構成を問題なくサポートする Windows 2012 マシンを持っているので、この構成で実行できることを知っています。この場合、新しいアプリ プールが ApplicationPoolIdentity に設定され、loadUserProfile=true に設定されたアプリをヒットすると、実際に新しいユーザー プロファイルが作成され (プロファイル フォルダーが で作成されるのを見ることができますC:\Users)、アプリは楽しく実行されます。さらに悪いことに、ほんの数週間前にこの構成が問題のマシンで機能したことを私は知っています。独自のプロファイルとフォルダーの下に作成した多数のアプリケーション プールがあります。C:\Usersフォルダ。これらのアプリケーション プールは、ApplicationPoolIdentity および loadUserProfile=true 設定で問題なく動作します。新しいアプリ プールがユーザー プロファイルの実行と読み込みを拒否するだけです。

何が起こっているのかについての洞察を持っている人はいますか?

編集:この最近の記事の一番下を読みました。設定をオンにできるというのは少し矛盾していますが、次のようにも述べています。

標準アプリケーション プール (DefaultAppPool および Classic .NET AppPool) のみがディスク上にユーザー プロファイルを持ちます。管理者が新しいアプリケーション プールを作成した場合、ユーザー プロファイルは作成されません。

ただし、必要に応じて、LoadUserProfile 属性を「true」に設定することで、ユーザー プロファイルをロードするように IIS アプリケーション プールを構成できます。

私はとても混乱しています。

4

1 に答える 1

4

イベント ログの警告に記載されている SQM ファイルは、Windows または Visual Studio の更新によって作成されました。ユーザー プロファイル サービスまたはアプリケーション プールが実行され、新しいプロファイルを作成しようとすると、ファイルがプロファイルにコピーされます。SQM ファイルをコピーするには、管理者権限が必要です。ユーザー プロファイル サービスまたはアプリケーション プールに、ファイルをコピーするための十分なアクセス許可がない場合、エラーが生成され、ユーザー プロファイルは作成されません。ユーザー プロファイルがないと、データを格納する分離された安全な場所がないため、アプリケーション プールを実行できません。

ソース ディレクトリから SQM ファイルを削除または削除すると、アプリ プールが初期化されるときにユーザー プロファイルが正常に作成されます。SQM ファイルのアクセス許可を変更することもできますが、適切なアクセス許可がどうあるべきかわかりません。ユーザー プロファイル サービスは、"LocalSystem アカウント" として実行されます。許可情報については、そのドキュメントを参照してください。コピー操作の実行にアプリケーション プール ID 自体が使用されているのか、それともローカル システム アカウントが使用されているのかは不明です。

ソース ディレクトリからファイルを削除する場合は、移動しようとしていた場所にファイルを手動でコピーすることもできます。

SQM とは何かについて簡単に調べてみると、伝統的に「サービス品質管理」として使用されているようです。通常、メトリクス、ログなどでプログラムの作成者に送り返す情報が含まれます。これがこのファイルに当てはまるかどうかはわかりません。したがって、新しいプロファイルに含めることは重要ではないようです。

他の質問の回答に添付されたコメントからヒントを得たので、この回答を 100% 信用することはできません。これをトラブルシューティングするために開いている 50 のブラウザー タブに、そのリンクが見つかりません。IIS 6 のようにすべてのリソースを一緒にプールしてサーバーのセキュリティを損なうよりも、これははるかに優れたソリューションであると私は信じているからです。

PS コメントに記載されているように、バグレポートが提出されました。

于 2014-04-16T04:18:52.010 に答える