PDA

Показать полную графическую версию : [решено] Не получается вернуть статус с помощь класса 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

Спасибо.

Kazun
31-01-2018, 09:57
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() ума не приложу. Софт для которого мастырю селект больно не поворотлив.

Kazun
31-01-2018, 11:23
Никак,нельзя с 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