Показать полную графическую версию : [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)
andr_mozg
30-01-2018, 17:38
Доброго времени суток.
http://wutils.com/wmi/root/webadministration/applicationpool/#getstate_methods
Необходимо получить значения метода GetState
Если делаю простой селект
Select Name from ApplicationPool
то получаю имя первого в списке (видимо) пула
Не как не вкурю как прикрутить условие с указанием конкретного имени пула и получение его статуса через метод GetState
Спасибо.
PowerShell:
$wmi = Get-WMIObject -Namespace root\WebAdministration ApplicationPool
$wmi | Select Name,@{n="State";e={$_.GetState().ReturnValue}}
#Вывод
PS > $wmi | Format-Table Name,Managed* -Auto
Name ManagedPipelineMode ManagedRuntimeLoader ManagedRuntimeVersion
---- ------------------- -------------------- ---------------------
DefaultAppPool 0 webengine4.dll v4.0
Classic .NET AppPool 1 webengine4.dll v2.0
.NET v2.0 Classic 1 webengine4.dll v2.0
.NET v2.0 0 webengine4.dll v2.0
.NET v4.5 Classic 1 webengine4.dll v4.0
.NET v4.5 0 webengine4.dll v4.0
PS > $wmi | Select Name,@{n="State";e={$_.GetState().ReturnValue}}
Name State
---- -----
DefaultAppPool 1
Classic .NET AppPool 1
.NET v2.0 Classic 1
.NET v2.0 1
.NET v4.5 Classic 1
.NET v4.5 1
Теперь получим статус опредленного пула, скажем DefaultAppPool:
PS > Invoke-WmiMethod -Path '\\IIS\root\WebAdministration:ApplicationPool.Name="DefaultAppPool"' -Name GetState
ReturnValue : 1
PSComputerName :
PS > (Get-WmiObject -Namespace root\WebAdministration -Query "Select Name FROM ApplicationPool WHERE Name='DefaultAppPool'").GetState()
ReturnValue : 1
PSComputerName :
andr_mozg
31-01-2018, 10:44
Kazun, Вот тоже самое только одним селектом
Select Name FROM ApplicationPool WHERE Name='DefaultAppPool' - это сработает а вот куда присобачить GetState() ума не приложу. Софт для которого мастырю селект больно не поворотлив.
Никак,нельзя с WQL выполнить WMI метод. Должны быть API для работы с WMI,которые позволяют выполнять метод.
andr_mozg
31-01-2018, 12:02
Kazun, Понятно... Спасибо
Serguei Kouzmine
02-02-2018, 05:29
по моему для этого написаны модули - они по-разному называются для iis 7 и 8 но в-общем они позволяют
Import-Module WebAdministration
Get-Item "IIS:\AppPools\DefaultAppPool"
Name State Applications
---- ----- ------------
DefaultAppPool Started Default Web Site
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.