IIS 8(Windows 2012)でApplicationPool Identityとしてドメインユーザーアカウントを設定しようとしています。IIS管理コンソールを使用してこれを試行すると、常にエラー:
値が期待される範囲内にありません。
Appcmd.exeを使用してIDを設定しようとすると、ユーザー名とパスワードを設定するコマンド、またはパスワードのみを設定するコマンドの両方で失敗します。ユーザー名の設定は問題ありません。
ユーザー名とパスワードの両方を設定しようとしています[FAIL]:
>appcmd set config /section:applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.userName:DOMAIN\Username /[name='AppPoolName'].processModel.password:P4ssW0rd
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
ERROR ( hresult:80070057, message:Failed to commit configuration changes. The parameter is incorrect. )
ユーザー名のみを設定しようとしています[成功]:
>appcmd set config /section:applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.userName:DOMAIN\Username
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
ユーザー名の設定に成功した後でパスワードを設定しようとしています[FAIL]:
>appcmd set config /section:applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.password:P4ssW0rd
Applied configuration changes to section "system.applicationHost/applicationPools" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"
ERROR ( hresult:80070057, message:Failed to commit configuration changes. The parameter is incorrect. )
ドメインユーザーをIIS_IUSRSグループに追加し、「サービスとしてログオン」できるようにしました。
私が間違っている可能性のある提案はありますか?
ごとに AD =なしでネットワーク共有にアクセスできるように、IIS Webアプリをどのように設定しますか?
私は同じ問題を抱えていましたが、パスワードを平文で入力することができなかったので、もう少し掘り下げてこの記事を見つけました: Custom IIS App Pool Identity:Value does not within期待される範囲
診断の重要なステップは、適切なイベントを調べることです。
これを解決する方法を見つけるために、私はイベントビューアに行きました。アプリケーションログには何もなかったので、アプリケーションとサービスのログ=> Microsoft => Windows => IIS-Configurationに移動しました。ここのログはデフォルトで無効になっているため、有効にする必要があります。 (これを行うには、ログを右クリックし、[ログを有効にする]を選択します。)有効にしたら、IDを設定する試みを再実行し、ビュー([アクション]ウィンドウまたはF5)を更新してください!エラーについて。結果には2つのエラー(イベントID 42および43)がありました。
私は記事と同じイベントエラーがありました:
ID 42: '\?\ C:\ windows\system32\inetsrv\config\applicationHost.config'の 'IISWASOnlyAesProvider'暗号化プロバイダーの初期化に失敗しました。設定を確認してください。
ID 43:属性 'Microsoft.ApplicationHost.AesProtectedConfigurationProvider'の暗号化に失敗しました。
それから私は次のことをしました:
c:\windows\System32\inetsrv\config
に)<configProtectedData><providers>
セクションを古いセクションに置き換えます(c:\windows\System32\inetsrv\config\applicationHost.config
内)次に、カスタムIDをアプリケーションプールに再度設定できます。
別のサーバーから秘密キーを取得し、最初に別のサーバーからキーをエクスポートすることで、このサーバーにインポートすることができますIIS機能するサーバー:C:\ Windows\Microsoft.NET\Framework64\v4 .0.30319> aspnet_regiis -px "iisWasKey" "C:\ temp\AESKeys.xml" -pri
次に、壊れたマシンでそのキーを復元できます(他のサーバーにキーをコピーして同じ場所に配置します)。C:\ Windows\Microsoft.NET\Framework64\v4.0.30319> aspnet_regiis -pi "iisWasKey" "C :\ temp\AESKeys.xml "
3番目に、c:\ windows\system32\inetsrv\applicationhost.configを編集し、既知の作業サーバーのconfigprotecteddataセクションを使用して、このファイル内の既存のサーバーの代わりに使用します。
このセクションのようになります。
問題がなければ、アプリケーションプールを作成してテストし、詳細設定に移動して、DOMAIN\userまたは必要な他のユーザーとして実行します。
トニー・トラス
/section:applicationPools
を/section:system.applicationHost/applicationPools
に変更し、末尾に/commit:apphost
を追加してみてください
appcmd set config /section:system.applicationHost/applicationPools /[name='AppPoolName'].processModel.identityType:SpecificUser /[name='AppPoolName'].processModel.password:P4ssW0rd/commit:apphost
このアプリケーションプールで構成されているアプリケーションのバインディングを確認します。無効な文字、スペースなど。
Windows Server 2012でもこの問題が発生しました。
Appcmdの使用時に最後のパラメーターであるパスワードを削除すると、IDタイプの変更とユーザー名の設定に成功します。
なぜパスワードを設定できなかったのかわからなかったので、applicationHost.configファイルを直接編集するように言いました。残念ながら、パスワードは平文です。
<configuration>
...
<system.applicationHost>
<applicationPools>
...
<add name="test-pool" managedRuntimeVersion="v4.0">
<processModel identityType="SpecificUser"
userName="MyAccountName" password="P@ssw0rd" />
</add>
...
</applicationPools>
...
</system.applicationHost>
...
</configuration>
特定のアカウントを使用するようにアプリプールを構成することに加えて、次のことも行いました。
1)IIS_IUSRSグループにアカウントを含め、バッチジョブとしてログオンする権限を間接的に付与します。
2)次のコマンドを実行して、ユーザーに権限を付与します
aspnet_regiis -ga <your_app_pool_user>
詳細: 方法:ASP.NET 2.0アプリケーション(MSDN)のサービスアカウントを作成する
3)WASおよびIIS=を再起動して、アカウントグループメンバーシップへの変更が反映されるようにします。
C:> net stop was /y
C:> net start w3svc