Jak obsługiwać błędy synchroniczne Configuration Manager przy użyciu usługi WMI
Błędy synchroniczne są obsługiwane w Configuration Manager przez sprawdzenie obiektu w SWbemLastError
przypadku wystąpienia błędu. Wystąpił błąd, gdy właściwość obiektu Number
błędu jest inna niż zero.
Uwaga
W języku VBScript należy zadeklarować, że chcesz wznowić uruchamianie skryptu w przypadku wystąpienia błędu. W przeciwnym razie skrypt zakończy się po wystąpieniu warunku błędu. W tym celu użyj deklaracji w skryptze On Error Resume Next
.
Przykład
W poniższym przykładzie języka VBScript są wyświetlane najnowsze informacje o błędzie dostępne w obiekcie SWbemLastError
. Możesz użyć następującego kodu, który próbuje pobrać nieprawidłowy pakiet SMS_Package, aby go przetestować.
Aby uzyskać informacje na temat wywoływania przykładowego kodu, zobacz Wywoływanie fragmentów kodu 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