Como determinar programaticamente o pool de aplicativos um aplicativo de serviço está usando?
-
09-12-2019 - |
Pergunta
Existe uma maneira de determinar programaticamente o pool de aplicativos um aplicativo de serviço está usando?
Além disso, eu gostaria de obter as informações sobre a conta de serviço do pool de aplicativo está usando.
Solução
No powershell, use:
Get-SPServiceApplication | FT DisplayName, ApplicationPool
Se você deseja obter a propriedade no seu próprio programa que você precisa para obter o Aplicativo de Serviço e a lançá-lo para SPIisWebServiceApplication
o que tem a ApplicationPool propriedade
Outras dicas
Você pode usar o shell o seguinte comando:
Get-SPServiceApplication | ForEach-Object { $_.ApplicationPool}
Isso resulta em o nome do aplicativo de serviço e a conta do pool de aplicativos.
Você pode usar o Shell de Gerenciamento do SharePoint para obter as informações:
Get-SPServiceApplication | Select Name, @{Name="SPAppPoolName"; Expression={$_.ApplicationPool.Name}}, @{Name="IISAppPoolName"; Expression={$_.ApplicationPool.Id}}, @{Name="ProcessAccountName"; Expression={$_.ApplicationPool.ProcessAccountName}}
Este comando usa expressões para extrair as partes desejadas do pool de aplicativo.
- Nome = O nome do aplicativo de serviço de
- SPAppPoolName = SharePoint está usando um dedicado nome que você pode usar dentro da AC, mas que não é visível no modo de exibição de gerenciamento do IIS
- IISAppPoolName = Este é o ID do SP do pool de aplicativos e é usado como o nome do pool de aplicativos se você verificar no gerenciador do IIS nos servidores a serviço do aplicativo está sendo executado ProcessAccount = Esta é a conta de serviço do pool de aplicativos é executado sob
Você pode verificar (não deve editar) a configuração do pool de aplicativo no applicationHost.config (C:\Windows\System32\inetsrv\config\applicationHost.config
).Procure o id ou navegue para o elemento xml "applicationPools".
Você poderia usar System.Security.Principal.WindowsIdentity.GetCurrent().Name
para identificar a Identidade na qual o aplicativo está sendo executado. Este Link fornece um bom utilitário que exibe a identidade sob a qual o aspx é executado.
Ou leia este Pergunta :)
Espero que ajude