2017-04-04 6 views
1

Powershellを使用してIISにASP.NETアプリケーションを展開しようとしています(Ansibleによって実行されます)。IIS AppPoolユーザーがWindowsグループに追加されていることを確認してください

は、私は私のアプリケーションは、私はこのPowerShellスクリプトを使用して、パフォーマンスモニターのユーザーにそれを追加していてパフォーマンスカウンタを照会することができるようにしたい:

appPoolName=$args[0] 

$group = [ADSI]"WinNT://$Env:ComputerName/Performance Monitor Users,group" 

$ntAccount = New-Object System.Security.Principal.NTAccount("IIS AppPool\$appPoolName") 
$strSID = $ntAccount.Translate([System.Security.Principal.SecurityIdentifier]) 
$user = [ADSI]"WinNT://$strSID" 

$group.Add($user.Path) 

それは実際には別のSOの質問から来ている:Add IIS AppPool\ASP.NET v4.0 to local windows group

展開後、ユーザーはグループに追加されますが、アプリケーションはパフォーマンスカウンターにアクセスできません。

スクリプトは、アプリケーションプールとアプリケーションを起動する直前に実行されます。 私は成功せず、次のようなものを試してみました:

  • アプリケーションを再起動し、再び

私は私のデプロイメントスクリプトを変更した

  • 再起動アプリケーションプール
  • Set AnonymousAuthentication to 'Application pool identity'
  • 展開以下の方法で、成功することなく、

    • 追加する前にグループからユーザーを削除する
    • ユーザーを追加した後でアプリケーションプールを再起動します。 IISは実際には(「この時点ではサービスではメッセージを受け付けることができません」)苦情を言います。
    • は、アプリケーション

    私は私を解決するために持っている唯一の方法(アプリケーションプールを停止する前に)展開の最初にグループにユーザーを追加を開始した後、ユーザーをグループに追加します。問題は、マシンを再起動することです。私はより良いものがあるかどうか知りたいです!

    可能であれば、私は、アプリケーションプールのユーザーをログオフして、私の問題を解決すると思います。私はそれを行う方法を見つけられませんでした(アプリケーションプールの再起動またはリサイクルは機能しません)。

  • 答えて

    0

    答えは単純なiisreset(コマンドラインまたはPowershellで)でした。

    関連する問題