利用SCCM完成Windows 10 1909 In-Place Upgrade
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了利用SCCM完成Windows 10 1909 In-Place Upgrade,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2792字,纯文字阅读大概需要4分钟。
内容图文
![利用SCCM完成Windows 10 1909 In-Place Upgrade](/upload/InfoBanner/zyjiaocheng/927/4fff9913ce0e43cb8ee9d0a4aaa65c67.jpg)
Windows 10 1809的support截至日期在2021年5月11号,没有了support之后,微软将停止提供每个月的Windows Update,将产生安全问题。
对于企业客户来说要及早进行并完成相关的GPO及APP测试,并在此之前推送Windows Upgrade到1909版本以上。
相关的lifecycle信息来自微软。
https://docs.microsoft.com/en-us/lifecycle/products/windows-10-enterprise-and-education
手动升级Windows 10将会给运维带来极大挑战和人力成本,利用客户端管理软件是最好的选择,可以利用SCCM创建application来做升级,以下分享一下大致的方案。
创建1909 升级Application
- detection rule 可以用powershell脚本通过wmi来检测系统版本
利用win32_computeropratingsystem
- 具体的升级兼容性检测以及升级处理部分
获取1909的原版安装ISO文件,解压得到安装文件如下。
setup是执行升级文件,对于这个执行文件的参数可以从微软官网获取。
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options
直接执行升级操作可能带来失败,从而花费大量时间回滚,有一个更好的方法是指定Compat参数先执行升级兼容性检测,检测通过后再执行升级操作,增加成功率,减少失败带来的等待时间。
直接参数如下
"setup.exe" "/Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly"
命令完成后会返回检测结果
如果返回的值为0xC1900210表示没有发现问题,可以继续执行升级操作。
具体的返回值如下
https://docs.microsoft.com/en-us/windows/deployment/upgrade/upgrade-error-codes
用powershell脚本来处理
Write-Host "Validating if Windows 10 1909 Update can be applied"
$ValCode = Start-Process -FilePath "setup.exe" -ArgumentList "/Auto Upgrade /Quiet /NoReboot /DynamicUpdate Disable /Compat ScanOnly" -Wait -PassThru
$ValCodeHex = [convert]::ToString($ValCode.ExitCode, 16)
Write-Host "Exit Code for Windows 10 Validation: 0x$($ValCodeHex)"
switch ($ValCodeHex) {
"C1900210" { Write-Host "No issues found. Proceeding with the update." }
"C1900208" { Write-Host "Compatibility issues found. Exiting the upgrade."; QuitFailure -Code '1900208'}
"C1900204" { Write-Host "Migration choice not available. Exiting the upgrade."; QuitFailure -Code '1900204' }
"C1900200" { Write-Host "Does not meet system requirements for Windows 10. Exiting the upgrade."; QuitFailure -Code '1900200' }
"C190020E" { Write-Host "Insufficient free disk space. Exiting the upgrade."; QuitFailure -Code '190020E' }
default { Write-Host "Upgrade failed. Exiting the upgrade."; QuitFailure -Code '1' }
}
$ExitCode = Start-Process -FilePath "setup.exe" -ArgumentList '/auto upgrade /quiet /noreboot /showoobe none /DynamicUpdate Disable' -Wait -PassThru
Write-Host "ExitCode of Setup: $($ExitCode.ExitCode)"
- 修复SCCM客户端
升级1909后系统会重建。Net运行库,有一定几率会导致SCCM agent损坏,可以添加一个计划任务调用ccmrepair.exe来修复SCCM,调用脚本执行如下Start-Service -Name CcmExec; Start-Sleep -Seconds 5; If((Get-Service -Name CcmExec).Status -ne 'Running'){ & C:\windows\ccm\ccmrepair.exe | out-null}
内容总结
以上是互联网集市为您收集整理的利用SCCM完成Windows 10 1909 In-Place Upgrade全部内容,希望文章能够帮你解决利用SCCM完成Windows 10 1909 In-Place Upgrade所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。