升级 Windows BYOL WorkSpaces - Amazon WorkSpaces

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

升级 Windows BYOL WorkSpaces

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

就地升级过程仅适用于 Windows 10 和 11 BY WorkSpaces OL。

重要

不要在升级后的版本上运行 Sysprep。 WorkSpace如果这样做,可能会发生阻止 Sysprep 完成的错误。如果您计划运行 Sysprep,请仅在尚未升级的上执行 WorkSpace 此操作。

注意

你可以使用此过程将 Windows 10 和 11 升级 WorkSpaces 到更新的版本。但是,此过程不能用于将你的 Windows 10 升级 WorkSpaces 到 Windows 11。

先决条件

  • 如果您使用组策略或系统中心配置管理器 (SCCM) 推迟或暂停 Windows 10 和 11 升级,请为 Windows 10 和 11 启用操作系统升级。 WorkSpaces

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

  • 就地升级过程通过制作名为 Default User (C:\Users\Default) 的特殊配置文件的副本来重新创建用户配置文件。请勿使用此默认用户配置文件进行自定义。而是建议通过组策略对象 (GPO) 对用户配置文件进行任何自定义。通过 GPO 进行的自定义设置可以很容易地进行修改或回滚,并且不易出错。

  • 就地升级过程只能备份和重新创建一个用户配置文件。如果您在驱动器 D 上有多个用户配置文件,请删除除所需配置文件之外的所有用户配置文件。

注意事项

就地升级过程使用两个注册表脚本(enable-inplace-upgrade.ps1update-pvdrivers.ps1)对您的注册表脚本进行必要的更改 WorkSpaces ,从而使 Windows 更新进程能够运行。这些更改涉及在驱动器 C 而不是驱动器 D 上创建(临时)用户配置文件。如果驱动器 D 上已存在用户配置文件,则该原始用户配置文件中的数据保留在驱动器 D 上。

默认情况下,在中 WorkSpaces 创建用户配置文件D:\Users\%USERNAME%enable-inplace-upgrade.ps1 脚本会将 Windows 配置为在 C:\Users\%USERNAME% 中创建新的用户配置文件,并将用户 Shell 文件夹重定向到 D:\Users\%USERNAME%。这个新的用户配置文件是在用户首次登录时创建的。

就地升级后,您可以选择将用户配置文件保留在驱动器 C 上,以允许用户在将来使用 Windows 更新进程升级其计算机。但是,请注意 WorkSpaces ,如果配置文件存储在驱动器 C 上,则无法在不丢失用户配置文件中的所有数据的情况下重建或迁移,除非您自己备份和恢复这些数据。如果您决定将配置文件保留在驱动器 C 上,则可以使用UserShellFoldersRedirection注册表项将用户 shell 文件夹重定向到驱动器 D,如本主题后面所述。

为确保您可以重建或迁移您的 shell, WorkSpaces 并避免用户 shell 文件夹重定向出现任何潜在问题,我们建议您在就地升级后选择将用户配置文件还原到驱动器 D。您可以使用 PostUpgradeRestoreProfileOnD 注册表项来执行此操作,如本主题后面所述。

已知限制条件

  • 在 WorkSpace 重建或迁移过程中,用户配置文件位置不会从驱动器 D 更改为驱动器 C。如果您在 Windows 10 或 11 BYOL 上执行就地升级, WorkSpace 然后对其进行重建或迁移,则新版本 WorkSpace 将在驱动器 D 上保存用户配置文件。

    警告

    如果在就地升级后将用户配置文件保留在驱动器 C 上,则在重建或迁移过程中存储在驱动器 C 上的用户配置文件数据将丢失,除非您在重建或迁移之前手动备份用户配置文件数据,并在运行重建或迁移过程后手动还原用户配置文件数据。

  • 如果您的默认 BYOL 包包含基于 Windows 10 和 11 早期版本的映像,则必须在重建或迁移后再次执行就 WorkSpace 地升级。

注册表项设置摘要

要启用就地升级过程并指定您要在升级后放置用户配置文件的位置,您必须设置多个注册表项。

注册表路径:HKL M:\Software\Amazon\WorkSpacesConfig\ .ps1 enable-inplace-upgrade
注册表项 Type
Enabled (已启用) DWORD

0 –(默认值)禁用就地升级

1 – 启用就地升级

PostUpgradeRestoreProfileOnD DWORD

0 –(默认值)在就地升级后,不尝试还原用户配置文件路径

1-就地升级后恢复用户配置文件路径 (ProfileImagePath)

UserShellFoldersRedirection DWORD

0 – 不对用户 Shell 文件夹进行重定向

1 –(默认值)在用户配置文件在 C:\Users\%USERNAME% 上重新生成后,将用户 Shell 文件夹重定向到 D:\Users\%USERNAME%

NoReboot DWORD

0 –(默认值)允许您控制在修改用户配置文件的注册表后何时重启

1 — 不允许脚本 WorkSpace 在修改用户配置文件的注册表后重新启动

注册表路径:HKL M:\Software\Amazon\WorkSpacesConfig\ up date-pvdrivers.ps1
注册表项 Type
Enabled (已启用) DWORD

0 —(默认)禁用 AWS PV 驱动程序更新

1 — 启用 AWS PV 驱动程序更新

执行就地升级

要在 BYOL 上启用就地升级 Windows WorkSpaces,必须设置某些注册表项,如以下过程所述。您还必须设置某些注册表项,以指示您希望在完成就地升级后在其中放置用户配置文件的驱动器(C 或 D)。

您可以手动进行这些注册表更改。如果您有多个 WorkSpaces 要更新,则可以使用组策略或 SCCM 来推送脚本。 PowerShell 有关示例 PowerShell脚本,请参阅使用 PowerShell 脚本更新您的 WorkSpace 注册表

执行 Windows 10 和 11 的就地升级
  1. 记下你正在更新的 Windows 10 和 11 BYOL WorkSpaces 上当前运行的是哪个版本的 Windows,然后重新启动它们。

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

    • HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .ps1 WorkSpacesConfig enable-inplace-upgrade

    • HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ update-pvdrivers.ps1 WorkSpacesConfig

    注意

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

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

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

  3. 决定您希望在就地升级过程后将用户配置文件放在哪个驱动器上(有关详细信息,请参阅注意事项),并按以下方式设置注册表项:

    • 如果您希望在升级后用户配置文件位于驱动器 C 上,请设置:

      HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .ps1 WorkSpacesConfig enable-inplace-upgrade

      密钥名称:PostUpgradeRestoreProfileOnD

      键值:0

      密钥名称:UserShellFoldersRedirection

      键值:1

    • 如果您希望在升级后用户配置文件位于驱动器 D 上,请设置:

      HKEY_LOCAL_MACHINE\ SOFTWARE\ 亚马逊\\ .ps1 WorkSpacesConfig enable-inplace-upgrade

      密钥名称:PostUpgradeRestoreProfileOnD

      键值:1

      密钥名称:UserShellFoldersRedirection

      键值:0

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

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

    • 等待 10 分钟以确保畅通 WorkSpace 无阻。

    (可选)确认将以下密钥值设置为 1,这将解除 WorkSpace 对更新的阻止:

    HKEY_LOCAL_MACHINE\ SOFTWARE\ Amazon\\ .ps1\ 已删除 WorkSpacesConfig enable-inplace-upgrade profileImagePath

  5. 执行就地升级。您可以使用任何您喜欢的方法,例如 SCCM、ISO 或 Windows Update (WU)。根据你最初的 Windows 10 和 11 版本以及安装了多少应用程序,此过程可能需要 40 到 120 分钟。

    注意

    就地升级过程可能至少需要一个小时。 WorkSpace 实例状态可能显示为升级UNHEALTHY期间。

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

    注意

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

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

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

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

如果您尚未将 PostUpgradeRestoreProfileOnD 注册表项设置为 1,则用户配置文件将由 Windows 重新生成并在就地升级C:\Users\%USERNAME%后放入,这样将来的 Windows 10 和 11 就地升级就不必再次执行上述步骤。默认情况下,enable-inplace-upgrade.ps1 脚本将以下 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 之后对执行必要的操作。

故障排除

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

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

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

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

  • Windows 事件查看器

    Windows 日志 > 应用程序 > 来源:亚马逊 WorkSpaces

提示

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

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

您可以使用以下示例 PowerShell 脚本更新您的注册表 WorkSpaces 以启用就地升级。请按照执行就地升级,但使用此脚本更新每个注册表 WorkSpace。

# AWS WorkSpaces 1.28.20 # Enable In-Place Update Sample Scripts # These registry keys and values will enable scripts to run on the next reboot of the WorkSpace. $scriptlist = ("update-pvdrivers.ps1","enable-inplace-upgrade.ps1") $wsConfigRegistryRoot="HKLM:\Software\Amazon\WorkSpacesConfig" $Enabled = 1 $script:ErrorActionPreference = "Stop" foreach ($scriptName in $scriptlist) { $scriptRegKey = "$wsConfigRegistryRoot\$scriptName" try { if (-not(Test-Path $scriptRegKey)) { Write-Host "Registry key not found. Creating registry key '$scriptRegKey' with 'Update' enabled." New-Item -Path $wsConfigRegistryRoot -Name $scriptName | 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)'" } } } catch { write-host "Stopping script, the following error was encountered:" `r`n$_ -ForegroundColor Red break } }