Citrix DaaS™

管理计算机目录

注意:

本文介绍如何使用 Studio 和 PowerShell 命令管理目录。如果您使用“快速部署”节点创建了目录,并继续使用该节点管理目录,请遵循在快速部署中管理目录

简介

您可以从计算机目录中添加或删除计算机,以及重命名、更改说明或管理目录的 Active Directory 计算机帐户。

目录维护还可以包括确保每台计算机都具有最新操作系统更新、防病毒软件更新、操作系统升级或配置更改的任务。

  • 包含使用 Machine Creation Services™ (MCS) 创建的池化随机计算机的目录通过更新目录中使用的映像,然后更新计算机来维护计算机。此方法可让您高效地更新大量用户计算机。
  • 对于包含静态、永久分配的计算机的目录,您可以管理这些目录当前使用的映像或模板,但只有稍后添加到目录中的计算机才会使用新映像或模板创建。
  • 对于远程电脑访问目录,您可以在 Studio 外部管理用户计算机的更新。可以使用第三方软件分发工具单独或集体执行此任务。

有关创建和管理与主机管理程序和云服务的连接的信息,请参阅创建和管理连接和资源

注意:

MCS 不支持 Windows 10 IoT Core 和 Windows 10 IoT Enterprise。有关详细信息,请参阅 Microsoft 站点

关于持久实例

更新包含持久计算机的 MCS 目录的主映像时,添加到目录中的任何新计算机都将使用更新后的映像。现有计算机将继续使用原始主映像。更新映像的过程与任何其他类型的目录相同。请考虑以下事项:

  • 对于持久磁盘目录,预先存在的计算机不会更新到新映像,但添加到目录中的任何新计算机都将使用新映像。
  • 对于非持久性磁盘目录,仅当在 Studio 或 PowerShell 中重新启动计算机时,计算机映像才会在下次更新。如果从 Studio 外部的虚拟机管理程序重新启动计算机,则磁盘不会重置。
  • 对于非持久性目录,如果您希望为不同的计算机使用不同的映像,则这些映像必须位于单独的目录中。

管理计算机目录

您可以通过两种方式管理计算机目录:

使用 Studio

本节详细介绍了如何使用 Studio 管理目录:

查看目录详细信息

  1. 使用搜索功能查找特定的计算机目录。有关说明,请参阅搜索实例
  2. 根据需要从搜索结果中选择一个目录。
  3. 有关目录列的说明,请参阅下表。

    说明
    计算机目录

    目录的名称和分配类型。分配类型包括
    • 随机:目录中的计算机随机分配给用户。
    • 永久:目录中的计算机永久分配给用户。
    计算机类型




    目录中计算机支持的会话类型。可能的值包括
    • 操作系统类型:多会话操作系统(虚拟);用户数据:丢弃。
    • 操作系统类型:多会话操作系统(虚拟);用户数据:在本地磁盘上
    • 操作系统类型:单会话操作系统(远程电脑访问)
    • 操作系统类型:单会话操作系统(虚拟);用户数据:丢弃
    • 操作系统类型:单会话操作系统(虚拟);用户数据:在本地磁盘上
    计算机数量 目录中的计算机数量和预配方法。可能的预配方法包括:Machine Creation Services (MCS 计算机)、手动和 Citrix Provisioning™ Services。
    已分配数量 目录中分配给交付组的计算机数量。
    文件夹 目录在计算机目录树中的位置。它显示目录所在的文件夹名称(包括尾随反斜杠),如果目录位于根级别,则显示 -
    VDA 升级 VDA 升级状态。可能的值包括:未配置、已计划、可用和最新。
    映像状态 目录映像更新的状态。仅适用于非持久性计算机目录。可能的值包括:完全更新、部分更新、待定更新、正在准备
  4. 单击底部详细信息窗格中的选项卡,可查看有关所选目录的更多信息。

    选项卡 描述
    详细信息 总结了关键的计算机目录设置,例如计算机类型、预配方法、服务帐户、操作系统和 VDA 版本,使您能够快速查看和管理资源。
    模板属性



    仅适用于 MCS 预配的目录。
    显示所选目录的详细预配信息,包括
    • 计算机模板属性
    • 管理程序特定详细信息
    • 计算机配置文件属性
    计算机 显示所选目录中计算机名称的分页列表。
    交付组
    适用于远程电脑目录。
    显示与所选目录关联的交付组。它显示交付组名称和目录关联。
    标签
    在多租户环境中不可用。
    显示分配给所选计算机目录的标签名称和标签说明。
    工作区环境管理
    仅当 WEM 服务已预配且可访问时才可见。
    显示工作区环境管理系统优化设置。
    成本洞察


    仅适用于 Azure MCS 目录,此项显示
    • 过去 30 天内产生的总成本。
    • 当前 30 天总成本与前 30 天期间的比较。
    要查看此选项卡,需要 Citrix Cost Management > Manage > Read cost 权限(云管理员的默认权限),并且需要 Microsoft.CostManagement/query/read Azure 权限才能查看成本详细信息。
    故障排除 显示目录错误或警告以及建议的操作。

将计算机添加到目录

开始之前:

  • 确保虚拟化主机(管理程序或云服务提供商)具有足够的处理器、内存和存储空间来容纳其他计算机。
  • 确保您有足够的未使用的 Active Directory 计算机帐户。如果您使用现有帐户,则可以添加的计算机数量受可用帐户数量的限制。
  • 如果您使用 Studio 为其他计算机创建 Active Directory 计算机帐户,则必须具有相应的域管理员权限。

提示:

如果用于将计算机添加到计算机目录的 Citrix DaaS 帐户具有受限的 AD 权限,请在“登录到…”屏幕中添加您打算使用的所有 Cloud Connector。

要将计算机添加到目录:

  1. 在 Studio 中,在左侧窗格中选择 Machine Catalogs
  2. 选择一个计算机目录,然后在操作栏中选择 Add machines
  3. Virtual Machines 页面上,选择要添加的虚拟机数量。
  4. Machine Identities 页面上,按如下方式配置设置:

    • 从列表中选择一个身份。

    • 如果适用,请指明是创建帐户还是使用现有帐户,以及这些帐户的位置(域)。

      如果现有 Active Directory 帐户不足以满足您要添加的虚拟机数量,请选择创建帐户的域和位置。

      如果您使用现有 Active Directory 帐户,请浏览到这些帐户或选择 Import 并指定一个包含帐户名称的 .csv 文件。请确保有足够的帐户可用于您要添加的所有计算机。Studio 管理这些帐户。允许该界面重置所有帐户的密码,或者指定帐户密码,该密码必须对所有帐户都相同。

    • 如果此身份池被其他目录使用,则无法使用 Studio 将其更改为其他池。请改用 Set-ProvScheme PowerShell cmdlet。有关详细信息,请参阅 Citrix Virtual Apps and Desktops SDK Documentation

    • 指定帐户命名方案,使用井号标记指示顺序数字或字母出现的位置。例如,命名方案 PC-Sales-##(选择 0-9)将生成名为 PC-Sales-01、PC-Sales-02、PC-Sales-03 等的计算机帐户。

    • (可选)您可以指定帐户名称的开头。

      指定帐户名称的开头时,请注意以下情况:如果起始数字或字母已在使用中,则创建的第一个帐户将使用其后最近的未使用数字或字母命名。

      请参阅 Manage the sequence number of the machine name,以通过 PowerShell 命令自定义使用 MCS 部署的计算机的序列号。

  5. Domain Credentials 页面上,选择 Enter credentials 并输入具有足够权限的用户凭据以创建计算机帐户。

计算机作为后台进程创建,在创建大量计算机时可能需要很长时间。即使您关闭 Studio,计算机创建也会继续。

使用 CSV 文件批量将计算机添加到目录

您可以使用 CSV 文件批量添加计算机。此功能适用于所有目录,通过 MCS 预配的目录除外。

要批量将计算机添加到目录,请完成以下步骤:

  1. 在 Studio 中,在左侧窗格中选择 计算机目录
  2. 选择一个计算机目录,然后在操作栏中选择 添加计算机添加计算机 窗口随即出现。
  3. 选择 添加 CSV 文件批量添加计算机 窗口随即出现。
  4. 选择 下载 CSV 模板
  5. 填写模板文件。
  6. 拖动或浏览到文件以上传该文件。
  7. 选择 验证 以对导入执行验证检查。
  8. 选择 导入 以完成此过程。

