39

私は、Web アプリケーションのセットアップを自動化し、アプリケーション プール ID を使用して IIS を適切に構成するのに非常に苦労しています。これは、PowerShell で記述された Web アプリケーション展開スクリプトで実行しています。私の要件は、アプリケーション プール ID ユーザーを特定のサービス アカウント mydomain\svcuser とパスワードに設定するために、PowerShell スクリプトが必要なことです。サンプルコードは次のとおりです。

$pool = New-Item "IIS:\AppPools\MyAppPool" -Force
$svcuser = "mydomain\svcuser"
$pool.processModel.userName = $svcuser
$password = "somepassword"
$pool.processModel.password = $password
$pool.processModel.identityType = 3
$pool | Set-Item -ErrorAction Stop

これを実行すると、すべて正しく機能しているように見えます。エラーはスローされず、アプリケーション ID のユーザー名が IIS に表示されますが、何らかの理由でパスワードが正しく設定されていません。パスワードなので設定されているかどうかは確認できませんが、設定されていれば正しく設定されていないと判断できます。手動で IIS にアクセスしてパスワードを入力するまで、結果のアプリケーション プール ユーザーは認証されません。その結果、Web サーバーへのデプロイ後にアプリケーションが失敗し、手動での介入が必要になります。

ここで何か不足していますか?

4

4 に答える 4

67

これは次のように行います。

Import-Module WebAdministration
Set-ItemProperty IIS:\AppPools\app-pool-name -name processModel -value @{userName="user_name";password="password";identitytype=3}

アプリ プールを実行するユーザー タイプのインデンティティ タイプ数値の説明とリファレンスについては、こちらのドキュメントを参照してください: http://www.iis.net/configreference/system.applicationhost/applicationpools/add/processmodel

于 2014-10-15T20:52:31.873 に答える