你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 虚拟桌面中的自定义映像模板
通过 Azure 虚拟桌面中的自定义映像模板,可以轻松创建自定义映像,以供在部署会话主机虚拟机 (VM) 时使用。 使用自定义映像有助于为组织的会话主机 VM 实现配置标准化。 自定义映像模板在 Azure 映像生成器 上构建,专为 Azure 虚拟桌面定制。
创建过程
创建自定义映像分两个部分:
创建自定义映像模板,用于定义生成的映像中应包含的内容。
将自定义映像模板提交到 Azure 映像生成器,根据该模板生成映像。
自定义映像模板是一个 JSON 文件,其中包含你选择的源映像、分发目标、生成属性和自定义项。 Azure 映像生成器使用此模板创建自定义映像,在创建或更新主机池时,可以将该映像用作会话主机的源映像。 创建映像时,Azure 映像生成器还负责使用 sysprep 通用化映像。
自定义映像可以存储在 Azure Compute Gallery 中,也可以存储为托管映像,或者这两种方式可以同时采用。 使用 Azure Compute Gallery 可以管理自定义映像的区域复制、版本控制以及共享。 请参阅在 Azure 中创建通用 VM 的旧式托管映像,以查看对托管映像的限制。
源映像必须受 Azure 虚拟桌面支持,并且可以来自:
- Azure 市场。
- 现有的 Azure Compute Gallery 共享映像。
- 现有的托管映像。
- 现有的自定义映像模板。
我们添加了多个内置脚本供你使用,这些脚本可在使用 Azure 虚拟桌面时配置一些最常用的功能和设置。 还可以将自己的自定义脚本添加到模板中,前提是这些脚本托管在 GitHub 或 Web 服务等公用位置。 需要指定生成的持续时间,因此请确保留出足够的时间让脚本完成。 内置脚本包括根据需要重启。
下面是可添加到自定义映像模板的内置脚本的一些示例:
- 安装语言包。
- 设置操作系统的默认语言。
- 启用时区重定向。
- 禁用存储感知。
- 安装 FSLogix 并配置配置文件容器。
- 使用 Kerberos 启用 FSLogix。
- 启用适合托管网络的 RDP 短路径。
- 启用屏幕捕获保护。
- 配置 Teams 优化。 优化包括 WebRTC 重定向程序服务和 Visual C++ Redistributable。
- 配置会话超时。
- 禁用 MSIX 应用程序的自动更新。
- 添加或删除 Microsoft Office 应用程序。
- 应用 Windows 更新。
创建并分发自定义映像时,Azure 映像生成器使用用户分配的托管标识。 Azure 映像生成器使用此托管标识在订阅中创建多个资源,例如资源组、用于生成映像的 VM、密钥保管库和存储帐户。 VM 需要访问 Internet 才能下载内置脚本或你添加的自己的脚本。 内置脚本存储在 RDS-templates GitHub 存储库中 (https://github.com/Azure/RDS-Templates)。
可以选择是否希望 VM 连接到现有虚拟网络和子网,这将使 VM 能够访问你可能向该虚拟网络提供的其他资源。 如果未指定现有虚拟网络,则会创建临时虚拟网络、子网和公共 IP 地址供 VM 使用。 有关网络选项的详细信息,请参阅 Azure VM 映像生成器网络选项。
资源
创建自定义映像模板时会创建资源组。 默认名称的格式为 IT_<ResourceGroupName>_<TemplateName>_<GUID>
,用于存储生成期间所需的资源。 这些资源大多数是临时的,在生成完成后会被删除,存储帐户除外。
在存储帐户中,最多创建三个容器:
如果在自定义映像模板中包含任何自定义脚本,则 shell 是存储自定义脚本的位置。
packerlogs 有一个或多个使用 GUID 命名的文件夹,这些文件夹包含一个名为 customization.log 的文件。 此文件包含 Azure 映像生成器使用的 Hashicorp Packer 服务的所有输出。 可以随时下载这些输出,以查看进度、错误和完成状态。
vhds 先临时存储生成的虚拟硬盘 (VHD) 文件,然后再作为托管映像进行存储或存储在 Azure Compute Gallery 中。
成功创建自定义映像后,如果不需要日志,可以删除与模板关联的资源组 IT_<ResourceGroupName>_<TemplateName>_<GUID>
。 如果删除包含映像的资源组,也会删除该资源组。