使用 CSV 文件添加计算机时的注意事项

注意:

  • 对于非 Active Directory 用户,您必须按此格式键入其名称:<identity provider>:<user name>。示例:AzureAD:username
  • VM 名称区分大小写。输入 VM 路径时,请确保正确输入 VM 名称。

编辑 CSV 模板文件时,请注意以下事项:

  • 此功能让您能够更灵活地通过 CSV 文件批量添加计算机。在该文件中,您可以仅添加计算机(用于用户自动分配)或添加计算机以及用户分配。请按以下格式输入数据:

    • 对于计算机帐户和用户名 (samName) 对:

    • Domain\ComputerName1, Domain\Username1
    • Domain\ComputerName2, Domain\Username1;Domain\Username2
    • 域\ComputerName3, AzureAD:用户名

    • 仅限计算机帐户:

    • Domain\ComputerName1
    • Domain\ComputerName2

    • 对于 VM 和用户名对:

    • XDHyp:\Connections\ConnectionName\RegionName\vm.folder\VMName1.vm,Domain\ComputerName1,Domain\Username1
    • XDHyp:\Connections\ConnectionName\RegionName\vm.folder\VMName2.vm,Domain\ComputerName2,Domain\Username2

    • 仅限 VM:

    • XDHyp:\Connections\ConnectionName\RegionName\vm.folder\VMName1.vm,Domain\ComputerName1
    • XDHyp:\Connections\ConnectionName\RegionName\vm.folder\VMName2.vm,Domain\ComputerName2

      例如: XDHyp:\Connections\xpace-scale\East US.region\vm.folder\wsvdaV3-2.vm

      其中,

    • xpace-scale 是 ConnectionName:在 托管 > 添加连接和资源 中输入的连接名称。有关详细信息,请参阅 创建连接和资源
    • East US.region 是 RegionName:区域名称,.region 作为扩展名。
    • wsvdaV3-2.vm 是 VMName:虚拟机名称,.vm 作为扩展名。
  • 一个文件可包含的最大计算机数为 1,000 台。要导入 1,000 台以上的计算机,请将它们分散到不同的文件中,然后逐个导入这些文件。建议您导入的计算机不超过 1,000 台。否则,目录创建可能需要很长时间才能完成。

您还可以在同一“添加计算机”页面上从目录中导出计算机。导出的计算机 CSV 文件可用作批量添加计算机时的模板。要导出计算机:

  1. 在 Studio 中,选择左侧窗格中的“计算机目录”。
  2. 选择一个计算机目录,然后在操作栏中选择“添加计算机”。“添加计算机”窗口随即显示。
  3. 选择“导出到 CSV 文件”。将下载一个包含计算机列表的 CSV 文件。
  4. 根据需要打开 CSV 文件以添加或编辑计算机。要使用保存的 CSV 文件批量添加计算机,请参阅上一节 使用 CSV 文件批量添加计算机到目录

注意:

  • 此功能不适用于远程 PC 访问和 MCS 预配的目录。

  • CSV 文件中的计算机导出和导入仅在相同类型的目录之间受支持。

使用 WebSocket VDA 注册工具将计算机注册到目录

WebSocket VDA 注册工具方便了 VDA 计算机的基于令牌的注册。此工具通过使用注册令牌将 VDA 添加到计算机目录,帮助您将连接转换为 WebSocket 连接。

注意:

此工具旨在注册尚未注册到任何计算机目录的 VDA 计算机。

按照说明运行注册工具:

  1. 登录到 VDA。
  2. C:\Program Files\Citrix\Virtual Desktop Agent\Web Socket Vda Enrollment Tool 中找到工具 EnrollMachine.exe
  3. 使用适当的输入参数运行该工具。例如, EnrollMachine.exe -websocket_token_string:xxxxxxxxx

下表描述了注册工具的输入参数:

参数名称 必需 描述 示例
-websocket_token_stdin

读取注册令牌。 .\EnrollMachine.exe -websocket_token_stdin
-websocket_token_string 直接从命令行参数读取注册令牌。 .\EnrollMachine.exe -websocket_token_string:<token>
-websocket_token_file:[token-file-path] 从提供的路径读取注册令牌。 .\EnrollMachine.exe -websocket_token_file:C:\token\test2.txt
log:[log-file-path] 显示注册工具日志。 .\EnrollMachine.exe log:[C:\ProgramData\Citrix\EnrollMachine\EnrollMachine.txt]
-help 显示简要帮助文本。 .\EnrollMachine.exe -help

成功注册后,您将在工具和日志中收到成功消息。请务必登录 Studio 以验证 VDA 计算机是否已添加到目录中,以及计算机的状态是否已注册。

故障排除

默认情况下,您可以在以下位置找到注册工具的日志:

C:\ProgramData\Citrix\EnrollMachine\EnrollMachine.txt

如果您为日志指定了不同的路径,可以使用 log:[log-file-path] 来检索日志。

下表列出了注册工具返回的代码:

代码 字符串 描述
0 成功 VDA 已成功添加到计算机目录。
-1 无效参数 注册令牌中的输入参数无效。
-2 未找到代理代理 未找到代理代理服务。
-3 令牌无效 输入的令牌无效。
-4 令牌缺少所需声明 令牌缺少所需的声明,例如 CustomerId 或注册 URI。
-5 内部错误 发生了一般性错误。
-6 超时 任务已超时。
-7 无法确定计算机AD加入状态 返回计算机AD加入状态的服务失败。
-8 AD计算机未能找到Sid 返回AD计算机Sid的服务失败。
-9 注册请求失败 请求因HTTP错误而失败。
-10 注册响应缺少必填字段 注册工具响应缺少参数 VirtualSiteId
-11 权限不足 您没有执行此任务所需的权限。
-12 确定计算机 AAD 加入状态失败 检查计算机 AD 加入状态的服务抛出错误。
-13 AAD 计算机未能找到设备 ID 系统添加的附加参数 AAD device id 为空。
-14 AAD 设备 ID 无效 系统添加的附加参数 AAD device id 不是有效的 GUID。
-15 无有效 MAC 地址 MAC 地址无效。
-16 FailedToGetComputerHostNameForVdaInstanceName 未能获取计算机主机名以设置附加参数 VdaInstanceName
-17 VirtualDesktopAgentRegistryKeyFailedToOpen 未能打开 VDA 注册表项以写入交付控制器列表。
-18 失败的令牌已达到最大计数 失败的令牌已达到最大计数。

从目录中删除计算机

从计算机目录中删除计算机后,用户将无法再访问它,因此在删除计算机之前,请确保:

  • 用户数据已备份或不再需要。
  • 所有用户均已注销。启用维护模式可阻止新连接连接到计算机。
  • 计算机已关机。

要从目录中删除计算机,请执行以下操作:

  1. 在 Studio 中,选择左侧窗格中的计算机目录
  2. 选择一个目录,然后在操作栏中选择 查看计算机
  3. 选择一台或多台计算机,然后在操作栏中选择 删除
  4. 如果要从目录中删除持久性计算机,请选择是否同时从虚拟机管理程序或云服务中删除它们。如果选择删除它们,请指明是保留、禁用还是删除其 Active Directory 帐户。

从 Azure Resource Manager 目录中删除持久性计算机时,即使您选择保留它们,这些计算机和关联的资源组也会从 Azure 中删除。

从目录中删除非持久性计算机时,它们会自动从虚拟机管理程序或云服务中删除。

