WMI を使用してConfiguration Manager同期エラーを処理する方法
Configuration Managerでは、エラーが発生したときにオブジェクトをSWbemLastError
検査することで、同期エラーを処理します。 error オブジェクト Number
プロパティが 0 以外の場合にエラーが発生しました。
注:
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