SCOM: проблемы с пересчетом состояния мониторинга ()

есть проблемы со скриптом, пытающимся пересчитать информацию в SCOM через скрипт powershell. Возникла проблема с перерасчетом.

#imput parameters
Param(
[Parameter(Mandatory=$False)]
[string[]]$computerName
)
Import-Module OperationsManager
#Main SCOM server var
$computerName = "SCOMserver"
#Connect to the SCOM-Mgmt Server
New-SCOMManagementGroupConnection -ComputerName $computerName

#Get all the SCOMalert filtered queue warning state 
$alerts = Get-SCOMalert -ComputerName $computerName | Where-Object {$_.Owner -eq “user01” -and $_.ResolutionState -eq “0” -and $_.IsMonitorAlert -eq $true} 
Foreach ($ActiveMonitor in $alerts)
{
    $ActiveMonitor.recalculatemonitoringstate() | Test-SCOMMonitoringTaskResultForError
}

Ошибка, которую я получаю: не удалось вызвать метод, поскольку [Microsoft.EnterpriseManagement.Monitoring.MonitoringAlert] не содержит метод с именем «recalculatemonitoringstate».


person Community    schedule 09.08.2017    source источник


Ответы (1)


Когда вы получаете такую ​​​​ошибку, стоит погуглить.

В этом случае он правильно сообщает вам, что вы пытаетесь вызвать метод (RecalculateMonitoringState()), которого нет у этого объекта. Ознакомьтесь с документацией класса MonitortingAlert.

Этот класс актуален, поскольку вы используете Get-SCOMAlert который возвращает объект этого типа (в переменной $alerts)

Метод RecalculateMonitoringState() является частью класса MonitoringObject, поэтому, скорее всего, вы ищете Get-SCOMMonitor.

person G42    schedule 09.08.2017
comment
Здравствуйте, спасибо за ответ. (я немного медлителен в powershell) из вашего ответа я понял, что если я найду что-то, что ограничивает эти два Get-SCOMMonitor и Get-SCOMalert, такие как идентификатор примера, и могу получить данные из идентификатора Get-SCOMalert в переменную и зациклить его с пересчетом в Get-SCOMMonitor. (кроме того, я гуглю, но это сложно, тогда вы не уверены, что пытаетесь найти) - person ; 09.08.2017