web-dev-qa-db-ja.com

IIS 8.5:アプリプールの仮想アカウント(IIS AppPool \ {アプリケーションプール名}は使用できません

Windows 2012 R2CoreボックスでIIS 8.5を実行しています。「MyNewAppPool」という新しいアプリケーションプールを作成しました。「MyNewAppPool」で実行されている「MyNewWebsite.com」というWebサイトインスタンスがあります。 「アプリケーションプール。「MyNewAppPool」に使用されるIDは「ApplicationPoolIdentity」です。

「IISAppPool\{アプリケーションプール名}」という名前の自動生成されたローカル仮想アカウントを使用して、IIS 8.5のアプリケーションプールにセキュリティアクセス許可を割り当てることができることを理解しています。

したがって、「MyNewWebsite.com」ディレクトリのWindowsエクスプローラーで、仮想ユーザーアカウント「IISAppPool\MyNewAppPool」に読み取り/書き込みアクセス許可を割り当てることができるはずです。権限を割り当てるこのユーザーアカウントが見つかりません。ドメイン全体ではなく、ローカルコンピューターの場所を検索しています。 I can "IIS AppPool\DefaultAppPool"アカウントを見つけましたが、MyNewWebsite.comをDefaultAppPPoolで実行したくないので、MyNewAppPoolアプリケーションプールで実行したいと思います。

MyNewAppPoolの自動生成された仮想アカウントが見つからない理由を教えてもらえますか?

11
KPhillipson

パーミッション検索ダイアログで、合成されたアプリケーションプールIDを見つけることはありません。次のように、プールIDの名前を入力するだけです。

GUI経由:

enter image description here

名前の確認ボタンをクリックします。

enter image description here

コマンドライン経由:

または、管理者コマンドライン/ PowershellからICACLSを使用することもできます。

icacls c:\wwwroot\mysite /grant "IIS AppPool\MyNewAppPool":(CI)(OI)(M)
14
Kev

上記の回答はうまく機能します。ドメイン名ではなくサーバー名を使用することを忘れないでください。私はそれが解決されなかった理由を理解しようとして少しハングアップしました: enter image description here

2
James Toomey

Server 2012でも同じ問題が発生しました。何らかの理由で、仮想アカウントが作成されていませんでした(または仮想アカウントを使用できませんでした)。 --AppHostSvcまたはNetManサービスが実行されていないことに関連していると思います。 -最終的に、私はそれを修正するためにショットガンアプローチを採用しました(推奨されません。本番環境ではできるだけ少ないことを試みる必要がありますが、このPowerShellは開発環境のピンチから抜け出す可能性があります):

#Requires -Version 4
#Requires -RunAsAdministrator

#######################################

$DebugPreference = "SilentlyContinue";
$VerbosePreference = "SilentlyContinue";
$WarningPreference = "Continue";
$ErrorActionPreference = "Stop";
Set-PSDebug -Strict;
Set-StrictMode -Version 3;

#######################################

Get-WindowsOptionalFeature -Online `
    | where { $_.FeatureName -ilike "*IIS*" -and $_.State -eq "Disabled" } `
    | % { Enable-WindowsOptionalFeature -Online -FeatureName $_.FeatureName -All };

iisreset

Get-Service | ? { $_.ServiceName -eq "W3SVC" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "W3SVC" } | Set-Service -StartupType Automatic;

Get-Service | ? { $_.ServiceName -eq "WMSvc" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "WMSVC" } | Set-Service -StartupType Automatic;

Get-Service | ? { $_.ServiceName -eq "AppHostSvc" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "AppHostSvc" } | Set-Service -StartupType Automatic;

Get-Service | ? { $_.ServiceName -eq "Netman" } | Start-Service;
Get-Service | ? { $_.ServiceName -eq "Netman" } | Set-Service -StartupType Automatic;

iisreset
0
BrainSlugs83