编辑目录

  1. 在 Studio 中,选择左侧窗格中的 计算机目录
  2. 选择一个目录,然后在操作栏中选择 编辑计算机目录
  3. 范围 页面上,更改范围。
  4. NIC 页面上,执行以下操作:

    • 要更改 NIC 的子网映射,请从 关联的网络 字段中选择一个网络。
    • 要添加子网映射,请选择 添加 NIC,从 关联的网络 字段中选择一个网络,然后单击 保存

    只有与目录关联的主机中存在的子网才会显示在 关联的网络 字段中。

    您只能将 NIC 添加到没有计算机配置文件的 Azure 计算机目录。

    注意:

    • 对于 AWS 计算机目录,您不能将同一个子网映射到多个 NIC。
    • 对于具有计算机配置文件的计算机目录,目录中的 NIC 数量必须与计算机配置文件中的 NIC 数量相等。
    • IBM Cloud 管理程序不支持此功能。
    • 此功能仅支持 Nutanix 管理程序中的 Nutanix Prism Element。
  5. VDA 升级页面上,更改或选择要升级到的 VDA 版本。有关详细信息,请参阅VDA 升级
  6. 您可能会看到其他页面,具体取决于目录类型。

    对于使用 Azure Resource Manager 映像创建的目录,以下页面可见。请记住,您所做的更改仅适用于以后添加到目录的计算机。现有计算机保持不变。

    • 虚拟机页面上,更改要创建计算机的计算机大小和可用区。

      注意:

      • 仅显示目录支持的计算机大小。
      • 如有必要,选择仅显示其他计算机目录中使用的计算机大小以筛选计算机大小列表。
      • 对于 Azure 目录,如果“存储和许可证类型”页面上的存储冗余为 ZRS,则会收到警告,建议您清除区域选择并让 Azure 管理 VM 可用区。
    • 计算机配置文件页面上,选择是使用还是更改计算机配置文件。

      注意:

      对于 Azure 目录,当您修改包含可用区并选择 ZRS 作为存储冗余的计算机配置文件时,会收到警告,建议您清除区域选择。

    • (仅当目录配置了专用主机组时) 在专用主机组页面上,选择是否更改主机组。

    • 存储和许可证类型页面上,选择是否更改存储冗余类型(适用于 Azure 目录)、存储类型、许可证类型和 Azure 计算机库设置(仅当正在使用将准备好的映像放置在 Azure 库中时可用)。

      注意:

      如果新选择的设置不支持当前计算机大小,则会出现一个警告对话框,通知您更改设置会重置计算机大小设置。如果您选择继续,虚拟机菜单旁边会出现一个红点,提示您选择新的计算机大小。

    有关页面上可用设置的更多信息,请参阅使用 Azure 资源管理器映像创建计算机目录

    对于远程电脑访问目录,以下页面可见:

    • 电源管理页面上,更改电源管理设置并选择电源管理连接。
    • 组织单位页面上,添加或删除 Active Directory OU。
  7. 描述页面上,更改目录描述。
  8. 单击应用以应用所做的更改,然后单击保存以退出。

重命名目录

  1. 在 Studio 中,选择左侧窗格中的计算机目录
  2. 选择一个目录,然后在操作栏中选择重命名计算机目录
  3. 输入新名称。

删除目录

删除目录之前,请确保:

  • 所有用户均已注销,并且没有正在运行的断开连接会话。
  • 目录中的所有计算机均已启用维护模式,以便无法建立新连接。
  • 目录中的所有计算机均已关机。
  • 目录未与交付组关联。换句话说,交付组不包含来自该目录的计算机。

要删除目录:

  1. 在 Studio 中,在左侧窗格中选择计算机目录
  2. 选择一个目录,在操作栏中选择更多,然后选择删除计算机目录
  3. 如果目录包含持久性计算机,请指明是否也要从管理程序或云服务中删除这些计算机。如果选择这样做,请选择是保留、禁用还是删除其 Active Directory 计算机帐户。
  4. 如有必要,选择隐藏进度以在后台运行删除操作。

注意:

  • 删除 Azure Resource Manager 目录时,即使您选择保留关联的计算机和资源组,它们也会从 Azure 中删除。
  • 删除包含非持久性计算机的目录时,这些计算机将从管理程序或云服务中删除。
  • 在目录删除期间,如果管理程序或云服务不可访问,则目录和 VM 删除都将失败。如果需要,您可以选择仅从 Citrix 站点数据库中删除 VM 记录。为此,请在计算机目录节点中选择计算机目录,然后执行故障排除选项卡上显示的删除操作。请记住,此操作会使 VM 在主机上保持不变。

管理目录中的 Active Directory 计算机帐户

要管理计算机目录中的 Active Directory 帐户,您可以:

  • 通过从单会话和多会话目录中删除 Active Directory 计算机帐户来释放未使用的计算机帐户。然后,这些帐户可用于其他计算机。
  • 添加帐户,以便在向目录添加更多计算机时,计算机帐户已就位。请勿在 OU 名称中使用正斜杠 (/)。

要管理 Active Directory 帐户:

  1. 在 Studio 中,选择左侧窗格中的计算机目录
  2. 选择一个目录,然后在操作栏中选择管理 AD 帐户
  3. 选择是添加还是删除计算机帐户。如果添加帐户,请指定如何处理帐户密码:要么全部重置,要么输入一个适用于所有帐户的密码。

    如果您不知道当前帐户密码,则可以重置密码;您必须具有执行密码重置的权限。如果输入密码,则在导入帐户时会更改这些帐户的密码。如果删除帐户,请选择是保留、禁用还是删除 Active Directory 中的帐户。

您还可以指示在从目录中删除计算机或删除目录时,Active Directory 帐户是保留、禁用还是删除。

更改目录的主映像

建议您在更改目录的主映像之前保存映像副本或快照。数据库会保留每个计算机目录所用映像的历史记录。如果用户在使用部署到其桌面的新映像时遇到问题,您可以将其回滚到以前的版本,从而最大程度地减少用户停机时间。请勿删除、移动或重命名映像。否则,您将无法回滚主映像。

重要提示:

更改持久性目录的主映像时,请考虑以下事项:只有稍后添加到目录的计算机才会使用新映像创建。我们不会将新映像推广到目录中的现有计算机。

计算机更新后,会自动重新启动。

将 MCS 预配的目录从使用主映像转换为使用准备好的映像

要将 MCS 预配的目录从使用主映像转换为使用准备好的映像,请执行以下步骤:

  1. 在左侧窗格中单击“计算机目录”,然后选择要转换的计算机目录。右键单击并选择“转换为准备好的映像”。
  2. 在“映像”页面上,选择一个准备好的映像。
  3. 在“推出策略”页面上,选择何时使用选定的准备好的映像更新此目录。
  4. 在“摘要”页面上,验证详细信息并单击“完成”。
  5. 在“模板属性”中验证已转换的计算机目录的详细信息。

目前,此功能仅适用于 Azure 和 VMware 虚拟化环境。

更新或创建映像

在更改目录的主映像之前,请通过更新现有映像或创建新映像,在主机管理程序上准备一个新映像。

  1. 在您的管理程序或云服务提供商上,为当前虚拟机拍摄快照并为其指定一个有意义的名称。此快照可用于回滚主映像。
  2. 如有必要,启动映像并登录。
  3. 安装更新或对映像进行任何必要的更改。
  4. 如果映像使用个人虚拟磁盘,请更新清单。
  5. 关闭虚拟机电源。
  6. 为虚拟机拍摄快照,并为快照指定一个有意义的名称,以便在更改主映像时能够识别该名称。

注意:

尽管您可以使用管理界面创建快照,但我们建议您使用虚拟机管理程序管理控制台创建快照,然后在 Studio 中选择该快照。这样,您可以提供有意义的名称和描述,而不是自动生成的名称。对于 GPU 映像,您只能通过 XenServer XenCenter® 控制台更改映像。

更改主映像

要将新的主映像推出到目录中的所有计算机:

  1. 在 Studio 中,在左侧窗格中选择 计算机目录
  2. 选择一个目录,然后在操作栏中选择 更改主映像
  3. 映像 页面上,选择要推出的主机和映像。

    提示:

    对于 MCS 创建的目录,您可以通过为映像添加备注来注释其映像。备注最多可包含 500 个字符。每次更改主映像时,无论您是否添加备注,都会创建一个与备注相关的条目。如果您在未添加备注的情况下更新目录,则该条目显示为 null (-)。要查看映像的备注历史记录,请选择目录,单击底部窗格中的 模板属性,然后单击 查看备注历史记录

  4. 推出策略 页面上,选择计算机目录中的计算机何时使用新映像进行更改:在下次关机时或立即。

    注意:

    推出策略 页面不适用于持久性 VM,因为推出仅适用于非持久性 VM。

  5. 验证 摘要 页面上的信息,然后选择 完成。每台计算机更新后会自动重新启动。

    要跟踪更新进度,请在 计算机目录 中找到该目录,以查看内联进度条和分步进度图。对于非持久性目录,您可以通过 映像更新 列跟踪其映像更新状态,包括 完全更新部分更新待定更新正在准备映像

    提示:

    要显示映像更新列,请在操作栏中选择要显示的列图标,选择计算机目录 > 映像状态,然后单击保存

如果您正在使用 PowerShell SDK 更新目录,则可以指定一个管理程序模板 (VMTemplates),作为映像或映像快照的替代方案。

要将新的主映像推出到基于 Azure 的计算机目录:

  1. 在 Studio 中,从左侧窗格中选择计算机目录
  2. 选择一个 Azure 目录,然后在操作栏中选择更改主映像
  3. 更改主映像页面上,在“主映像”下选择一个映像。该边栏列出了与资源属于同一区域的所有映像。

推出策略

在下次关机时更改映像将立即影响当前未使用的任何计算机,即没有活动用户会话的计算机。正在使用的系统将在当前活动会话结束时接收更新。

注意:

推出策略仅适用于非持久性 VM。

请考虑以下事项:

  • 在新会话启动之前,必须先在适用的计算机上完成更新。
  • 对于单会话计算机,当计算机未使用或用户未登录时,计算机将立即更新。
  • 对于具有子计算机的多会话操作系统,重新启动不会自动发生。要应用更新的主映像,请使用 Studio、PowerShell 或 Workspace 重新启动计算机。从计算机或管理程序重新启动不会应用更新。

提示:

通过使用主机连接的高级设置来限制正在重新启动的计算机数量。使用这些设置可以修改给定目录所采取的操作;高级设置因管理程序而异。

回滚主映像

推出更新或新映像后,可以将其回滚。如果新更新的计算机出现问题,可能需要这样做。回滚时,目录中的计算机将回滚到上次正常工作的映像。需要较新映像的任何新功能将不再可用。与推出一样,回滚计算机包括重新启动。

  1. 在 Studio 中,选择左侧窗格中的计算机目录
  2. 选择目录,然后在操作栏中选择回滚主映像
  3. 按照推出操作的说明,指定何时将较早的映像应用于计算机。

回滚仅应用于需要还原的计算机。对于尚未更改为新映像或更新映像的计算机(例如,用户尚未注销的计算机),用户不会收到通知消息,也不会被强制注销。

要跟踪回滚进度,请在计算机目录中找到该目录,以查看内联进度条和分步进度图。

在某些情况下无法回滚,包括以下情况。(回滚主映像选项不可见)。

  • 您没有回滚权限。
  • 目录不是使用 MCS 创建的。
  • 目录是使用操作系统磁盘映像创建的。
  • 用于创建目录的快照已损坏。
  • 用户对目录中计算机的更改不会保留。
  • 目录中的计算机正在运行。

更改功能级别或撤消更改

在将计算机上的 VDA 升级到新版本后,更改计算机目录的功能级别。我们建议将所有 VDA 升级到最新版本,以启用对所有最新功能的访问。

在更改计算机目录的功能级别之前:

  • 启动已升级的计算机,使其向 Citrix DaaS 注册。这使管理界面能够确定目录中的计算机需要升级。

要更改目录的功能级别:

  1. 在 Studio 中,选择左侧窗格中的 Machine Catalogs
  2. 选择目录。下部窗格中的 Details 选项卡显示版本信息。
  3. 选择 Change Functional Level。如果管理界面检测到目录必须更改功能级别,它会显示一条消息。按照提示操作。如果一台或多台计算机无法更改,则会显示一条消息解释原因。为确保所有计算机正常运行,我们建议您在单击 Change 之前解决这些问题。

目录升级完成后,您可以通过选择目录,然后在操作栏中选择 Undo Functional Level Change 将计算机恢复到其以前的 VDA 版本。

克隆目录

在克隆目录之前,请注意以下事项:

  • 您无法更改与 操作系统计算机管理 相关的设置。克隆的目录会从原始目录继承这些设置。

    注意:

    如果您选择要克隆的 Azure 目录并选择主映像,则边栏选项卡会列出与资源属于同一区域的所有映像。

  • 克隆目录可能需要一些时间才能完成。如有必要,请选择 Hide progress 以在后台运行克隆。
  • 克隆的目录继承原始名称并带有后缀 Copy。您可以更改名称。请参阅重命名目录
  • 克隆完成后,请务必将克隆的目录分配给交付组。
  • 您可以通过克隆创建空目录。在目录克隆期间,您可以将 MCS 预配目录的计算机数量设置为零,并且不为非 MCS 预配目录添加任何计算机。
  1. 在 Studio 中,选择左侧窗格中的计算机目录
  2. 选择一个目录,然后在操作栏中选择克隆
  3. 克隆选定计算机目录窗口中,查看克隆目录的设置并根据需要配置设置。选择下一步以继续到下一页。
  4. 摘要页面上,查看设置摘要并选择完成以开始克隆。
  5. 如有必要,选择隐藏进度以在后台运行克隆。

使用文件夹组织目录

您可以创建文件夹来组织目录,以便于访问。例如,您可以按映像类型或组织结构组织目录。

提示:

通过单击操作栏右上角的文件夹图标,可以为“计算机目录”节点设置首选默认视图(文件夹视图或列表视图)。

所需角色

默认情况下,您需要具有以下内置角色才能创建和管理目录文件夹:云管理员、完全管理员或计算机目录管理员。如有必要,您可以自定义用于创建和管理目录文件夹的角色。有关详细信息,请参阅所需权限

创建目录文件夹

在开始之前,请先规划如何组织目录。请考虑以下事项:

  • 您可以嵌套文件夹,最多可达五级深度(不包括默认根文件夹)。
  • 目录文件夹可以包含目录和子文件夹。
  • Studio 中的所有节点(例如“计算机目录”、“交付组”、“应用程序”和“应用程序组”)在后端共享相同的文件夹树。为避免在重命名或移动文件夹时出现名称冲突,请为不同节点中的一级文件夹使用唯一的名称。

    如果您使用 New-BrokerAdminFolder SDK cmdlet 创建文件夹并希望它显示在“计算机目录”节点下,则必须使用 Set-BrokerAdminFolderMetadata cmdlet 添加 ContainsMachineCatalogs 元数据。

    示例:

     Set-BrokerAdminFolderMetadata -AdminFolderId {adminFolderUid} -Name ContainsMachineCatalogs -Value true
     <!--NeedCopy-->
    

要创建目录文件夹,请执行以下步骤:

  1. 在 Studio 中,选择左侧窗格中的“计算机目录”。
  2. 在文件夹层次结构中,选择一个文件夹,然后在“操作”栏中选择“创建文件夹”。
  3. 输入新文件夹的名称,然后单击“完成”。

提示:

如果您在意外位置创建了文件夹,可以将其拖动到正确的位置。

移动目录

您可以在文件夹之间移动目录。详细步骤如下:

  1. 在 Studio 中,选择左侧窗格中的“计算机目录”。
  2. 按文件夹查看目录。您还可以打开文件夹层次结构上方的 查看所有 以一次性查看所有目录。
  3. 右键单击目录,然后选择 移动计算机目录
  4. 选择要将目录移动到的文件夹,然后单击 完成

提示:

您可以将目录拖动到文件夹中。

管理目录文件夹

您可以删除、重命名和移动目录文件夹。

仅当文件夹及其子文件夹不包含目录时,才能删除该文件夹。

要管理文件夹,请执行以下步骤:

  1. 在 Studio 中,选择左侧窗格中的 计算机目录
  2. 在文件夹层次结构中,选择一个文件夹,然后根据需要选择 操作 栏中的操作:

    • 要重命名文件夹,请选择 重命名文件夹
    • 要删除文件夹,请选择 删除文件夹
    • 要移动文件夹,请选择 移动文件夹
  3. 按照屏幕上的说明完成其余步骤。

所需权限

下表列出了对目录文件夹执行操作所需的权限。

操作 所需权限
创建目录文件夹 创建计算机目录文件夹
删除目录文件夹 删除计算机目录文件夹
移动目录文件夹 移动计算机目录文件夹
重命名目录文件夹 编辑计算机目录文件夹
将目录移动到文件夹 编辑计算机目录文件夹和编辑计算机目录属性

升级 VDA

您可以使用 Studio 界面轻松升级 VDA。有关详细信息和分步指导,请参阅 Citrix VDA 升级服务 文档。

管理目录的体验优化设置

在开始之前,请确保已设置 Workspace Environment Management (WEM) 服务部署。有关详细信息,请参阅 Workspace Environment Management 服务入门

所需权限

默认情况下,为计算机目录创建和管理配置集需要 WEM 完全管理员角色以及以下角色之一:

  • 完全访问管理员
  • 云管理员
  • 计算机目录管理员

要允许其他角色管理配置集,请同时为其分配 管理配置集权限和 WEM 完全管理员角色。

编辑体验优化设置

选择要应用于目录的 体验优化选项:

  • 应用默认设置:选择此选项可应用默认优化设置,包括自动 CPU 峰值保护和智能 CPU 优化。

  • 应用自定义设置:输入名称以创建配置集,然后根据您的要求自定义优化设置。或者,您可以选择现有配置集。

重试目录创建

注意:

此功能仅适用于 MCS 目录。

失败的目录会标有错误图标。要查看详细信息,请转到每个目录的“故障排除”选项卡。在重试创建目录之前,请注意以下事项:

  • 首先检查故障排除信息并解决问题。该信息描述了发现的问题并提供了解决这些问题的建议。
  • 您无法更改与 操作系统计算机管理 相关的设置。目录会从原始目录继承这些设置。
  • 创建可能需要一些时间才能完成。如有必要,请选择“隐藏进度”以在后台运行创建。

要重试创建目录,请执行以下操作:

  1. 在 Studio 中,选择左侧窗格中的“计算机目录”。
  2. 选择目录,然后转到其“故障排除”选项卡。
  3. 单击重试超链接以重试创建目录。
  4. 在出现的向导中,根据需要更改设置。如果无需进行更改,可以直接转到“摘要”页面。
  5. 完成后,选择“完成”以开始创建。

(仅限非 Citrix 预配的 VDA)生成和管理注册令牌

注意:

要执行此任务,您必须具有 Cloud Administrator 角色。

决定对非 Citrix 预配的计算机采用基于令牌的注册后,请按每个计算机目录生成令牌,然后与 VDA 安装管理员共享这些令牌。

注册令牌具有以下特点:

  • 注册范围:1 到 5000 台 VDA 计算机
  • 有效期:最长 14 天

要使用 Studio 为目录生成令牌,请按照以下步骤操作:

  1. 计算机目录中,找到非 MCS 预配的目录,其中在计算机数量列中显示了预配方法: 手动
  2. 右键单击目录,然后选择管理注册令牌
  3. 在出现的生成注册令牌页面上,提供以下令牌信息:
    • 键入令牌的名称。
    • 输入其有效期。有效期不得超过 14 天。令牌仅在指定期间内有效。
    • (可选)选择一个主机连接,用于通过令牌注册的 VDA 的电源管理。选项包括此目录区域下的所有主机连接。
    • 输入令牌使用限制(介于 1–5000 之间)。
  4. 单击生成
  5. 在出现的令牌已成功生成窗口中,复制令牌并将其保存在安全位置,或者单击下载将其下载到下载文件夹。

    令牌记录显示在令牌列表中。

    令牌生成

  6. 将令牌共享给 VDA 安装管理员。

    有关如何在计算机上安装 VDA 和令牌的详细信息,请参阅 安装 VDA

管理令牌

您可以通过两种方式撤销令牌并使其无法用于 VDA 注册:

  • 撤销:撤销令牌,但将其保留在列表中以用于日志记录。
  • 删除:撤销令牌并将其从列表中删除。

注意:

过期令牌将在 14 天内自动删除。

使用 PowerShell

本节详细介绍了如何使用 PowerShell 管理目录:

管理计算机名称的序列号

要通过 PowerShell 命令自定义使用 MCS 部署的计算机的序列号,请执行以下操作:

  1. 在 Delivery Controller 上以管理员身份打开 PowerShell。
  2. 运行命令 asnp citrix* 以加载 Citrix 模块。
  3. 运行以下命令以检查目录身份池的起始计数:

    Get-AcctIdentityPool -IdentityPoolName xxx

    IdentityPoolName 是目录的名称。

  4. 如果要将此计数设置为其他值,请运行以下命令并将 StartCount 指定为 X:

    Set-AcctIdentityPool -IdentityPoolName xxx -StartCount X

  5. 将计算机添加到目录,以便按所需数量创建计算机。
  6. 创建计算机后,运行以下命令将其设置回原始值 Y:

    Set-AcctIdentityPool -IdentityPoolName xxx -StartCount Y

为映像添加描述

您可以添加有关计算机目录映像更新相关更改的描述性信息。使用此功能可以在创建目录时添加描述,或者在更新目录的现有主映像时添加描述。您还可以显示目录中每个主映像的信息。此功能对于希望在更新目录使用的主映像时添加描述性标签的管理员非常有用,例如,Office 365 已安装。使用以下命令添加或查看映像描述:

  • NewProvScheme。新参数 masterImageNote 使您能够向映像添加备注。例如:
C:\PS>New-ProvScheme -ProvisioningSchemeName XenPS -HostingUnitName XenHu -IdentityPoolName idPool1 -MasterImageVM XDHyp:\HostingUnits\XenHU\Base.vm\Base.snapshot -MasterImageNote "Office365 installed"
<!--NeedCopy-->
  • Publish-ProvMasterVMImage。使用此参数发布备注。例如:

C:\PS>Publish-ProvMasterVMImage -ProvisioningSchemeName MyScheme -MasterImageVM XDHyp:\HostingUnits\HostUnit1\RhoneCC_baseXP.vm\base.snapshot -MasterImageNote "Visual Studio 2019 installed"

  • Get-ProvSchemeMasterVMImageHistory。显示每个映像的信息。例如:

`C:\PS>Get-ProvSchemeMasterVMImageHistory -ProvisioningSchemeName MyScheme -Showall

VMImageHistoryUid : 3cba3a75-89cd-4868-989b-27feb378fec5

预配方案UID:7585f0de-192e-4847-a6d8-22713c3a2f42

ProvisioningSchemeName : MyScheme

MasterImageVM : /Base.vm/base.snapshot

日期 : 17/05/2021 09:27:50

主映像备注 : Office365 installed`

重置操作系统磁盘

使用 PowerShell 命令 Reset-ProvVMDisk 重置 MCS 创建的计算机目录中持久性 VM 的操作系统磁盘。目前,此功能适用于 AWS、Azure、Google Cloud、SCVMM、VMware 和 XenServer® 虚拟化环境。

要成功运行 PowerShell 命令,请确保:

  • 目标 VM 位于持久性 MCS 目录中。
  • MCS 计算机目录正常运行。这意味着预配方案和主机存在,并且预配方案具有正确的条目。
  • 管理程序未处于维护模式。
  • 目标 VM 已关机并处于维护模式。

执行以下步骤重置操作系统磁盘:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 通过以下任一方式运行 PowerShell 命令 Reset-ProvVMDisk

    • 将 VM 列表指定为逗号分隔列表,并对每个 VM 执行重置:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName ("abc","def") -OS
       <!--NeedCopy-->
      
    • 将 VM 列表指定为 Get-ProvVM 命令的输出,并对每个 VM 执行重置:

       (Get-ProvVM -ProvisioningSchemeName "xxx") | Reset-ProvVMDisk "abc" -OS
       <!--NeedCopy-->
      
    • 按名称指定单个 VM:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS
       <!--NeedCopy-->
      
    • Get-ProvVM 命令返回的每个 VM 创建单独的重置任务。这种方式效率较低,因为每个任务都会执行相同的冗余检查,例如虚拟机监控程序功能检查、每个 VM 的连接检查。

       Get-ProvVM -ProvisioningSchemeName "xxx" | Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -OS
       <!--NeedCopy-->
      
  4. 将出现一个确认提示,其中列出了要重置的 VM 以及一条警告消息,指出这是一个不可恢复的操作。如果您不提供答案并按 Enter,则不会执行任何进一步的操作。

    您可以运行 PowerShell 命令 -WhatIf 来打印它将执行的操作,然后退出而不执行该操作。

    您还可以使用以下方法之一绕过确认提示:

    • 提供 -Force 参数:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS -Force
       <!--NeedCopy-->
      
    • 提供 -Confirm:$false 参数:

       Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS -Confirm:$false
       <!--NeedCopy-->
      
    • 在运行 Reset-ProvVMDisk 之前,将 $ConfirmPreference 更改为“None”:

       PS C:\Windows\system32> $ConfirmPreference='None'
       PS C:\Windows\system32> $ConfirmPreference
       None
       PS C:\Windows\system32> Reset-ProvVMDisk -ProvisioningSchemeName "xxx" -VMName "abc" -OS
       <!--NeedCopy-->
      

    注意:

    在重置过程完成之前,请勿将 VM 退出维护模式或将其开机。

  5. 运行 Get-ProvTask 以获取 Reset-ProvVMDisk 命令返回的任务状态。

