現在オフラインです。再接続するためにインターネットの接続を待っています

[FIX] ドメイン コントローラでデフォルトの ASPNET アカウントを使用すると ASP.NET が動作しない

この記事は、以前は次の ID で公開されていました: JP315158
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。
現象
ドメイン コントローラまたはバックアップ ドメイン コントローラに Microsoft Visual Studio .NET または Microsoft .NET Framework をインストールした後、ASP.NET アプリケーションを実行すると、ブラウザに次のエラー メッセージが表示されます。
サーバー アプリケーションは現在使用できません。

この Web サーバーでアクセスしようとしている Web アプリケーションは現在使用できません。

ブラウザの [更新] ボタンをクリックして再試行してください。
さらに、次のイベントがシステムのアプリケーション イベント ログに出力されます。
構成ファイルの processModel セクションで指定されたユーザー名およびパスワードが無効なため、aspnet_wp.exe を起動できませんでした。
aspnet_wp.exe を開始することができませんでした。
失敗の HRESULT : 80004005
この問題は、インターネット インフォメーション サービス (IIS) 5.0 以降で発生します。
原因
ASP.NET では、出荷時のデフォルトの環境をより安全にするために、デフォルトで権限の低いアカウント (ASPNET という名前のローカル コンピュータ アカウント) を使用してワーカー プロセス (Aspnet_wp.exe) を実行します。しかし、ドメイン コントローラまたはバックアップ ドメイン コントローラでは、ユーザー アカウントはすべてドメイン アカウントであり、ローカル コンピュータ アカウントではありません。そのため、"localmachinename\ASPNET" という名前のローカル アカウントが見つからないため、Aspnet_wp.exe を起動できません。ドメイン コントローラ上の有効なユーザー アカウントを指定するには、Machine.config ファイルの <processModel> セクションで明示的にアカウントを指定するか、SYSTEM アカウントを使用する必要があります。

: ページを参照する前に ([開始] をクリックして) デバッグを行う場合も、同じ問題が発生する可能性があります。
解決方法
この問題を回避するには、次のいずれかの方法を使用します。
  • 適切なアクセス許可が割り当てられた権限の低いアカウントを作成し、そのアカウントを使用するように Machine.config ファイルの <processModel> セクションを構成します。
  • Machine.config ファイルの <processModel> セクションで、userName 属性を SYSTEM に設定します。
  • Administrator アカウントを使用するように Machine.config ファイルの <processModel> セクションを構成します。
: ASP.NET アプリケーションを SYSTEM アカウントまたは Administrator アカウントで実行できるようにすると、セキュリティに深刻な影響を及ぼします。上記の回避策のいずれかを使用する場合、Aspnet_wp.exe プロセスで実行されるコードから、ドメイン コントローラやドメインの設定へのアクセスが許可されます。Aspnet_wp.exe プロセスから起動される実行可能ファイルは同じコンテキストで動作するため、実行可能ファイルからもドメイン コントローラへのアクセスが可能になります。

そのため、1 番目の回避策を使用することをお勧めします。1 番目の回避策を使用するには、次の手順を実行します。
  1. コンピュータに ASPUSER という名前のユーザー アカウントを作成し、このアカウントを Users グループに追加します。

    : .NET Framework によって作成された ASPNET アカウントのパスワードを変更し、ASPUSER の代わりに ASPNET を使用することもできます。ASPNET の変更後のパスワードは、この手順の中で <processModel> セクションに追加します。
  2. ASPUSER アカウントまたは ASPNET アカウントに "バッチ ジョブとしてログオン" ユーザー権利を付与します。この変更が [ローカル セキュリティ ポリシー] の設定に表示されていることを確認します。

    : このアカウントに "バッチ ジョブとしてログオン" ユーザー権利を付与するには、(コントロール パネルの [管理ツール] にある) 次の各セキュリティ ポリシーで、このユーザー権利を付与することが必要な場合があります。

    • ドメイン コントローラ セキュリティ ポリシー
    • ドメイン セキュリティ ポリシー
    • ローカル セキュリティ ポリシー

    : この変更を有効にするために、サーバーの再起動が必要な場合があります。
  3. ASPUSER アカウントまたは ASPNET アカウントに、Aspnet_wp.exe プロセスの起動および ASP.NET ページの処理に必要なすべてのディレクトリおよびファイルへのアクセス許可が付与されていることを確認します。このアカウントに付与する必要があるアクセス許可の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    317012 ASP.NET のプロセス ID と要求 ID
  4. Machine.config ファイルを開きます。このファイルのパスは、%Systemroot%\Microsoft.NET\Framework\v1.0.3705\CONFIG です。
  5. Machine.config ファイルの <processModel> セクションにある userName および password 属性を、手順 1. で作成したアカウント名およびパスワードに変更します。たとえば、次のように変更します。
    userName="DomainName\ASPUSER" password="ASPUSERpassword"
  6. 変更を行った Machine.config ファイルを保存します。
状況
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。この問題は ASP.NET (.NET Framework に組み込まれている) 1.1 で修正済みです。
関連情報
ASP.NET セキュリティの関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
306590 ASP.NET のセキュリティの概要
関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
316989 ASP.NET から SQL Server への信頼されたデータ接続を作成するとエラー メッセージ "ユーザー 'AccountName' はログインできませんでした" が表示される
329290 ASP.NET ユーティリティを使用して資格情報およびセッション状態の接続文字列を暗号化する方法
317012 ASP.NET のプロセス ID と要求 ID
kbreadme
プロパティ

文書番号:315158 - 最終更新日: 02/04/2008 06:16:30 - リビジョン: 5.4

Microsoft ASP.NET 1.0, Microsoft Internet Information Services 5.0, Microsoft Mobile Internet Toolkit 1.0

  • kbproductlink kbfix kbbug kbconfig kbhttpruntime kbreadme kbsecurity KB315158
フィードバック
tml>>mp;t=">