你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 Azure 虚拟桌面准备和自定义 VHD 映像

本文介绍如何准备主虚拟硬盘 (VHD) 映像以上传到 Azure,包括如何创建虚拟机 (VM) 并在其中安装软件。 这些说明适用于特定于 Azure 虚拟桌面的配置,该配置可与组织的现有流程配合使用。

重要

建议使用 Azure Compute 库中的映像或Azure 门户。 但是,如果确实需要使用自定义映像,请确保尚未在 VM 上安装 Azure 虚拟桌面代理。 如果这样做,请按照 步骤 1:卸载所有代理、启动加载程序和堆栈组件程序 中的说明从 VM 卸载代理和所有相关组件,或者从已卸载代理的 VM 创建新映像。 将自定义映像与 Azure 虚拟桌面代理配合使用可能会导致映像出现问题,例如阻止注册,因为主机池注册令牌已过期,这将阻止用户会话连接。

创建 VM

Windows 10 企业版多会话可在 Azure Compute Gallery 或 Azure 门户 中使用。 有两个选项可用于自定义此映像。

第一个选项是按照 从托管映像创建 VM 中的说明,在 Azure 中预配虚拟机 (VM) ,然后跳到 软件准备和安装

第二个选项是在本地创建映像,方法是下载映像、预配 Hyper-V VM 并对其进行自定义以满足你的需求,我们将在下一节中介绍这一点。

本地映像创建

可以按照将 映像版本导出到托管磁盘 中的说明,然后 从 Azure 下载 Windows VHD 中的说明下载映像。 将映像下载到本地位置后,打开 Hyper-V 管理器 以使用复制的 VHD 创建 VM。 以下说明是一个简单的版本,但可以在 Hyper-V 中创建虚拟机中找到更详细的说明。

使用复制的 VHD 创建 VM:

  1. 打开 “新建虚拟机向导”。

  2. 在“指定生成”页上,选择“ 第 1 代”。

    “指定生成”页的屏幕截图。已选择“第 1 代”选项。

  3. 在“检查点类型”下,通过取消选中“检查”框来禁用检查点。

    “检查点”页的“检查点类型”部分的屏幕截图。

还可以在 PowerShell 中运行以下 cmdlet 以禁用检查点。

Set-VM -Name <VMNAME> -CheckpointType Disabled

固定磁盘

如果从现有 VHD 创建 VM,则默认情况下会创建动态磁盘。 可以通过选择 “编辑磁盘...” 将其更改为固定磁盘,如下图所示。 有关更详细的说明,请参阅 准备要上传到 Azure 的 Windows VHD 或 VHDX

“编辑磁盘”选项的屏幕截图。

还可以运行以下 PowerShell 命令,将磁盘更改为固定磁盘。

Convert-VHD –Path c:\test\MY-VM.vhdx –DestinationPath c:\test\MY-NEW-VM.vhd -VHDType Fixed

软件准备和安装

本部分介绍如何准备和安装 FSLogix 和 Windows Defender,以及应用和映像注册表的一些基本配置选项。

如果要在 VM 上安装 Microsoft 365 企业应用版 和 OneDrive,请转到在主 VHD 映像上安装 Office,并按照其中的说明安装应用。 完成后,返回到本文。

如果用户需要访问某些 LOB 应用程序,我们建议在完成本部分的说明后安装它们。

设置 FSLogix 配置文件容器

若要将 FSLogix 容器包含在映像中,请按照 使用文件共享为主机池创建配置文件容器中的说明进行作。 可以使用 本快速入门测试 FSLogix 容器的功能。

为 FSLogix 配置防病毒排除项

如果在 VM 中配置了 Windows Defender,请确保它配置为在附件期间不扫描 VHD 和 VHDX 文件的全部内容。 可以在配置防病毒文件和文件夹排除项中找到 FSLogix 的排除项列表。

此配置仅在附件期间删除 VHD 和 VHDX 文件的扫描,但不会影响实时扫描。

如果你使用的是 Windows Defender,则可以 在基于文件扩展名和文件夹位置配置和验证排除项中了解有关如何配置 Windows Defender 以排除某些文件的详细信息。

禁用自动汇报

通过本地组策略禁用自动汇报:

  1. 打开“本地组策略 编辑器\管理模板\Windows 组件\Windows 更新”。
  2. 右键单击“ 配置自动更新 ”并将其设置为 “已禁用”。

还可以从提升的 PowerShell 提示符运行以下命令,以禁用自动汇报。

New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name NoAutoUpdate -PropertyType DWORD -Value 1 -Force

指定Windows 10电脑的“开始”布局 (可选)

从提升的 PowerShell 提示符运行以下命令,为Windows 10电脑指定“开始”布局。

