就地升級建議
適用於:Configuration Manager (目前的分支)
Windows 就地升級的預設工作順序範本包含群組,其中包含在升級程式前後新增的建議動作。 這些動作在許多在裝置上成功升級 Windows 的客戶之間很常見。 本文提供升級程式不同階段中這些建議步驟的相關信息。
準備升級
如果您現有的工作順序尚未有這些動作,請手動將它們新增至 [ 準備升級 ] 群組中的工作順序。
電池檢查
在此群組中新增步驟,以檢查計算機是否使用電池或有線電源。 此動作需要自定義文稿或公用程式來執行此檢查。
電池檢查範例
使用 WbemTest 並連線到 root\cimv2
命名空間。 然後執行下列查詢:
Select BatteryStatus From Win32_Battery where BatteryStatus != 2
如果它傳回任何結果,則裝置會以電池執行。 否則,裝置會連線到有線電源。
網路/有線連線檢查
在此群組中新增步驟,以檢查計算機是否已連線到網路,且未使用無線連線。 此動作需要自定義文稿或公用程式來執行此檢查。
網路檢查範例
使用 WbemTest 並連線到 root\cimv2
命名空間。 然後執行下列查詢:
Select * From Win32_NetworkAdapter Where NetConnectionStatus = 2 and PhysicalAdapter = 'True' and NetConnectionID = 'Wi-Fi'
如果傳回任何結果,則裝置會在Wi-Fi上執行。 否則,裝置會連線到有線網路連線。
拿掉不相容的應用程式
在此群組中新增步驟,以移除與目標 Windows 版本不相容的任何應用程式。 卸載應用程式的方法會有所不同。
如果應用程式使用 Windows Installer,請從應用程式之 Windows Installer 部署類型屬性的 [程式] 索引標籤複製 [卸載程式] 命令行。 然後使用卸載程式 命令行 ,在此群組中新增執行命令行步驟。 例如:
msiexec /x {150031D8-1234-4BA8-9F52-D6E5190D1CBA} /q
拿掉不相容的驅動程式
在此群組中新增步驟,以移除與目標 Windows 版本不相容的任何驅動程式。
拿掉/暫停第三方安全性
在此群組中新增步驟,以移除或暫停第三方安全性程式,例如防病毒軟體。
如果您使用第三方磁碟加密程式,請使用命令行選項將其加密驅動程式提供給 Windows 安裝/ReflectDrivers
程式。 將 [設定工作順序變數 ] 步驟新增至此群組中的工作順序。 將工作順序變數設定為 OSDSetupAdditionalUpgradeOptions。 使用驅動程式的路徑,將值 /ReflectDrivers
設定為 。 此 工作順序變數 會附加工作順序所使用的 Windows 安裝程式命令行。 如需此程式的任何進一步指引,請連絡您的軟體廠商。
下載套件內容工作順序步驟
在下列案例中,使用升級操作系統步驟之前的下載套件內容步驟:
您可以針對 x86 和 x64 平臺使用單一升級工作順序。 在 [準備升級] 群組中包含兩個 [下載套件內容] 步驟。 設定每個步驟的條件以偵測客戶端架構。 此條件會導致步驟只下載適當的OS升級套件。 將每個 下載套件內容 步驟設定為使用相同的變數,並在 升級操作系統 步驟的媒體路徑中使用變數。
若要動態下載適用的驅動程式套件,請使用兩個 下載套件內容 步驟與條件來偵測每個驅動程式套件的適當硬體類型。 將每個 下載套件內容 步驟設定為使用相同的變數。 然後將該變數用於升級操作系統步驟上驅動程式區段中的分段內容值。
注意事項
Configuration Manager 會將數值後綴新增至這個變數名稱。 例如,如果您將 指定
%mycontent%
為自定義變數,用戶端會將所有參考的內容儲存在此位置。 當您在後續步驟中參考變數時,例如 升級操作系統,請使用具有數值後綴的變數。 在此範例中,%mycontent01%
或%mycontent02%
,其中的數位會對應至 下載套件內容 步驟列出此特定內容的順序。
後置處理
建立工作順序之後,請在工作順序的 後置處理 群組中新增更多步驟。
注意事項
此工作順序不是線性。 有一些步驟可能會影響工作順序結果的條件。 此行為取決於是否成功升級用戶端計算機,或是否必須將用戶端電腦復原至原始OS。
Windows 就地升級的預設工作順序範本包含其他群組,其中包含在升級程序之後要新增的建議動作。 這些在 後續處理 群組中的動作,在許多成功升級裝置上 Windows 的客戶中很常見。 如果您現有的工作順序尚未有這些動作,請手動將它們新增至後續 處理 群組中的工作順序。
套用安裝程式型驅動程式
在此群組中新增步驟,以從套件安裝以安裝程序為基礎的驅動程式 (.exe) 。
安裝/啟用第三方安全性
在此群組中新增步驟,以安裝或啟用第三方安全性程式,例如防病毒軟體。
設定 Windows 預設應用程式和關聯
在此群組中新增步驟,以設定 Windows 預設應用程式和檔案關聯。
使用您想要的應用程式關聯來準備參照電腦。
執行下列命令列以匯出:
dism /online /Export-DefaultAppAssociations:"%UserProfile%\Desktop\DefaultAppAssociations.xml"
將 XML 檔案新增至封裝。
在此群組中新增執行 命令行 步驟。 指定包含 XML 檔案的封裝,然後指定下列命令列:
dism /online /Import-DefaultAppAssociations:DefaultAppAssociations.xml
如需詳細資訊,請參閱 匯出或匯入預設應用程式關聯。
套用自定義和個人化
在此群組中新增步驟以套用 [開始] 功能表自定義,例如組織程式群組。 如需詳細資訊,請參閱 自定義 \[開始\] 配置。
反轉
當電腦重新啟動後升級程式發生問題時,Windows 安裝程式會將系統復原到先前的作業系統。 工作順序接著會繼續復 原 群組中的任何步驟。 建立工作順序之後,請視需要在此群組中新增選擇性步驟。 例如,反轉準備升級群組中對系統所做的任何變更,例如卸載不相容的軟體。
失敗時執行動作
Windows 就地升級的預設工作順序範本包含在 失敗時執行動作的群組。 此群組包含建議的動作,以在升級程序失敗時新增。 這些動作可讓您更輕鬆地進行疑難解答。
收集記錄
若要從用戶端收集記錄,請在此群組中新增步驟。
常見做法是將記錄檔複製到網路共用。 若要建立此連線,請使用 [連線到網络資料夾] 步驟。
若要執行複製作業,請使用自定義腳本或公用程式搭配執行 命令行 或 執行 PowerShell 腳本 步驟。
要收集的檔案可能包含下列記錄:
%_SMSTSLogPath%\*.log
%SystemDrive%\$Windows.~BT\Sources\Panther\setupact.log
如需setupact.log和其他 Windows 安裝程式記錄的詳細資訊,請參閱 Windows 安裝程式記錄檔。
如需 Configuration Manager 用戶端記錄的詳細資訊,請參閱 Configuration Manager 用戶端記錄。
如需 _SMSTSLogPath 和其他實用變數的詳細資訊,請參閱 工作順序變數。
執行診斷工具
若要執行診斷工具,請在此群組中新增步驟。 自動執行這些工具,以便在失敗后立即從系統收集其他資訊。
其中一個這類工具是 Windows SetupDiag。 這是獨立的診斷工具,可取得 Windows 升級失敗原因的詳細數據。
在 Configuration Manager 中,建立工具的 套 件。
將執行 命令行 步驟新增至工作順序的這個群組。 使用 [封裝 ] 選項來參考工具。 下列字串是 命令列範例:
SetupDiag.exe /Output:"%_SMSTSLogPath%\SetupDiagResults.log"
提示
請一律使用最新版本的 SetupDiag 來取得最新功能,並修正已知問題。 如需詳細資訊,請 參閱 SetupDiag。
其他建議
Windows 檔
檢閱 Windows 檔以 解決 Windows 用戶端升級錯誤。 本文也包含升級程序的詳細資訊。
檢查磁碟空間下限
在預設 的 [檢查整備程度 ] 步驟中,啟用 [確保可用磁碟空間下限 (MB) 。 將 32 位 OS 升級套件的值設定為至少 16384 (16 GB) ,或 64 位的 20480 (20 GB) 。
重試下載原則
使用 SMSTSDownloadRetryCount工作順序變數 來重試下載原則。 用戶端目前預設會重試兩次;此變數設定為兩個 (2) 。 如果您的用戶端不在有線內部網路連線,則更多重試可協助用戶端取得原則。 如果無法下載原則,則使用此變數不會造成任何負面的副作用,除了延遲失敗之外。 也請將 SMSTSDownloadRetryDelay 變數從預設的 15 秒增加。
執行內嵌相容性評估
在 [準備升級] 群組中,提早新增第二個升級操作系統步驟。
將其命名 為升級評估。
指定相同的升級套件,然後啟用 [ 執行 Windows 安裝程式相容性掃描而不啟動升級] 選項。
在 [選項] 索引標籤 上發生錯誤 時啟用 [繼續]。
緊接在此 升級評估 步驟之後,新增執行 命令行 步驟。 指定下列命令列:
cmd /c exit %_SMSTSOSUpgradeActionReturnCode%
此命令會讓命令提示字元結束指定的非零結束代碼,而工作順序會將該代碼視為失敗。
在 [ 選項] 索引 標籤上,新增下列條件:
Task Sequence Variable _SMSTSOSUpgradeActionReturnCode not equals 3247440400
此條件表示只有在傳回碼不是成功程序代碼時,工作順序才會執行此執行 命令行 步驟。
傳回碼 3247440400
相當於MOSETUP_E_COMPAT_SCANONLY (0xC1900210) ,這是成功的相容性掃描,沒有任何問題。 如果 升級評估 步驟成功並傳回 3247440400
,工作順序會略過此執行 命令行 步驟,並繼續進行。 如果評定步驟傳回任何其他傳回碼,則會執行此 執行命令行 步驟。 由於命令會以非零傳回碼結束,因此工作順序也會失敗。 工作順序記錄檔和狀態消息包含來自 Windows 安裝程式相容性掃描的傳回碼。 如需 _SMSTSOSUpgradeActionReturnCode的詳細資訊,請參閱 工作順序變數。
如需詳細資訊,請參閱 升級操作系統 工作順序步驟。
從 BIOS 轉換成 UEFI
如果您想要在此工作順序期間將裝置從 BIOS 變更為 UEFI,請參閱 在就地升級期間從 BIOS 轉換為 UEFI。
管理 BitLocker
如果您使用 BitLocker 磁碟加密,則 Windows 安裝程式預設會在升級期間自動暫停它。 Windows 安裝程式包含 /BitLocker
命令行參數來控制此行為。 如果您的安全性需求需要裝置一律有作用中的磁碟加密,請使用準備升級群組中的 OSDSetupAdditionalUpgradeOptions工作順序變數來包含 /BitLocker TryKeepActive
。 如需詳細資訊,請參閱 Windows 安裝程式命令行選項。
拿掉預設應用程式
有些客戶會在 Windows 中移除預設布建的應用程式。 例如,Bing 天氣應用程式或Microsoft Solitaire 集合。 在某些情況下,這些應用程式會在升級 Windows 之後返回。 如需詳細資訊,請 參閱如何防止從 Windows 用戶端移除的應用程式在更新期間傳回。
將執行 命令行 步驟新增至 [準備升級 ] 群組中的工作順序。 指定類似下列範例的命令列:
cmd /c reg add "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deprovisioned\Microsoft.BingWeather_8wekyb3d8bbwe" /f
後續步驟
如需詳細資訊,請參閱下列文章: