Citrix DaaS™

管理计算机目录

注意:

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

简介

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

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

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

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

注意:

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

  • 关于持久实例

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

查看目录详细信息

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

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




目录中计算机支持的会话类型。可能的值包括
• 操作系统类型:多会话操作系统(虚拟);用户数据:丢弃。
• 操作系统类型:多会话操作系统(虚拟);用户数据:在本地磁盘上
• 操作系统类型:单会话操作系统(远程电脑访问)
• 操作系统类型:单会话操作系统(虚拟);用户数据:丢弃
• 操作系统类型:单会话操作系统(虚拟);用户数据:在本地磁盘上
Machine Count 目录中的计算机数量和预配方法。可能的预配方法包括:Machine Creation Services (MCS 计算机)、手动和 Citrix Provisioning™ Services。
Allocated Count 目录中分配给交付组的计算机数量。
Folder 目录在 Machine Catalogs 树中的位置。它显示目录所在的文件夹名称(包括尾随反斜杠),如果目录位于根级别,则显示 -
VDA Upgrade VDA 升级状态。可能的值包括:未配置、已计划、可用和最新。
Image Status 目录映像更新的状态。仅适用于非持久性计算机目录。可能的值包括:完全更新、部分更新、待定更新、正在准备
  1. 单击底部详细信息窗格中的选项卡,以获取有关所选目录的更多信息。
Tab Description
  • |—-|—-|
  • Details 总结了关键的计算机目录设置,例如计算机类型、预配方法、服务帐户、操作系统和 VDA 版本,使您能够快速查看和管理资源。
  • Template Properties 仅适用于 MCS 预配的目录。
^^


^^ 显示所选目录的详细预配信息,包括
• 计算机模板属性
• 管理程序特定详细信息
• 计算机配置文件属性
Machines 显示所选目录中计算机名称的分页列表。
Delivery Groups
适用于远程电脑目录。
显示与所选目录关联的交付组。它显示交付组名称和目录关联。
Tags 在多租户环境中不可用。
-  | ^^ | ^^ 显示分配给所选计算机目录的标签名称和描述。 |
-  | \*\*Workspace Environment Management\*\* | 仅当 WEM 服务已预配且可访问时才可见。 |
^^ ^^ 显示 Workspace Environment Management System 优化设置。
Cost Insights 仅适用于 Azure MCS 目录,显示
-  | ^^ | ^^ • 过去 30 天内产生的总成本。 |
-  | ^^ | ^^ • 当前 30 天总成本与前 30 天期间的比较。 |
-  | ^^ | ^^ 访问需要 Citrix \*\*Cost Management > Manage > Read cost\*\* 权限(Cloud Administrators 的默认权限)才能查看此选项卡,以及 `Microsoft.CostManagement/query/read` Azure 权限才能查看成本详细信息。 |
Troubleshoot 显示目录错误或警告以及建议的操作。

将计算机添加到目录

开始之前:

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

提示:

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

要将计算机添加到目录:

  1. 在 Studio 中,选择左侧窗格中的计算机目录
  2. 选择一个计算机目录,然后在操作栏中选择添加计算机
  3. 虚拟机页面上,选择要添加的虚拟机数量。
  4. 计算机身份页面上,如下配置设置:

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

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

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

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

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

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

    • (可选)您可以指定帐户名称的起始字符。

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

      请参阅管理计算机名称的序列号以通过 PowerShell 命令自定义使用 MCS 部署的计算机的序列号。

      1. 域凭据页面上,选择输入凭据并输入具有足够权限的用户凭据以创建计算机帐户。
  • 计算机作为后台进程创建,在创建大量计算机时可能需要很长时间。即使关闭 Studio,计算机创建也会继续。

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

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

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

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

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

注意:

  • 对于非 Active Directory 用户,您必须按以下格式键入其名称:<身份提供程序>:<用户名>。示例:AzureAD:username
  • VM 名称区分大小写。输入 VM 路径时,请确保正确输入 VM 名称。

编辑 CSV 模板文件时,请记住以下几点:

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

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

    • Domain\ComputerName1, Domain\Username1
    • Domain\ComputerName2, Domain\Username1;Domain\Username2
    • Domain\ComputerName3, AzureAD:username

    • 仅限计算机帐户:

    • 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

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

| Parameter Name | Required | Description | Example | |—————–|———–|————–|———-|

