Amazon WorkSpaces
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

升级 Windows 10 BYOL WorkSpace

在您的 Windows 10 自带许可 (BYOL) WorkSpaces 上,可以使用就地升级过程升级到 Windows 10 的较新版本。为此,请按照本主题中的说明操作。

就地升级过程仅适用于 Windows 10 BYOL WorkSpaces。

重要

不要在升级过的 WorkSpace 上运行 Sysprep。如果这样做,可能会发生阻止 Sysprep 完成的错误。如果您计划运行 Sysprep,请仅在没有升级过的 WorkSpace 上进行。

先决条件

  • 如果您通过使用组策略或 System Center Configuration Manager (SCCM) 推迟或暂停 Windows 10 升级,请对您的 Windows 10 WorkSpaces 启用操作系统升级。

  • 如果 WorkSpace 是 AutoStop WorkSpace,请在就地升级过程之前将其更改为 AlwaysOn WorkSpace,以便它不会在应用更新时自动停止。有关更多信息,请参阅 修改运行模式。要保留 WorkSpace 设置为 AutoStop,请在升级过程中将 AutoStop 时间更改为三小时或更长时间。

  • 就地升级过程通过制作名为 Default User (C:\Users\Default) 的特殊配置文件的副本来重新创建用户配置文件。要保留存储在 Windows 注册表中的自定义 Windows 首选项和应用程序设置,请在执行就地升级之前修改 WorkSpace 上的 C:\Users\Default\NTUSER.DAT

执行 Windows 10 就地升级

  1. 检查要更新的 Windows 10 BYOL WorkSpace 上当前运行的 Windows 版本,然后重新启动它们。

  2. 更新以下 Windows 系统注册表项,将 Enabled 的数值数据从 0 更改为 1。这些注册表更改会启用 WorkSpace 的就地升级。

    您可以手动执行此操作。如果要更新多个 WorkSpace,则可以使用组策略或 SCCM 推送 PowerShell 脚本

    • HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1

    • HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpaceConfig\update-pvdrivers.ps1

    注意

    如果这些键不存在,请重新启动 WorkSpace。重新启动系统时,应该会添加这些键。

    (可选)如果您使用诸如 SCCM 任务序列之类的托管工作流来执行升级,请将以下键值设置为 1 以防止计算机重新启动。

    HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\NoReboot

    (可选)默认情况下,WorkSpaces 将用户 shell 文件夹重定向到驱动器 D。为防止用户 shell 文件夹重定向,请将以下键值设置为 0。

    HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\UserShellFoldersRedirection

  3. 保存注册表更改后,再次重新启动 WorkSpace 以便应用更改。

    注意

    重新启动后,登录到 WorkSpace 会创建一个新的用户配置文件。您可能会在开始菜单中看到占位符图标。此问题在就地升级完成后会自动解决。

    (可选)确认以下键值设置为 1,这将取消阻止 WorkSpace 进行更新。

    HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\profileImagePathDeleted

  4. 执行就地升级。您可以使用任何您喜欢的方法,例如 SCCM、ISO 或 Windows Update (WU)。根据您的原始 Windows 10 版本和安装的应用程序数量,此过程可能需要 40-120 分钟。

  5. 更新过程结束后,请确认 Windows 版本已更新。

    注意

    如果就地升级失败,Windows 会自动回滚以使用开始升级之前已安装的 Windows 10 版本。有关疑难解答的更多信息,请参阅 Microsoft 文档

    (可选)要确认更新脚本已成功执行,请验证以下键值是否设置为 1。

    HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\WorkSpacesConfig\enable-inplace-upgrade.ps1\scriptExecutionComplete

    (可选)如果您通过将 WorkSpace 的运行模式设置为 AlwaysOn 或通过更改 AutoStop 时间段来设置它,以便就地升级过程可以不中断地运行,请将运行模式重新设置为原始设置。有关更多信息,请参阅 修改运行模式

