Обработка синхронных ошибок Configuration Manager с помощью WMI
Синхронные ошибки обрабатываются в Configuration Manager путем проверки SWbemLastError
объекта при возникновении ошибки. Произошла ошибка, если свойство объекта Number
error не равно нулю.
Примечание.
В VBScript следует объявить, что при возникновении ошибки вы хотите возобновить выполнение скрипта. В противном случае скрипт завершится при возникновении ошибки. Для этого используйте On Error Resume Next
объявление в скрипте.
Пример
В следующем примере VBScript отображаются последние сведения об ошибке, доступные из SWbemLastError
объекта . Вы можете использовать следующий код, который пытается получить недопустимый пакет SMS_Package для его тестирования.
Сведения о вызове примера кода см. в разделе Вызов фрагментов кода Configuration Manager.
Sub ExerciseError(connection)
On Error Resume next
Dim packages
Dim package
' Run the query.
Set package = connection.Get("SMS_Package.PackageID='UNKNOWN'")
If Err.Number<>0 Then
Call DisplayLastError
End If
End Sub
Sub DisplayLastError
Dim ExtendedStatus
' Get the error object.
Set ExtendedStatus = CreateObject("WbemScripting.SWBEMLastError")
' Determine the type of error.
If ExtendedStatus.Path_.Class = "__ExtendedStatus" Then
WScript.Echo "WMI Error: "& ExtendedStatus.Description
ElseIf ExtendedStatus.Path_.Class = "SMS_ExtendedStatus" Then
WScript.Echo "Provider Error: "& ExtendedStatus.Description
WScript.Echo "Code: " & ExtendedStatus.ErrorCode
End If
End Sub