修复活动计算机帐户的身份信息

您可以重置存在身份相关问题的活动计算机帐户的身份信息。您可以选择仅重置计算机密码和信任密钥,或重置身份磁盘的所有配置。此实现适用于持久和非持久 MCS 计算机目录。

注意:

目前,此功能仅支持 AWS、Azure、GCP、SCVMM、VMware 和 XenServer 虚拟化环境。

条件

为成功重置身份磁盘,请确保以下事项:

  • 关闭虚拟机并将其设置为维护模式
  • 不要在 PowerShell 命令中包含参数 -OS

重置身份信息

要重置身份信息:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 专用的 PowerShell 模块。
  3. 重置身份信息。

    • 要仅重置计算机密码和信任密钥,请运行以下命令:

       Repair-AcctIdentity -IdentityAccountName TEST\VM1 -PrivilegedUserName TEST\admin1 -PrivilegedUserPassword $password -Target IdentityInfo
       <!--NeedCopy-->
      

      命令中使用的参数说明如下:

      • IdentityAccountName:必须修复的身份帐户的名称。
      • PrivilegedUserName:对身份提供程序(AD 或 Microsoft Entra ID)具有写入权限的用户帐户。
      • PrivilegedUserPassword:PrivilegedUserName 的密码。
      • Target:修复操作的目标。它可以是 IdentityInfo,用于修复帐户密码/信任密钥;也可以是 UserCertificate,用于修复 Microsoft Entra 混合加入的计算机身份的用户证书属性。
    • 要重置身份磁盘的所有配置,请按以下顺序运行以下命令:

       Repair-AcctIdentity -IdentityAccountName TEST\VM1 -PrivilegedUserName TEST\admin1 -PrivilegedUserPassword $password -Target IdentityInfo
       <!--NeedCopy-->
      
       Reset-ProvVMDisk ProvisioningSchemeName <name> -VMName <name>  -Identity
       <!--NeedCopy-->
      
    • 要完全重新创建身份磁盘:

       Reset-ProvVMDisk -ProvisioningSchemeName <name> -VMname <name> -Identity -Recreate
       <!--NeedCopy-->
      

      注意:

      如果计算机的 VDA 版本为 2511(更新 1)或更高版本,并且已设置注册表项以启用唯一的 MachineGuid (HKLM:\Software\Citrix\MachineIdentityServiceAgent\EnableUniqueMachineGuid),则无论 -Recreate 设置如何,它都将继续使用与以前相同的 MachineGuid

  4. 键入 y 确认操作。您也可以使用 -Force 参数跳过确认提示。例如:

    Reset-ProvVMDisk -ProvisioningSchemeName <name> -VMName <name> -Identity -Force
    <!--NeedCopy-->
    
  5. 运行 Get-ProvVM -ProvisioningSchemeName <name -VMName <name> 检查更新的身份磁盘设置。身份磁盘的属性(例如,IdentityDiskId)必须已更新。StorageIdIdentityDiskIndex 不得更改。

更改现有计算机目录的网络设置

您可以更改现有计算机目录的网络设置,以便在新子网上创建新的 VM。在 Set-ProvScheme 命令中使用参数 -NetworkMapping 更改网络设置。

要更改现有预配方案的网络设置,请执行以下操作:

  1. 在 PowerShell 窗口中,运行命令 asnp citrix* 加载 PowerShell 模块。
  2. 运行 (Get-Provscheme -ProvisioningSchemeName "name").NetworkMaps 以获取要更改的网络路径。
  3. 为新的网络设置分配一个变量。例如:

    $NewNetworkMap = @{"0"= "XDHYP:\HostingUnits\MyNetworks\Network 0.network"}
    <!--NeedCopy-->
    
  4. 运行 Set-ProvScheme -ProvisioningSchemeName "name" -NetworkMapping $NewNetworkMap
  5. 运行 (Get-Provscheme -ProvisioningSchemeName "name").NetworkMaps 验证现有预配方案的新网络设置。

管理计算机目录的版本

当 MCS 计算机目录使用 Set-ProvScheme 命令更新时,当前配置将保存为一个版本。然后,您可以使用 PowerShell 命令管理计算机目录的各个版本。您可以:

  • 查看计算机目录的版本列表。
  • 使用任何以前的版本更新计算机目录。
  • 如果某个版本未被该计算机目录的 VM 使用,则可以手动删除该版本。
  • 更改计算机目录要保留的最大版本数(默认值为 99)。

版本包括计算机目录的以下信息:

  • VMCpuCount
  • VMMemoryMB
  • CustomProperties
  • ServiceOffering
  • MachineProfile
  • NetworkMapping
  • SecurityGroup

运行以下命令(作为示例提供)以管理计算机目录的各个版本。

  • 要查看计算机目录各个版本的配置详细信息:

     Get-ProvSchemeVersion -ProvisioningSchemeName AzureCatalog
     <!--NeedCopy-->
    
  • 要查看特定版本的计算机目录的配置详细信息:

     Get-ProvSchemeVersion -ProvisioningSchemeName AzureCatalog -Version 2
     <!--NeedCopy-->
    
  • 要查看与计算机目录关联的版本总数:

     (Get-ProvSchemeVersion -ProvisioningSchemeName AzureCatalog).Count
     <!--NeedCopy-->
    
  • 要使用任何以前的版本更新计算机目录:

     Set-ProvScheme -ProvisioningSchemeName AzureCatalog -Version 2
     <!--NeedCopy-->
    
  • 如果某个版本未被该计算机目录的 VM 使用,则手动删除该版本:

     Remove-ProvSchemeVersion -ProvisioningSchemeName AzureCatalog -Version 3
     <!--NeedCopy-->
    
  • 设置计算机目录要保留的最大版本数(默认值为 99)。此设置适用于所有目录。例如,在这种情况下,所有 MCS 预配的目录将最多保留 15 个版本。

     Set-ProvServiceConfigurationData -Name "MaxProvSchemeVersions" -Value 15
     <!--NeedCopy-->
    

如果版本数达到最大版本数,并且计算机目录中的任何 VM 正在使用旧版本,则无法创建新版本。在这种情况下,请执行以下操作之一:

  • 增加计算机目录要保留的最大版本数限制。
  • 更新使用旧版本的一些 VM,以便这些旧版本不再被任何 VM 引用,并且可以删除。

更改现有计算机目录的缓存配置

创建启用了 MCSIO 的非持久目录后,可以使用 Set-ProvScheme 命令修改以下参数:

  • WriteBackCacheMemorySize
  • WriteBackCacheDiskSize

此功能目前适用于:

  • GCP 和 Microsoft Azure 环境,以及
  • 启用了 MCSIO 的非持久目录

要求

修改缓存配置的要求如下:

  • 更新到最新版本的 VDA(2308 或更高版本)。
  • 为现有计算机目录启用参数 UseWriteBackCache。使用 New-ProvScheme 创建一个启用了 UseWriteBackCache 的计算机目录。例如:

     New-ProvScheme -ProvisioningSchemeName $CatalogName -HostingUnitUid $HostingUnitUid `
     -IdentityPoolUid $acctPool.IdentityPoolUid -CleanOnBoot `
     -MasterImageVM $MasterImage `
     -ServiceOffering $ServiceOffering `
     -NetworkMap $NetworkMap `
     -SecurityGroup $SecurityGroup `
     -UseWriteBackCache -WriteBackCacheDiskSize 8
     <!--NeedCopy-->
    

更改缓存配置

运行 Set-ProvScheme 命令。例如:

Set-ProvScheme -ProvisioningSchemeName $provScheme.ProvisioningSchemeName -WriteBackCacheDisk32 -WriteBackCacheMemorySize 128
<!--NeedCopy-->

