Создание переопределения для мониторов и правил

Я хочу создать сценарии PowerShell, чтобы переопределить некоторые параметры моего монитора и правила. Я использовал приведенный ниже код, но у меня есть некоторые ошибки. Я хочу переопределить мой переопределяемый параметр, который не включен, или что-то еще. Как я могу это сделать?

$mps = Get-SCOMManagementPack | ? {$_.Name -like "test"}
$overrideMp = Get-SCOMManagementPack -DisplayName "Overrides"

$overridename = "testmonitor.Overrides" 

$monitor = 'testmonitor'
$override = New-Object Microsoft.EnterpriseManagement.Configuration.ManagementPackMonitorPropertyOverride($overrideMp,$overridename)
$override.Monitor = $monitor

$override.Property = 'WarningThreshold'
$override.Value = 80
$override.DisplayName = "Overrides"

$overrideMp.Verify()
$overrideMp.AcceptChanges()

Ошибки:

error1: Exception setting "Property": "Cannot convert value "WarningThreshold" to
type "Microsoft.EnterpriseManagement.Configuration.ManagementPackMonitorProperty".
Error: "Unable to match the identifier name WarningThreshold to a valid enumerator
name.  Specify one of the following enumerator names and try again: Enabled,
TraceEnabled, Algorithm, AlgorithmPercentage, DefaultState, GenerateAlert,
AutoResolve, AlertPriority, AlertOnState, AlertSeverity, AlertMessage,
AlertParameter1, AlertParameter2, AlertParameter3, AlertParameter4,
AlertParameter5, AlertParameter6, AlertParameter7, AlertParameter8,
AlertParameter9, AlertParameter10, MemberInMaintenance, MemberUnavailable,
IgnoreMemberInMaintenance, IgnoreMemberUnavailable""
At line:1 char:2
+  $override.Property = $parametername
+  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], SetValueInvocationException
    + FullyQualifiedErrorId : ExceptionWhenSetting
error2 : Exception calling "AcceptChanges" with "0" argument(s): "Database error.
MPInfra_p_ManagementPackInstall failed with exception: Failed to validate item:
testrule1"
At line:193 char:1
+ $MP.AcceptChanges()
+ ~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ManagementPackException

person B.Z    schedule 31.01.2016    source источник


Ответы (3)


Сообщение об ошибке выглядит довольно ясным для меня. В перечислении ManagementPackMonitorProperty отсутствует свойство WarningThreshold. . У меня нет большого опыта работы с SCOM, но вам, вероятно, потребуется переопределить свойство AlertOnState для мониторов, где свойство AlertSeverity имеет значение Warning.

Попробуйте что-нибудь в этом роде:

$mps | Get-SCOMMonitor | Where-Object {
  # (other selection criteria) -and
  $_.AlertSettings.AlertSeverity -eq 'Warning'
} | ForEach-Object {
  $ctx = Get-SCOMClass -Id $_.Target.Id
  # ...
  $override = New-Object ...
  $override.Monitor = $_
  $override.Property = 'AlertOnState'
  $override.Value = 80
  $override.Context = $ctx
  # ...
}

Код взят из здесь (вероятно, там же, где вы его нашли). Однако не уверен, что это работает. Как я уже сказал, у меня очень мало опыта работы с SCOM, и у меня нет сервера SCOM для тестирования.

person Ansgar Wiechers    schedule 31.01.2016

Попробую завтра в офисе отладить.

Кстати, существует сторонний инструмент для управления переопределением, который называется MPTuner: http://mpwiki.viacode.com/default.aspx?g=mptuner Это бесплатно, поэтому стоит попробовать.

Римский.

person Roman Yuferev    schedule 01.02.2016

Это довольно запутанно, но есть два разных типа переопределений для каждого типа рабочего процесса. Для монитора есть:

MonitorPropertyOverride
MonitorConfigurationOverride

Вы используете первый, wgich только для стандартных параметров, например, Enabled. Для любых настраиваемых параметров используйте переопределение конфигурации.

person Max    schedule 28.08.2016