升级 Windows 10 BYOLWorkSpaces - Amazon WorkSpaces
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

升级 Windows 10 BYOLWorkSpaces

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

就地升级过程仅适用于 Windows 10 BYOLWorkSpaces.

重要

不要在升级过的上运行 SysprepWorkSpace. 如果这样做,可能会发生阻止 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) 的特殊配置文件的副本来重新创建用户配置文件。请勿使用此默认用户配置文件进行自定义。而是建议通过组策略对象 (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,如本主题后面所述。

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

已知限制

  • 在此期间,不会发生用户配置文件位置从驱动器 D 更改到驱动器 CWorkSpace重建或迁移。如果您在 Windows 10 BYOL 上执行就地升级WorkSpace然后重建或迁移它,新WorkSpace将在驱动器 D 上有用户配置文件

    警告

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

  • 如果您的默认 BYOL 捆绑包包含基于 Windows 10 早期版本的映像,则必须在WorkSpace已重建或迁移。

注册表项设置摘要

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

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

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

1— 启用就地升级

PostUpgradeRestoreProfileOND DWORD

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

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

UserShellFoldersRedirection DWORD

0— 不启用用户 Shell 文件夹的重定向

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

NoReboot DWORD

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

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

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

0—(默认)禁用Amazon最新虚拟化驱动

1— 启用启用Amazon最新虚拟化驱动

执行就地升级

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

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

执行 Windows 10 就地升级

  1. 记下 Windows 10 BYOL 上当前运行的 Windows 版本WorkSpaces您正在更新,然后重新启动它们。

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

    • KEY_LOCAL_MACHINE\ SOFTWARE\WorkSpacesConfig\enable-inplace-upgrade.ps1

    • KEY_LOCAL_MACHINE\ SOFTWARE\WorkSpacesConfig\ update-pvdrivers.ps1

    注意

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

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

    KEY_LOCAL_MACHINE\ SOFTWARE\WorkSpacesConfig\enable-inplace-upgrade.ps1\NoReboot

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

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

      KEY_LOCAL_MACHINE\ SOFTWARE\WorkSpacesConfig\enable-inplace-upgrade.ps1

      键名称:PostUpgradeRestoreProfileOND

      键值:0

      键名称:UserShellFoldersRedirection

      键值:1

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

      KEY_LOCAL_MACHINE\ SOFTWARE\WorkSpacesConfig\enable-inplace-upgrade.ps1

      键名称:PostUpgradeRestoreProfileOND

      键值:1

      键名称:UserShellFoldersRedirection

      键值:0

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

    注意

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

    (可选)确认以下键值设置为1,它会解锁WorkSpace要进行更新:

    KEY_LOCAL_MACHINE\ SOFTWARE\WorkSpacesConfig\enable-inplace-upgrade.ps1\profileImagePathDeleted (已删除)

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

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

    注意

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

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

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

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

如果您尚未设置PostUpgradeRestoreProfileOND注册表项1,用户配置文件由 Windows 重新生成并放置在C:\Users\%USERNAME%就地升级后,您就不必在将来进行 Windows 10 就地更新时再次执行上述步骤。默认情况下,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 日志 > 应用程序 > 来源:Amazon WorkSpaces

提示

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

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

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

# AWS WorkSpaces 1.28.20 # Enable In-Place Update Sample Scripts # These registry keys and values will enable scripts to execute 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 } }