注意:

  • WriteBackCacheDiskSize 的值必须大于零,因为至少需要 1 GB 的缓存磁盘存储空间。
  • WriteBackCacheMemorySize 的值必须小于计算机目录内存大小。
  • 这些更改仅影响更改后添加到目录中的新 VM。现有 VM 不受这些更改的影响。

将非计算机配置文件型计算机目录转换为计算机配置文件型计算机目录

您可以将 VM、模板规范(Azure 中)、启动模板(AWS 中)或 VMware 模板(VMware 中)用作计算机配置文件输入,以将非计算机配置文件型计算机目录转换为计算机配置文件型计算机目录。添加到目录中的新 VM 将从计算机配置文件中获取属性值。

注意:

现有的计算机配置文件型计算机目录无法更改为非计算机配置文件型计算机目录。

为此,请执行以下操作:

  1. 创建一个包含 VM 且不带计算机配置文件的持久或非持久计算机目录。
  2. 打开 PowerShell 窗口。
  3. 运行 Set-ProvScheme 命令,将计算机配置文件中的属性值应用于添加到计算机目录的新 VM。例如:

    • 对于 Azure:

       Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile XDHyp:\HostingUnits\<HostingUnitName>\machineprofile.folder\<ResourceGroupName>\<TemplateSpecName>\<VersionName>
       <!--NeedCopy-->
      
    • 对于 AWS:

       Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\<launch-template>.launchtemplate\<launch-template-version>.launchtemplateversion"
       <!--NeedCopy-->
      
    • 对于 VMware:

       Set-ProvScheme -ProvisioningSchemeName "my-prov-scheme" -MachineProfile "XDHyp:\HostingUnits\my-hosting-unit\my-template.template"
       <!--NeedCopy-->
      

      注意:

      FolderID 设置为自定义属性,以避免从 VMware 模板派生 FolderID

检索与目录相关的警告和错误

您可以获取历史错误和警告,以了解 MCS 计算机目录的问题并修复这些问题。

使用 PowerShell 命令,您可以:

  • 获取错误或警告列表
  • 将警告状态从 New 更改为 Acknowledged
  • 删除错误或警告

要运行 PowerShell 命令:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。

要获取错误和警告列表:

运行 Get-ProvOperationEvent 命令。

  • 无参数:获取所有错误和警告
  • 带有 LinkedObjectTypeLinkedObjectUid 参数:获取与特定预配方案关联的所有错误和警告
  • 带有 EventId 参数:获取与此事件 ID 匹配的特定错误或警告
  • 带有 Filter 参数:通过自定义筛选器获取错误或警告

要将错误或警告的状态从 New 更改为 Acknowledged

运行 Confirm-ProvOperationEvent 命令。

  • 带有 EventId 参数:设置与此事件 ID 匹配的特定错误或警告的状态。您可以从 Get-ProvOperationEvent 命令的输出中获取特定错误或警告的 EventId
  • 带有 LinkedObjectTypeLinkedObjectUid 参数:设置与特定预配方案关联的所有错误和警告的状态
  • 带有 All 参数:将所有错误和警告的状态设置为 Acknowledged

要删除错误或警告:

运行 Remove-ProvOperationEvent 命令。

  • 使用 EventId 参数:删除与此事件 ID 匹配的特定错误或警告。您可以从 Get-ProvOperationEvent 命令的输出中获取特定错误或警告的 EventId
  • 使用 LinkedObjectTypeLinkedObjectUid 参数:删除与特定预配方案关联的所有错误和警告。
  • 使用 All 参数:删除所有错误和警告。

有关详细信息,请参阅 Citrix PowerShell SDK

删除没有管理程序访问权限的计算机

删除 VM 或预配方案时,MCS 需要从 VM(有时也从基础磁盘)中删除标记,以便 MCS 不再跟踪或识别删除选项中包含的资源。但是,其中一些资源只能通过管理程序访问。即使没有管理程序访问权限,也可以使用 Remove-ProvVM PowerShell 中的 PurgeDBOnly 选项从数据库中删除 VM 资源对象,例如 VM、基础磁盘、ACG 中的映像等。

此选项适用于:

  • 所有受支持的管理程序
  • 持久性和非持久性 VM

限制

不能同时使用命令 -PurgeDBOnly 和 -ForgetVM。

使用 PurgeDBOnly 命令

运行 PowerShell 命令 Remove-ProvVM -ProvisioningSchemeName SCVMM-MC -VMName SCVMM01 -ForgetVM 时,删除操作在以下情况下可能会失败:

  • 主机连接处于维护模式
  • 凭据无效
  • 身份验证失败
  • 未经授权的操作
  • 管理程序无法访问

注意:

Remove-provVM -ForgetVM 仅针对持久性 VM。如果列表中的某个 VM 为非持久性,则操作将失败。

当操作因管理程序无法访问而失败时,将显示以下提示:

Try to use -PurgeDBOnly option to clean DDC database..

使用 Remove-ProvVM PowerShell 命令中的 -PurgeDBOnly 选项从 MCS 数据库中删除 VM 引用。例如,

Remove-ProvVM -ProvisioningSchemeName SCVMM-MC -VMName SCVMM01 -PurgeDBOnly

更新单个 VM 的属性

您可以使用 PowerShell 命令 Set-ProvVM 更新持久性 MCS 计算机目录中单个 VM 的属性。但是,更新不会立即应用。您必须使用 PowerShell 命令 Set-ProvVMUpdateTimeWindow 设置时间窗口才能应用更新。

此实现可帮助您高效管理单个 VM,而无需更新整个计算机目录。目前,此功能适用于 Azure 和 VMware 环境。

目前,您可以更新的属性包括:

  • CustomProperties
  • ServiceOffering(不适用于 VMware)
  • MachineProfile
  • CpuCount
  • Memory

使用此功能,您可以:

更新 VM 属性之前:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 检查现有计算机目录的配置。例如:

    Get-ProvScheme -ProvisioningSchemeName <catalog name>
    <!--NeedCopy-->
    
  4. 检查要应用更新的 VM 的配置。例如:

    Get-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    

更新 VM 的属性

要更新 VM 上的属性,请执行以下操作:

  1. 关闭要应用更新的 VM。
  2. 更新虚拟机的属性。例如,如果要更新虚拟机的存储类型 (StorageType) 自定义属性,请运行以下命令:

    Set-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    

    您可以同时更新计算机目录中两台虚拟机的属性。例如:

    Set-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    
    Set-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine2 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    

    注意:

    更新不会立即应用。

  3. 获取指定要更新的属性列表和配置版本。例如:

    Get-ProvVMConfiguration -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    

    检查 Version 的属性值以及要更新的属性(在本例中为 StorageType)。

  4. 检查配置版本。例如:

    Get-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    

    检查 ProvVMConfigurationVersion 的属性值。更新尚未应用。虚拟机仍处于旧配置中。

  5. 请求计划更新。例如:

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName <catalog name> -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    

    有关计划更新的更多信息,请参阅 将预配的计算机更新到当前预配方案状态

    注意:

    任何待处理的预配方案更新也会应用。

  6. 重新启动虚拟机。例如:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. 检查配置版本。例如:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    检查 ProvVMConfigurationVersion 的属性值。更新现已应用。虚拟机现在具有新配置。

  8. 要对 VM 应用进一步的配置更新,请关闭 VM 并重复这些步骤。

更新计算机目录后保留 VM 上更新的属性

