如何以编程方式确定服务应用程序正在使用哪个应用程序池?
-
09-12-2019 - |
题
有没有办法以编程方式确定服务应用程序正在使用哪个应用程序池?
此外,我想获取有关应用程序池正在使用的服务帐户的信息。
解决方案
在powershell中使用:
Get-SPServiceApplication | FT DisplayName, ApplicationPool
如果您想在自己的程序中获取该属性,您需要获取服务应用程序并将其转换为 SPIisWebServiceApplication
其中有 应用程序池 财产
其他提示
可以在powershell中使用以下命令:
Get-SPServiceApplication | ForEach-Object { $_.ApplicationPool}
.
这会导致服务应用程序的名称和应用程序池的帐户。
您可以使用SharePoint管理shell获取信息:
Get-SPServiceApplication | Select Name, @{Name="SPAppPoolName"; Expression={$_.ApplicationPool.Name}}, @{Name="IISAppPoolName"; Expression={$_.ApplicationPool.Id}}, @{Name="ProcessAccountName"; Expression={$_.ApplicationPool.ProcessAccountName}}
.
此命令使用表达式从App Pool中提取所需的部件。
- name =服务应用程序的名称
- spappoolname = SharePoint使用了专用名称,您可以在CA内部使用,但在IIS管理视图中不可见
- iisappoolname =这是SP app池的ID,如果您在服务器上运行的服务器上查看IIS管理器,则用作App Pool的名称
processaccount=这是服务帐户应用程序池在下运行
您可以在applicationhost.config(
C:\Windows\System32\inetsrv\config\applicationHost.config
)中检查(不编辑)应用程序池的配置。搜索ID或导航到XML元素“ApplicationPools”。