New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Name SpecialRoamingOverrideAllowed -PropertyType DWORD -Value 1 -Force

设置时区重定向

可以在组策略级别强制实施时区重定向,因为主机池中的所有 VM 都是同一安全组的一部分。

重定向时区:

  1. 在 Active Directory 服务器上,打开组策略管理控制台
  2. 展开域并组策略对象。
  3. 右键单击为组策略设置创建的组策略对象,然后选择“编辑”。
  4. 组策略管理编辑器,导航到计算机配置>策略>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>设备和资源重定向
  5. 启用 “允许时区重定向 ”设置。

还可以从提升的 PowerShell 提示符运行以下命令,以重定向时区:

New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name fEnableTimeZoneRedirection -PropertyType DWORD -Value 1 -Force

禁用存储感知

对于使用Windows 10 企业版或Windows 10 企业版多会话的 Azure 虚拟桌面会话主机,我们建议禁用存储感知。 安装作系统的磁盘通常较小,用户数据通过配置文件漫游远程存储。 此方案导致存储感知认为磁盘的可用空间严重不足。 可以使用注册表在映像中禁用存储感知,或者在部署会话主机后使用组策略或Intune禁用存储感知。

  • 对于注册表,可以从提升的 PowerShell 提示符运行以下命令以禁用存储感知:

    New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy" -Name 01 -PropertyType DWORD -Value 0 -Force
    
  • 对于组策略,请将“计算机配置管理模板”设置为“计算机配置>管理模板>>>“允许存储感知”设置为“禁用”来配置组策略对象。

  • 对于Intune,请使用设置目录配置配置文件,并将“存储>感知全局”设置为“阻止”。

包括其他语言支持

本文不介绍如何配置语言和区域支持。 有关详细信息,请参阅以下文章:

其他应用程序和注册表配置

本部分介绍应用程序和作系统配置。 本部分中的所有配置都是通过添加、更改或删除注册表项来完成的。

有关多会话Windows 10 企业版遥测数据的反馈中心集合,请从提升的 PowerShell 提示符运行以下命令:

New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection" -Name AllowTelemetry -PropertyType DWORD -Value 3 -Force

若要防止 Watson 崩溃,请从提升的 PowerShell 提示符运行以下命令:

Remove-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\Windows Error Reporting" -Name Corporate* -Force -Verbose

若要启用 5k 分辨率支持,请从提升的 PowerShell 提示符运行以下命令。 必须先运行命令,然后才能启用并行堆栈。

New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name MaxMonitors -PropertyType DWORD -Value 4 -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name MaxXResolution -PropertyType DWORD -Value 5120 -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name MaxYResolution -PropertyType DWORD -Value 2880 -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\rdp-sxs" -Name MaxMonitors -PropertyType DWORD -Value 4 -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\rdp-sxs" -Name MaxXResolution -PropertyType DWORD -Value 5120 -Force
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\rdp-sxs" -Name MaxYResolution -PropertyType DWORD -Value 2880 -Force

准备映像以上传到 Azure

完成配置并安装所有应用程序后,请按照 准备 Windows VHD 或 VHDX 以上传到 Azure 中的说明准备映像。

准备上传映像后,请确保 VM 保持关闭或已解除分配状态。

将主映像上传到 Azure 中的存储帐户

此部分仅适用于在本地创建主映像时。

以下说明将介绍如何将主映像上传到 Azure 存储帐户。 如果还没有 Azure 存储帐户,请按照 本文 中的说明创建一个。

  1. 将 VM 映像 (VHD) 转换为“已修复”(如果尚未修复)。 如果未将映像转换为“已修复”,则无法成功创建映像。

  2. 将 VHD 上传到存储帐户中的 Blob 容器。 可以使用 存储资源管理器 工具快速上传。 若要了解有关存储资源管理器工具的详细信息,请参阅存储资源管理器入门

    Microsoft Azure 存储资源管理器工具搜索窗口的屏幕截图。选中“将 .vhd 或 vhdx 文件作为页 blob 上传 (建议) ”框检查。

  3. 接下来,转到浏览器中的Azure 门户并搜索“图像”。搜索应会引导到“创建图像”页,如以下屏幕截图所示:

    Azure 门户的“创建图像”页的屏幕截图,其中填充了图像的示例值。

  4. 创建映像后,应会看到通知,如以下屏幕截图所示:

    “已成功创建图像”通知的屏幕截图。

后续步骤

创建映像后,可以创建或更新主机池。 若要详细了解如何创建和更新主机池,请参阅以下文章:

如果在准备或自定义 VHD 映像后遇到连接问题,检查故障排除指南寻求帮助。