Wie kann programmgesteuert ermittelt werden, welchen Anwendungspool eine Dienstanwendung verwendet?
-
09-12-2019 - |
Frage
Gibt es eine Möglichkeit, programmgesteuert zu bestimmen, welchen Anwendungspool eine Dienstanwendung verwendet?
Außerdem möchte ich die Informationen über das Dienstkonto erhalten, das der App-Pool verwendet.
Lösung
In der Powershell verwenden:
Get-SPServiceApplication | FT DisplayName, ApplicationPool
Wenn Sie die Eigenschaft in Ihr eigenes Programm aufnehmen möchten, müssen Sie die Dienstanwendung abrufen und in sie umwandeln SPIisWebServiceApplication
welches hat die Anwendungspool Eigenschaft
Andere Tipps
Sie können in PowerShell den folgenden Befehl verwenden: generasacodicetagpre.
Dies führt dazu, dass der Name der Serviceanwendung und des Kontos des Anwendungspools erforderlich ist.
Sie können die SharePoint-Management-Shell verwenden, um die Informationen zu erhalten: generasacodicetagpre.
Dieser Befehl verwendet Ausdrücke, um die gewünschten Teile aus dem App-Pool zu extrahieren.
- name = der Name der Serviceanwendung
- spapppoolname = shapePoint verwendet einen dedizierten Namen, den Sie in der CA verwenden können, aber das ist in der IIS-Managementansicht nicht sichtbar.
-
iisapppoolName = Dies ist die ID des SP-App-Pools und wird als Name des App-Pools verwendet, wenn Sie den IIS-Manager auf den Servern überprüfen, auf der die Service-App läuft Processaccount= Dies ist das Service-Konto Der App Pool läuft unter Sie können die Konfiguration des App-Pools im ApplicationHost.config (generell nicht bearbeiten) überprüfen (sollte nicht bearbeitet werden.Suchen Sie nach der ID oder navigieren Sie zum XML-Element "ApplicationPools".
Sie könnten verwenden System.Security.Principal.WindowsIdentity.GetCurrent().Name
um die Identität zu identifizieren, in der die aktuelle Anwendung ausgeführt wird. Dieser Link bietet ein nettes Dienstprogramm, das die Identität anzeigt, unter der aspx ausgeführt wird.
Oder lesen Sie dies Frage :)
Hoffe es hilft