簡體   English   中英

確保將 IIS AppPool 用戶添加到 windows 組

[英]Ensure that IIS AppPool user is added to windows group

我正在嘗試使用 Powershell(由 Ansible 運行)將 ASP.NET 應用程序部署到 IIS。

我希望我的應用程序能夠查詢性能計數器,因此我使用此 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

部署后,可能會發生將用戶添加到組但應用程序仍然無法訪問性能計數器的情況。

該腳本在啟動應用程序池和應用程序之前運行。 我嘗試了以下事情,但沒有成功:

我通過以下方式修改了我的部署腳本,但沒有成功:

  • 在添加之前從組中刪除用戶
  • 添加用戶后重啟應用池。 IIS 實際上抱怨(“該服務此時無法接受消息”)。
  • 啟動應用程序后將用戶添加到組中
  • 在部署開始時將用戶添加到組中(在停止應用程序和池之前)

我必須解決我的問題的唯一方法是重新啟動機器。 我想知道有沒有更好的!

如果可能,我認為讓 App Pool 用戶注銷並重新登錄可以解決我的問題。 我還沒有找到如何做到這一點(重新啟動或回收應用程序池不起作用)。

答案是一個簡單的iisreset (在命令行或 Powershell 中)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM