none
Создание монитора на основе Powershell RRS feed

  • Вопрос

  •  Столкнулся с такой проблемой, написал скрипт PowerShell. Который в зависимости от обстоятельств возвращает в конце 0 либо 1, зависимо от состояния систем. Как передать эти параметры SCOMу?

    В первой строке скрипта забил

    Param ($result) - я бы хотел чтобы именно эта переменная проверялась OpMgr и зависимости от нее монитор менял статус.

    На Вкладке Script, войдя в Parameters забил $result.

    При создании монитора система ругается что: Элементы 'Parameters' не могут содержать текст. Только параметры? Что я делаю не так

    И как правильно забить вкладки Un\Healthly Expression?

    31 марта 2016 г. 7:46

Ответы

  • Есть просто, данные следует возвращать в специальном формате, который автоматически формирует объект MOM.ScriptAPI.

    Пример:

    param($computerName)
    
    $testSuccessful = $true # какое-то ваше значение, в данном случае true|false
    
    $api = new-object -comObject 'MOM.ScriptAPI'
    $api.LogScriptEvent('MyScript.ps1',20,4,$computerName)
    $bag = $api.CreatePropertyBag()
    $bag.AddValue('ComputerName',$computerName)
    if ($testSuccessful -eq $true)
    {$bag.AddValue('Result','1')} # отправляете Result=1
    else
    {$bag.AddValue('Result','0')} # отправляете Result=0
    
    $bag # скрипт завершается тем, что в SCOM отправляются данные

    Далее вы можете ссылаться на "Result" и ставить условия срабатывания монитора, типа если Result=1 то хорошо, если Result=0 то плохо...

    How to create a monitor based on a Windows PowerShell script

    Sample Management Pack - Wizard to Create Powershell-based Monitors

    31 марта 2016 г. 10:33