-  | `-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] 来检索日志。

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

Code String Description
0 Success VDA 已成功添加到计算机目录。
  • -1 InvalidArgument 注册令牌中的输入参数无效。
  • -2 BrokerAgentNotFound 找不到代理代理服务。
  • -3 TokenInvalid 输入的令牌无效。
  • -4 TokenMissingRequiredClaims 令牌所需的声明缺失,例如 CustomerId 或 Enrollment URI。
-5 InternalError 发生了常规错误。
-6 TimedOut 任务已超时。
-7 FailedToDetermineMachineADJoinedStatus 返回计算机 AD 加入状态的服务失败。
-8 ADMachineFailedToFindSid 返回 AD 计算机 Sid 的服务失败。
-9 EnrollRequestFailed 请求因 HTTP 错误而失败。
-10 EnrollResponseMissingRequiredFields 注册工具响应缺少参数 VirtualSiteId
-11 InsufficientPermission 您没有运行该任务所需的权限。
-12 FailedToDetermineMachineAadJoinedStatus 检查计算机 AD 加入状态的服务引发错误。
-13 AadMachineFailedToFindDeviceId 系统添加的附加参数 AAD device id 为空。
-14 AadDeviceIdNotValid 系统添加的附加参数 AAD device id 不是有效的 GUID。
-15 NoValidMacAddress MAC 地址无效。
-16 FailedToGetComputerHostNameForVdaInstanceName 无法获取计算机主机名以设置附加参数 VdaInstanceName
  • -17 VirtualDesktopAgentRegistryKeyFailedToOpen 无法打开 VDA 注册表项以写入交付控制器列表。
  • -18 Failed Token reached the max count 令牌达到最大计数失败。

从目录中删除计算机

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

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

要从目录中删除计算机:

  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。
  1. VDA 升级页面上,更改或选择要升级到的 VDA 版本。有关详细信息,请参阅VDA 升级
  2. 您可能会看到其他页面,具体取决于目录类型。

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

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

      注意:

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

      注意:

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

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

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

      注意:

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

    有关页面上可用设置的详细信息,请参阅使用 Azure Resource Manager 映像创建计算机目录

    对于远程 PC 访问目录,将显示以下页面:

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

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

删除目录

在删除目录之前,请确保:

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

要删除目录:

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

注意:

-  删除 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. 在您的虚拟机管理程序或云服务提供商上,为当前 VM 创建快照并为其指定一个有意义的名称。此快照可用于回滚主映像。
  2. 如有必要,请启动映像并登录。
  3. 安装更新或对映像进行任何必要的更改。
  4. 如果映像使用 Personal vDisk,请更新清单。
  5. 关闭 VM。
  6. 为 VM 创建快照,并为其指定一个有意义的名称,以便在更改主映像时能够识别该名称。

注意:

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

更改主映像

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

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

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

注意:

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

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

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

提示:

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

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

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

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

推出策略

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

> **注意:** > > 推出策略仅适用于非持久性 VM。

请考虑以下事项:

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

提示:

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

回滚主映像

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

    1. 在 Studio 的左侧窗格中,选择计算机目录
    1. 选择该目录,然后在操作栏中选择回滚主映像
        1. 指定何时将早期映像应用到计算机,如推出操作所述。
    • 回滚仅应用于需要还原的计算机。对于尚未更改为新的或更新的映像的计算机(例如,用户尚未注销的计算机),用户不会收到通知消息,也不会强制注销。

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

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

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

更改功能级别或撤消更改

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

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

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

要更改目录的功能级别:

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

目录升级完成后,您可以通过选择目录,然后在操作栏中选择撤消功能级别更改,将计算机还原到其以前的 VDA 版本。

克隆目录

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

    -  您无法更改与[操作系统](/zh-cn/citrix-daas/install-configure/machine-catalogs-create.html#operating-system)和[计算机管理](/zh-cn/citrix-daas/install-configure/machine-catalogs-create.html#machine-management)相关的设置。克隆的目录会从原始目录继承这些设置。

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

-  克隆目录可能需要一些时间才能完成。如有必要,选择**隐藏进度**以在后台运行克隆。
-  克隆的目录继承原始名称并带有后缀 `Copy`。您可以更改名称。请参阅[重命名目录](/zh-cn/citrix-daas/install-configure/machine-catalogs-manage.html#rename-a-catalog)。
  • 克隆完成后,请务必将克隆的目录分配给交付组。
  • 您可以通过克隆创建空目录。在目录克隆期间,您可以将 MCS 预配的目录的计算机数量设置为零,并且不为非 MCS 预配的目录添加计算机。
  1. 在 Studio 的左侧窗格中,选择计算机目录
      1. 选择一个目录,然后在操作栏中选择克隆
  2. 克隆选定的计算机目录窗口中,查看克隆目录的设置并根据需要配置设置。选择下一步以转到下一页。
  3. 摘要页面上,查看设置摘要并选择完成以开始克隆。
  4. 如有必要,选择隐藏进度以在后台运行克隆。

使用文件夹组织目录

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

提示:

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

所需角色

默认情况下,您需要拥有以下内置角色才能创建和管理目录文件夹:Cloud Administrator、Full Administrator 或 Machine Catalog Administrator。如有必要,您可以自定义角色以创建和管理目录文件夹。有关详细信息,请参阅所需权限

创建目录文件夹

-  开始之前,请先规划如何组织您的目录。请考虑以下事项:
  • 最多可嵌套五级文件夹(不包括默认根文件夹)。
  • 目录文件夹可以包含目录和子文件夹。
  • 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. 选择目录,然后转到其故障排除选项卡。
      1. 单击重试超链接以重试创建目录。
  3. 在出现的向导中,根据需要更改设置。如果无需更改,可以直接转到摘要页面。
  4. 完成后,选择完成以开始创建。

(仅限非 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. 运行以下命令以检查目录的身份池的起始计数:
    1. Get-AcctIdentityPool -IdentityPoolName xxx
    1. IdentityPoolName 是目录的名称。
  1. 如果要将此计数设置为其他值,请运行以下命令并将 StartCount 指定为 X:
    1. Set-AcctIdentityPool -IdentityPoolName xxx -StartCount X
  1. 将计算机添加到目录,以便使用所需的计数创建计算机。
    1. 创建计算机后,运行以下命令将其设置回原始值 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

ProvisioningSchemeUid : 7585f0de-192e-4847-a6d8-22713c3a2f42

ProvisioningSchemeName : MyScheme

MasterImageVM : /Base.vm/base.snapshot

-  Date : 17/05/2021 09:27:50
  • MasterImageNote : 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 虚拟化环境。

条件

要成功重置身份磁盘,请确保满足以下条件:

    -  关闭 VM 并将其设置为维护模式
  • 不要在 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 (Update 1) 或更高版本,并且已设置用于启用唯一 `MachineGuid` (`HKLM:\Software\Citrix\MachineIdentityServiceAgent\EnableUniqueMachineGuid`) 的注册表项,则无论 `-Recreate` 设置如何,它都将继续使用与以前相同的 `MachineGuid`。
  1. 键入 y 以确认操作。您也可以使用 -Force 参数跳过确认提示。例如:

    
    Reset-ProvVMDisk -ProvisioningSchemeName <name> -VMName <name> -Identity -Force
    
    <!--NeedCopy-->
    
  2. 运行 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 以验证现有预配方案的新网络设置。

管理计算机目录的版本

当使用 Set-ProvScheme 命令更新 MCS 计算机目录时,当前配置将保存为一个版本。然后,您可以使用 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 将从计算机配置文件获取属性值。

注意:

现有的基于计算机配置文件(machine profile)的计算机目录无法更改为非基于计算机配置文件的计算机目录。

为此,请执行以下操作:

  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 命令,您可以:

  • 获取错误或警告列表
  • 将警告状态从新建更改为已确认
  • 删除错误或警告

要运行 PowerShell 命令:

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

要获取错误和警告列表:

运行 Get-ProvOperationEvent 命令。

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

要将错误或警告的状态从新建更改为已确认

运行 Confirm-ProvOperationEvent 命令。

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

要删除错误或警告:

运行 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. 更新 VM 的属性。例如,如果要更新 VM 的存储类型 (StorageType) 自定义属性,请运行以下命令:

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

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

    
    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 的属性值。更新尚未应用。VM 仍处于旧配置中。

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

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

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

    注意:

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

  6. 重新启动 VM。例如:

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

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

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

  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 递增 1。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-->
    

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

  8. 获取 VM 的配置版本。例如:

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

    现在,ProvisioningSchemeVersionProvVMConfigurationVersion 显示最新版本。

还原应用于 VM 的配置更新

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

    
    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName <catalog name> -VMName machine1
    
    <!--NeedCopy-->
    
  3. 请求对 VM 进行计划更新。例如:

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

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

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

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

VM 的存储迁移

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

您可以迁移完整克隆的持久性 VM 和非持久性 VM。

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

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

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

迁移磁盘存储

要迁移磁盘存储:

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

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

    注意:

    对于非持久性 VM:

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

    • 运行 ProvResourceInStorage 以获取操作系统存储信息。例如:

      
       $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 磁盘(适用于非持久性 VM)迁移到目标存储。

    注意:

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

    示例:

    持久性 VM:

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

    重要提示:

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

    非持久性 VM:

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

    重要提示:

    • 如果您不想迁移特定磁盘,请将 DestinationStorageId 参数的值设置为 None
    • 如果 VM 具有 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,请参阅 如何修复持续显示未知电源状态的 VM
  • 如果 Cloud Connector 无法正常运行,MCS 预配操作(例如目录更新)将比平时花费更长的时间,并且管理控制台的性能会显著下降。

后续步骤

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