Этот сценарий запускается, и если он возвращает ошибку, в SCOM генерируется предупреждение. Предупреждение настроено на разрешение, когда монитор возвращается в работоспособное состояние. Я протестировал скрипт с помощью cscript, и он возвращает правильные значения в каждом состоянии. Я сбит с толку, почему он генерирует предупреждение об «erro», но не разрешается автоматически при «ok»:
Option Explicit
On Error Resume Next
Dim objFSO
Dim TargetFile
Dim objFile
Dim oAPI, oBag
Dim StateDataType
Dim FileSize
Set oAPI = CreateObject("MOM.ScriptAPI")
Set oBag = oAPI.CreatePropertyBag()
TargetFile = "\\server\share\file.zip"
Set objFSO = CreateObject("scripting.filesystemobject")
Set objFile = objFSO.GetFile(TargetFile)
FileSize = objFile.Size / 1024
If FileSize < 140000 Then
Call oBag.AddValue("State", "erro")
Else
Call oBag.AddValue("State", "ok")
End If
Call oAPI.AddItem(oBag)
Call oAPI.Return(oBag)
Нездоровое выражение: свойство [@ Name = 'State'] равно erro
Выражение здоровья: свойство [@ Name = 'State'] равно ok
Если бы кто-нибудь мог пролить свет на то, чего мне не хватало, было бы здорово!
Ответ зависит от того, работает ли монитор для начала. Меняет ли монитор состояние должным образом или монитор не возвращается в работоспособное состояние после устранения проблемы?
Если монитор работает, но предупреждение не разрешается: проверьте XML для своего Unit Monitor и убедитесь, что вы видите <AutoResolve>true</AutoResolve>
в определении монитора. В консоли разработки вы также можете установить это свойство Auto-Resolve.
Мы все еще пытаемся осмыслить SCOM, и мы тоже немного боролись с этим.
Триггер перехода к «нездоровому» состоянию, кажется, происходит довольно быстро, но возврат к «здоровому», похоже, происходит в то, что мы называем временем SCOM. Такое бывает, но, конечно, не быстро. Я списываю это на размер нашей лаборатории разработки.
Сценарий выглядит нормально, но вы также можете проверить в журнале событий диспетчера операций отсутствие проблем во время выполнения сценария. например если у вас есть доступ к общему файловому ресурсу и у вас нет учетной записи запуска от имени, это может привести к сбою, если эта учетная запись серверного компьютера не имеет прав на общий файловый ресурс.
Это приведет к ошибке сценария, но монитор останется исправным.
Это может быть для вас успешным, потому что, когда вы запускаете его, он выполняется под вашей учетной записью пользователя, которая, вероятно, имеет доступ к общему файловому ресурсу.