當您升級至 Configuration Manager 1810 版時,轉換失敗

本文可協助您修正安裝 Configuration Manager 用戶端時收到錯誤碼 1603 的問題。

原始產品版本:System Center Configuration Manager (最新分支 - 版本 1810)
原始 KB 編號: 4487768

徵狀

您可以建立已啟用累加式更新的集合,並使用PowerShell Cmdlet New-CMSchedule 搭配 -DurationInterval-DurationCount 參數來建立排程令牌。

例如,您可以使用下列 PowerShell 命令來建立集合:

$Schedule = New-CMSchedule -DayOfMonth 1 -DurationInterval Days -DurationCount 31
New-CMDeviceCollection -Name "TEST-2" -LimitingCollectionName "All Systems" -RefreshSchedule $Schedule -RefreshType Continuous

集合具有下列旗標和排程令牌:

Flags = 4, Schedule = 2C996A0007D00008

當您更新為最新分支版本 1810 Configuration Manager 時,您會收到類似下列範例的錯誤訊息:

[22018][245][Microsoft][SQL Server Native Client 11.0][SQL Server]轉換在將 nvarchar 值 'D' 轉換為數據類型 int 時失敗。

注意事項

如果您在 Configuration Manager 控制台中設定更新排程,就不會發生此問題。

原因

發生此問題的原因是排程令牌在範例) D 中包含無效的字元 (。 因此,升級前置檢查會失敗。

解決方案

若要修正此問題,請依照下列步驟執行:

  1. 執行下列查詢來識別可能會造成此問題的集合:

    select CollectionID, CollectionName, Flags, Schedule from Collections_G
    where (Flags & 0x07 = 0x1 or Flags & 0x07 = 0x04) AND
    Schedule <> '' AND Schedule is not NULL AND
    substring(ISNULL(Schedule, ''), 11, 1) not like '[0-9]'
    
  2. 變更這些集合的排程令牌。 針對每個集合:在集合的 [屬性] 對話框的 [成員資格規則] 索引標籤上,清除 [使用此集合的累加式更新] 或變更集合上完整更新的排程。