就地升级之后,将会重新生成用户的 NTUSER.DAT 文件并放置到 C 驱动器上,这样您就不必再为以后的 Windows 10 就地升级再次执行上述步骤。默认情况下,WorkSpaces 将以下 shell 文件夹重定向到 D 驱动器。

  • D:\Users\%USERNAME%\Downloads

  • D:\Users\%USERNAME%\Desktop

  • D:\Users\%USERNAME%\Favorites

  • D:\Users\%USERNAME%\Music

  • D:\Users\%USERNAME%\Pictures

  • D:\Users\%USERNAME%\Videos

  • D:\Users\%USERNAME%\Documents

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Network Shortcuts

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Printer Shortcuts

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Recent

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\SendTo

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

  • D:\Users%USERNAME%\AppData\Roaming\Microsoft\Windows\Templates

如果将 shell 文件夹重定向到 WorkSpaces 上的其他位置,请在就地升级后对 WorkSpaces 执行必要的操作。

已知限制条件

在 WorkSpace 重建期间,NTUSER.DAT 位置不会发生更改。如果您在 Windows 10 BYOL WorkSpace 上执行就地升级,然后重建它,则新的 WorkSpace 会使用 D 驱动器上的 NTUSER.DAT 文件。另外,如果您的默认 BYOL 服务包包含基于 Windows 10 早期版本的映像,则需要在重建 WorkSpace 后再次执行就地升级。

问题排查

如果您在更新过程中遇到任何问题,可以查看以下各项进行故障排除:

  • Windows 日志,默认情况下位于以下位置:

    C:\Program Files\Amazon\WorkSpacesConfig\Logs\

    C:\Program Files\Amazon\WorkSpacesConfig\Logs\TRANSMITTED

  • Windows 事件查看器

    Windows 日志 > 应用程序 > 来源:Amazon WorkSpaces

  • 在就地升级过程中,如果您发现桌面上的某些图标快捷方式不再有效,那是因为 WorkSpaces 会将位于驱动器 D 上的任何用户配置文件移至驱动器 C 以准备升级。升级完成后,快捷方式将正常工作。

使用 PowerShell 脚本更新您的 WorkSpace 注册表

您可以使用以下示例 PowerShell 脚本来更新 WorkSpaces 上的注册表以启用就地升级。按照上一节中的步骤操作,但使用此脚本更新每个 WorkSpace 上的注册表。

# AWS WorkSpaces 2.13.18 # Enable In-Place Update Sample Scripts # These registry keys and values will enable scripts to execute on next reboot of the WorkSpace. $scriptlist = ("update-pvdrivers.ps1","enable-inplace-upgrade.ps1") $wsConfigRegistryRoot="HKLM:\Software\Amazon\WorkSpacesConfig" $Enabled = 1 foreach ($scriptName in $scriptlist) { $scriptRegKey = "$wsConfigRegistryRoot\$scriptName" if (-not(Test-Path $scriptRegKey)) { Write-Host "Registry key not found. Creating registry key '$scriptRegKey' with 'Update' enabled." New-Item -Path $wsConfigRegistryRoot -Name $scriptName -ErrorAction SilentlyContinue | Out-Null New-ItemProperty -Path $scriptRegKey -Name Enabled -PropertyType DWord -Value $Enabled | Out-Null Write-Host "Value created. '$scriptRegKey' Enabled='$((Get-ItemProperty -Path $scriptRegKey).Enabled)'" } else { Write-Host "Registry key is already present with value '$scriptRegKey' Enabled='$((Get-ItemProperty -Path $scriptRegKey).Enabled)'" if((Get-ItemProperty -Path $scriptRegKey).Enabled -ne $Enabled) { Set-ItemProperty -Path $scriptRegKey -Name Enabled -Value $Enabled Write-Host "Value updated. '$scriptRegKey' Enabled='$((Get-ItemProperty -Path $scriptRegKey).Enabled)'" } } }