Come determinare a livello di codice quale pool di applicazioni sta utilizzando un'applicazione di servizio?
-
09-12-2019 - |
Domanda
C'è un modo per determinare a livello di codice quale pool di applicazioni viene utilizzato un'applicazione di servizio?
Inoltre vorrei ottenere le informazioni sull'account del servizio che la pool dell'app sta utilizzando.
Soluzione
in PowerShell Uso:
Get-SPServiceApplication | FT DisplayName, ApplicationPool
.
Se si desidera ottenere la proprietà nel tuo programma è necessario ottenere una tenuta dell'applicazione di servizio e il cast in generazione di SPIisWebServiceApplication
che ha il ApplicationPool Property
Altri suggerimenti
È possibile utilizzare in PowerShell il seguente comando:
Get-SPServiceApplication | ForEach-Object { $_.ApplicationPool}
.
Ciò si traduce nel nome dell'applicazione di servizio e dell'account del pool di applicazioni.
È possibile utilizzare SharePoint Management Shell per ottenere le informazioni:
Get-SPServiceApplication | Select Name, @{Name="SPAppPoolName"; Expression={$_.ApplicationPool.Name}}, @{Name="IISAppPoolName"; Expression={$_.ApplicationPool.Id}}, @{Name="ProcessAccountName"; Expression={$_.ApplicationPool.ProcessAccountName}}
.
Questo comando utilizza le espressioni per estrarre le parti desiderate dal pool di app.
- .
- Nome = Il nome dell'applicazione di servizio
-
Spapppoolname = SharePoint utilizza un nome dedicato è possibile utilizzare all'interno della CA ma non è visibile nella visualizzazione Gestione IIS - iisapppoolname = Questo è l'ID del pool di app SP e viene utilizzato come nome del pool App se si seleziona il gestore IIS sui server L'app Servizio è in esecuzione
Elaboraccount= Questo è l'account di servizio che l'App Pool è in esecuzione sotto
È possibile controllare (non dovrebbe modificare) la configurazione del pool App nell'applicazioneHost.config (
C:\Windows\System32\inetsrv\config\applicationHost.config
).Cerca l'ID o navigare verso l'elemento XML "Applicationpools".
È possibile utilizzare System.Security.Principal.WindowsIdentity.GetCurrent().Name
per identificare l'identità in cui è in esecuzione l'applicazione corrente. Questo link fornisce aBella utilità che visualizza l'identità in cui viene eseguito l'ASPX.
o leggi questo Domanda :)
Spero che aiuti