WMI - [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)

Ответить
Аватара пользователя
andr_mozg

WMI - [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)

Сообщение andr_mozg »

Доброго времени суток.

http://wutils.com/wmi/root/webadmini...tstate_methods


Необходимо получить значения метода GetState



Если делаю простой селект





Код:

Код: Выделить всё

Select Name from ApplicationPool

то получаю имя первого в списке (видимо) пула



Не как не вкурю как прикрутить условие с указанием конкретного имени пула и получение его статуса через метод GetState



Спасибо.
Аватара пользователя
Kazun

Re: WMI - [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)

Сообщение Kazun »

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

Re: WMI - [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)

Сообщение andr_mozg »

Kazun, Вот тоже самое только одним селектом

Select Name FROM ApplicationPool WHERE Name='DefaultAppPool' - это сработает а вот куда присобачить GetState() ума не приложу. Софт для которого мастырю селект больно не поворотлив.
Аватара пользователя
andr_mozg

Re: WMI - [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)

Сообщение andr_mozg »

Никак,нельзя с WQL выполнить WMI метод. Должны быть API для работы с WMI,которые позволяют выполнять метод.
Аватара пользователя
andr_mozg

Re: WMI - [решено] Не получается вернуть статус с помощь класса ApplicationPool (ROOT\WebAdministration)

Сообщение andr_mozg »

по моему для этого написаны модули - они по-разному называются для iis 7 и 8 но в-общем они позволяют



Import-Module WebAdministration

Get-Item "IIS:\AppPools\DefaultAppPool"



Name State Applications

---- ----- ------------

DefaultAppPool Started Default Web Site
Ответить

Вернуться в «Скриптовые языки администрирования Windows»