在 設定管理員 中,發生設定管理員錯誤時,可能是 Windows Management Instrumentation (WMI) 或是 SMS 提供者錯誤。
在 __ExtendedStatus 執行個體中報告 WMI 錯誤。 在 的 SMS_ExtendedStatus執行個體中報告 SMS 提供者錯誤。
處理錯誤的方式取決於您使用的程式設計語言。
使用 WMI 處理錯誤
在 VBScript 中,如果同步作業期間發生錯誤,則錯誤物件 Number 屬性為非零。 通常,您可以在變更或查詢 SMS 提供者之後檢查此值。 在非同步作業中,您會收到回呼函式的 OnCompleted 錯誤物件。
取得錯誤物件執行個體之後,您可以檢查 __Class 屬性以判斷錯誤來源。 WMI 會為 WMI 錯誤建立 __ExtendedStatus 的執行個體,而 SMS 提供者會為 SMS 提供者錯誤建立 的 SMS_ExtendedStatus 執行個體。
SMS_ExtendedStatus 衍生自 __ExtendedStatus。 您也可以在 SMSProv.log 中找到簡訊提供者錯誤的詳細資料。
如需處理同步錯誤的詳細資訊,請參閱 如何使用 WMI 處理 設定管理員 同步錯誤。
如需處理非同步錯誤的詳細資訊,請參閱 如何使用 WMI 處理 設定管理員 非同步錯誤。
使用託管簡訊提供者進行錯誤處理
若要使用受管理的 設定管理員 提供者處理 設定管理員 錯誤,請攔截 設定管理員 特定的例外狀況。
| Exception | 描述 |
|---|---|
SmsQueryException |
SmsQueryException發生 設定管理員 查詢錯誤時引發。 它提供特定於 設定管理員 (SMS_ExtendedStatus) 的例外狀況資訊,也會封裝所引發的任何 WMI 例外狀況。SmsQueryException.ErrorCode 對應至同等 System.ManagementException 例外狀況代碼。SmsQueryException.ExtendStatusCode 對應至中 SMS_ExtendedStatus.ErrorCode引發的 SMS 提供者錯誤碼。 |
SmsConnectionException |
SmsConnectionException 當 WMI 連線中斷時引發。 |
SmsException |
SmsException是 和SmsConnectionException衍生的SmsQueryException基底類別。 它永遠不會被舉起,但可以抓住它來捕捉兩者。SmsQueryExceptionSmsConnectionException |
存取__ExtendedStatus和SMS_ExtendedStatus物件
由於 __ExtendedStatus 且 SMS_ExtendedStatus 不是由託管 SMS 提供者包裝,因此您必須使用 System.Management ManagedException 物件。
如果您不需要存取錯誤 WMI 物件,您可以存取 SMSException.Details 中的例外狀況詳細資料字串。
如需處理同步例外狀況的詳細資訊,請參閱 如何使用 Managed 程式碼處理 設定管理員 同步錯誤。
如需處理非同步例外狀況的詳細資訊,請參閱 如何使用 Managed 程式碼處理 設定管理員 非同步錯誤。