Powershell рекурсивный запрос WMI

UbuntuGeek просто отправил статью об этом очень подвергающемся сегодня. В том же направлении, поскольку http://www.ducea.com отвечает Xerxes, но просто немного более актуальной статьей с некоторыми более новыми включенными проектами. Так или иначе это - достойный быстрый обзор, касающийся нескольких gui конфигурации Nagios, который должен дать Вам хорошую начальную точку.

http://www.ubuntugeek.com/nagios-configuration-tools-web-frontends-or-gui.html

править

Новый официальный обмен nagios, открытый сегодня также, вот является ссылкой на раздел Configuration для справочника:

http://exchange.nagios.org/directory/Addons/Configuration

6
задан 15 November 2009 в 02:06
5 ответов

Я думаю, что это сделает то, что Вы ищете в одной строке. пространство имен CIMV2 там по умолчанию, но если Вы хотели выбрать другой, можно использовать gwmi-namesapce.

"Прием" является вложением, где - возражают в стороне foreach-объекту

gwmi -list | % {$_.Properties | ? {$_.Name.Contains('Memory')}} | select Origin,Name
7
ответ дан 3 December 2019 в 00:18
  • 1
    О, друг. Это точно ответ, который я искал, но я haven' t на serverfault за прошлые две недели и период щедрости истек. Также там не кажется никаким способом, которым я могу восстановить щедрость и дать Вам точки (я думаю, что предлагал 250 точек?).Not только, что, я больше не могу отмечать это или любое другое представление как ответ. Andy, я очень сожалею об этом. Жаль, что у меня не было некоторого способа сделать это правом. –  quux 15 December 2009 в 10:49
  • 2
    @quux - никакие заботы, я ценю примечание. I' m просто довольный Вы получили то, для чего Вы смотрели. –  Andy Schneider 15 December 2009 в 18:53

Похоже что это:

gwmi - пространство имен "root\cimv2" - список

возвращает массив объектов ManagementClass.Net, таким образом, можно использовать ManagementClass. Набор свойств для выбора свойств, которые имеют определенную строку на их имена. Вот мой сценарий PowerShell:

foreach($class in gwmi -namespace "root\cimv2" -list)
{
    foreach($property in $class.Properties)
    {
        if($property.Name.Contains('Memory'))
        {
            $class.Name  + ' --- ' + $property.Name
        }
    }
}

Поскольку Вы видите, что я - новичок PowerShell, но я думаю, что можно сделать 'остроту' из этого.

2
ответ дан 3 December 2019 в 00:18
  • 1
    Это определенно возвращает то, что я искал. I' m очень новичок PS также, таким образом, я - noodling с ним, чтобы видеть, как я создал бы остроту.Спасибо! –  quux 4 September 2009 в 04:24

Я думаю путем списка пространства имен, Вы получаете Объекты класса WMI, но не экземпляры фактического объекта - который Вы получаете gwmi "win32_OperatingSystem" при использовании gm, Вы будете видеть:

TypeName: система. Управление. ManagementClass#ROOT\cimv2\Win32_OperatingSystem по сравнению с TypeName: система. Управление. ManagementObject#root\cimv2\Win32_OperatingSystem

править: Вы могли сделать что-то вроде этого:

gwmi -namespace "root\cimv2" -list | %{ gwmi -class $_.name.tostring()}

и если Вы хотите все свойства с мадам* затем, Вы могли бы попробовать | select-object "mem*"

но я не уверен, действительно ли это, что Вы хотите. Я думаю, что это очень неэффективно, если просто необходимо знать объем памяти. Что Вы действительно хотите как произвести?

1
ответ дан 3 December 2019 в 00:18

Немного поздно здесь, но я вполне уверен ниже, получит Вас туда, где Вы надеетесь добираться - который является списком всех свойств в пространстве имен WMI, которые имеют "мадам" на их имя

foreach ($i in gwmi -namespace "root\cimv2" -list ){$i.properties | where-object {$_.name -match 'mem'}| format-table origin,name}
1
ответ дан 3 December 2019 в 00:18
  • 1
    Это - корректный ответ, но мне понравились выходное форматирование и простота Andy' s отвечают лучше.Спасибо! –  quux 15 December 2009 в 10:51

Загрузите Microsoft Scriptomatic2 и PowershellScriptomatic. Оба они являются hta-приложениями, поэтому вы можете просматривать их в виде обычного текста, чтобы узнать, как они это делают.

-1
ответ дан 3 December 2019 в 00:18

Теги

Похожие вопросы