执行以下操作以保留 VM 上更新的属性:

  1. 关闭要应用更新的 VM。
  2. 更新计算机目录。例如,如果要更改 VM 大小 (ServiceOffering) 和存储类型 (StorageType),请运行以下命令:

    Set-ProvScheme -ProvisioningSchemeName <catalog name> -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. 获取计算机目录的配置详细信息。例如:

    Get-ProvScheme -ProvisioningSchemeName <catalog name>
    <!--NeedCopy-->
    

    ProvisioningSchemeVersion 现在增加了一。VM 大小和存储类型也已更新。

  4. 更新 VM 的属性。例如,为 VM 提供计算机配置文件。

    Set-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1 -MachineProfile "XDHyp:\HostingUnits\<hosting-unit>\machineprofile.folder\<resource-group>.resourcegroup\<template-spec>.templatespec\<template-spec-version>.templatespecversion"
    <!--NeedCopy-->
    

    注意:

    计算机配置文件输入具有一个标签和指定的不同 VM 大小 (ServiceOffering)。

  5. 获取将 VM 上的配置更新与计算机目录更新合并后 VM 将具有的属性列表。例如:

    Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    

    注意:

    对 VM 的任何更新都将覆盖对计算机目录所做的更新。

  6. 请求 VM 的计划更新。例如:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName <catalog name> -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. 重新启动 VM。例如:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    

    虚拟机保留其从计算机配置文件派生的更新后的虚拟机大小。计算机配置文件中指定的标签值也应用于虚拟机。但是,存储类型是从最新的预配方案派生的。

  8. 获取虚拟机的配置版本。例如:

    Get-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    

    ProvisioningSchemeVersionProvVMConfigurationVersion 现在显示最新版本。

还原应用于虚拟机的配置更新

  1. 将更新应用于虚拟机后,关闭虚拟机。
  2. 运行以下命令以删除应用于虚拟机的更新。例如:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    
  3. 请求虚拟机的计划更新。例如:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName <catalog name> -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. 重新启动虚拟机。例如:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. 检查虚拟机的配置版本。例如:

    Get-ProvVM -ProvisioningSchemeName <catalog name> -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersion 值现在是计算机目录的配置版本。

虚拟机的存储迁移

您可以在 VMware 和 XenServer 环境中将现有虚拟机的磁盘存储从旧存储移动到新存储。在迁移过程中,MCS 会保留虚拟机功能,例如电源管理、重置操作系统磁盘等。您还可以使用新的磁盘存储将新虚拟机添加到计算机目录。为此,请使用 PowerShell 命令 Move-ProvVMDisk

您可以迁移完全克隆的持久性虚拟机和非持久性虚拟机。

  • 对于持久性完全克隆虚拟机:操作系统磁盘、身份磁盘和非 MCS 预配磁盘。
  • 对于非持久性虚拟机:操作系统磁盘、身份磁盘和回写缓存 (WBC) 磁盘。

新存储必须满足以下条件:

  • 它必须与旧存储位于同一群集中。
  • 运行 VM 的主机必须能够访问旧数据存储和新数据存储。

迁移磁盘存储

要迁移磁盘存储,请执行以下操作:

  1. 将目标存储添加到现有托管单元。您可以运行 PowerShell 命令 Add-Hyphostingunitstorage 来添加目标存储:

    如果您不想将新 VM 添加到旧存储,请将旧存储更改为 Superseded(已取代)。您可以使用 Studio 或 PowerShell 命令执行此操作。对于 Studio,请参阅编辑存储。或者,运行 Set-Hyphostingunitstorage 并将 Superseded 设置为 true 以禁用在旧存储中创建新 VM。

    注意:

    对于非持久性 VM:

    • 如果使用 WBC,请在托管单元中配置 WBC 目标存储。
    • 如果配置了 OS 目标存储,则 WBC(如果使用)必须与 OS 目标存储兼容。
    • 如果未配置 OS 目标存储,则 WBC(如果使用)必须与当前 OS 存储兼容。
  2. 关闭 VM 并打开维护模式
  3. 获取有关预配方案、托管单元、OS 磁盘存储和 WBC 磁盘存储的信息。

    • 运行 ProvResourceInStorage 以获取 OS 存储信息。例如:

       $result=Get-ProvSchemeResourceInStorage -ProvisioningSchemeName xxxxx
       $result
       $result.ProvResourceInStorage | Format-List -Property *
       <!--NeedCopy-->
      
    • 运行 TemporaryStorageInfo 获取 WBC 存储信息。例如:

       $result=Get-ProvSchemeResourceInStorage -ProvisioningSchemeName xxxxx
       $result
       $result.TemporaryStorageInfo | Format-List -Property *
       <!--NeedCopy-->
      
  4. 使用 Move-ProvVMDisk PowerShell 命令将操作系统磁盘、身份磁盘和 WBC 磁盘(适用于非持久性虚拟机)迁移到目标存储。

    注意:

    • 始终在 DiskType 和 DestinationStorageId 参数中提供操作系统磁盘和身份磁盘。
    • 操作系统磁盘和身份磁盘的 DestinationStorageId 必须相同。

    示例:

    持久性虚拟机:

    (Get-ProvVM -ProvisioningSchemeName xxxxx) | Move-ProvVMDisk -ProvisioningSchemeName "myFullCloneProvScheme" -VMName "machine01" -DiskType OS,Identity -DestinationStorageId datastore1,datastore1
    <!--NeedCopy-->
    

    重要:

    对于持久性虚拟机,所有磁盘都将移动。您无法选择要移动的磁盘。

    非持久性虚拟机:

    (Get-ProvVM -ProvisioningSchemeName xxxxx) | Move-ProvVMDisk -ProvisioningSchemeName "myCleanOnBootProvScheme" -VMName "machine01" -DiskType OS,Identity,WBC -DestinationStorageId None,None,datastore1
    <!--NeedCopy-->
    

    重要:

    • 如果您不想迁移特定磁盘,请将 DestinationStorageId 参数的值设置为 None
    • 如果虚拟机具有 WBC 磁盘,则在 DiskType 参数中添加 WBC 磁盘,并在 DestinationStorageId 参数中添加所需信息。

故障排除

如果其中一个磁盘未能迁移,则所有磁盘都不会迁移到目标存储。您可以使用以下命令获取故障报告:

(Get-ProvTask -TaskID xxxxxxxxx).DiskMoveFailedVirtualMachines
<!--NeedCopy-->

VMware 中非持久性 VM 迁移的重要注意事项

  • 如果您尝试将操作系统和身份磁盘移动到新存储,则 VM 特定文件也会移动到新存储。
  • 如果磁盘包含快照,VMware 不支持移动该磁盘。

将现有 MCS 预配的目录迁移到准备好的映像计算机目录

您可以使用 PowerShell 命令 Set-ProvSchemeImage 将现有 MCS 预配的计算机目录转换为准备好的映像计算机目录。但是,迁移后无法恢复到旧版目录。目前,此功能适用于 Azure 和 VMware 虚拟化环境。

限制

请考虑以下限制:

  • 如果 MCS 目录使用持久性数据磁盘,则无法将该目录迁移以使用准备好的映像。
  • 如果 MCS 目录使用非托管磁盘,则无法将该目录迁移以使用准备好的映像。

迁移到准备好的映像计算机目录

要进行迁移,请执行以下操作:

  1. 使用 Studio 或 PowerShell 命令创建映像定义和映像版本。请参阅以下内容中创建映像定义和映像版本的步骤:

  2. 运行 Get-ProvScheme 命令以获取预配方案 UID。例如:

    Get-ProvScheme -ProvisioningSchemeName <name> | select ProvisioningSchemeName, ProvisioningSchemeUid
    <!--NeedCopy-->
    
  3. 运行 Get-ProvImageVersionSpec 命令以获取映像定义名称、映像版本规范 UID。例如:

    Get-ProvImageVersionSpec -ImageDifinitionName <name> -Filter {IsPrepared -eq $true} | select ImageDefinitionName ImageVersionSpecUId
    <!--NeedCopy-->
    
  4. 运行 Set-ProvSchemeImage 命令以将现有 MCS 预配的计算机目录迁移到准备好的映像计算机目录中。例如:

    Set-ProvSchemeImage -ProvisioningSchemeName [ProvisioningSchemeName] -ImageVersionSpecUid [ImageVersionSpecUid]
    <!--NeedCopy-->
    
  5. 运行 Get-ProvScheme 命令以检查目录是否已迁移。例如:

    Get-ProvScheme -ProvisioningSchemeName <name> | select ProvisioningSchemeName, ProvisioningSchemeUid, ImageVersionSpecUid
    <!--NeedCopy-->
    

故障排除

  • 对于状态为 Power State Unknown 的计算机,请参阅 CTX131267 以获取指导。
  • 要修复持续显示未知电源状态的 VM,请参阅 How to fix VMs that continuously show an unknown power state
  • 如果 Cloud Connector 无法正常运行,MCS 预配操作(例如目录更新)将比平时花费更长时间,并且管理控制台性能会显著下降。

后续步骤

有关管理特定虚拟机管理程序目录的信息,请参阅: