Citrix DaaS™

在 Amazon WorkSpaces Core 托管实例中使用准备好的映像创建目录

创建准备好的映像,并使用这些准备好的映像通过以下方式创建 MCS 计算机目录:

  • 工作室
  • PowerShell

关键步骤

  1. 创建映像定义和初始映像版本。
  2. 从初始映像版本创建映像版本。
  3. 使用映像版本作为准备好的映像来创建目录。

使用 Studio 创建映像定义和初始映像版本

要创建映像定义和初始映像版本,请执行以下操作:

  1. 在 Studio 中,转到“映像”节点,然后单击“创建映像定义”。在“简介”页面上单击“下一步”。
  2. 在“映像定义”页面上,为映像定义指定“操作系统类型”和“会话类型”。
  3. 在“映像”页面上,选择“资源”(仅列出适用于所设置连接的资源)、用作创建映像版本模板的主映像,以及用于捕获硬件属性的计算机配置文件。选择一个计算机配置文件以从 VM 实例或启动模板版本捕获硬件属性。

    注意:

    • 在选择映像之前,请验证主映像是否已安装 VDA 2311 或更高版本,并且 VDA 上已安装 MCSIO 驱动程序。
    • 仅支持实例元数据服务 (IMDS) V2,不支持 IMDS V1。有关信息,请参阅 实例元数据服务版本 2 的工作原理
  4. 计算机规格页面上,选择计算机大小。默认选择计算机配置文件(在映像页面上选择)的计算机大小。
  5. 网卡页面上,为准备映像选择或添加网卡。对于每个网卡,选择一个关联的 VPC 子网。
  6. 版本描述页面上,输入所创建的初始映像版本的描述。
  7. 摘要页面上,验证映像定义和所创建的初始映像版本的详细信息。输入映像定义的名称和描述。单击完成

使用 Studio 创建映像版本

映像版本允许管理特定映像的不同迭代或更新。此功能使您能够为不同目的维护映像的多个版本。

要从初始映像版本创建映像版本,请执行以下操作:

注意:

所有映像版本的托管单元必须相同。

  1. 转到映像节点,选择一个映像版本或映像定义,然后单击创建映像版本
  2. 映像定义页面上,您可以更改托管单元,并重新选择该映像版本的主映像和计算机配置文件。
  3. 如果您希望映像版本的配置与初始配置的映像版本不同,请在创建映像版本对话框的计算机规格网卡页面上配置设置。
  4. 添加映像版本的描述。单击完成

注意:

如果映像版本创建因任何原因失败,底部的故障排除选项卡会提供重试选项。

使用 PowerShell 创建准备好的映像版本规范

创建准备好的映像版本规范的详细 PowerShell 命令如下:

  1. 使用 Test-ProvImageDefinitionNameAvailable command 检查可用的映像定义名称。例如,

    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]>
    <!--NeedCopy-->
    
  2. 使用 New-ProvImageDefinition 命令创建映像定义。例如,

    New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
    <!--NeedCopy-->
    
  3. 使用 Add-ProvImageDefinitionConnection 命令在指定的托管连接中为映像定义创建新配置。

    Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn
    <!--NeedCopy-->
    
  4. 使用 New-ProvImageVersion 命令创建映像版本。例如,

    New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
    <!--NeedCopy-->
    
  5. 使用 Add-ProvImageVersionSpec 命令将主映像版本规范添加到映像版本。例如,

    Add-ProvImageVersionSpec -ImageDefinitionName  image1  -ImageVersionNumber  1 -HostingUnitName wsc -MasterImagePath "XDHyp:\HostingUnits\wsc\win10-2411-ami (ami-00123456789abcdef).template”"
    <!--NeedCopy-->
    

    注意:

    对于一个托管单元,您只能向一个映像版本添加一个主映像版本规范。

  6. 使用 New-ProvImageVersionSpec 命令从主映像版本规范创建准备好的映像版本规范。SourceImageVersionSpecUid 参数派生自 Add-ProvImageVersionSpec 命令。例如,

    New-ProvImageVersionSpec
    -SourceImageVersionSpecUid  00000000-0000-0000-0000-00000000000
    -MachineProfile 'XDHyp:\HostingUnits\wsc\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -RunAsynchronously
    <!--NeedCopy-->
    

创建映像定义、映像版本和准备好的映像版本规范的完整 PowerShell 命令集示例

New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession


Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName wsc -CustomProperties $CustomProperties

$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"

$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
    -HostingUnitUid $hostingunit.HostingUnitUid `
    -MasterImagePath "XDHyp:\HostingUnits\wsc\win10-2411-ami (ami-00123456789abcdef).template”

New-ProvImageVersionSpec -MachineProfile 'XDHyp:\HostingUnits\wsc\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid 00000000-0000-0000-0000-00000000000-HostingUnitName wsc
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->

注意:

  • 映像定义中的所有映像版本规范必须属于同一个托管单元。
  • 一个映像版本只能有一个主映像版本规范和一个准备好的映像版本规范。
  • 所有映像版本规范都必须具有计算机配置文件。

跨可用区和区域共享准备好的映像

您现在可以在同一 AWS 区域内或在不同区域中,为您的 Amazon WorkSpaces Core 托管实例,在绑定到不同托管单元的不同可用区之间共享单个准备好的映像。这使您可以使用一个准备好的映像在各种可用区和区域中创建和更新 MCS 计算机目录。当在不同区域的不同可用区之间共享时,准备好的映像版本将从原始区域复制到目标区域。

您可以维护单个准备好的映像,并使用它在绑定到不同托管单元的多个可用区和区域中创建和更新计算机目录。这显著减少了您的映像管理开销,确保了跨部署的一致性,并简化了预配过程。您还可以使用来自不同可用区或区域的准备好的映像无缝更新现有计算机目录。

用例

  • 集中式映像管理: 您在一个可用区中创建准备好的映像(例如,us-east-1a)。然后,您可以将此映像共享到同一 us-east-1 AWS 区域内的其他可用区(例如 us-east-1b),或者共享到不同 us-west-1 region 中的其他区域(例如 us-west-1a)。这允许单个映像服务于多个托管单元,并为您简化了维护。
  • 高效的目录创建和更新: 您可以使用在 AZ 1 中创建的准备好的映像(例如,us-east-1a)在 AZ 1 中创建新目录。将此映像共享到 AZ 2(例如,us-east-1b)后,您可以在 AZ 2 中使用共享映像在 AZ 2 中创建和更新目录。
  • 跨托管单元和托管连接部署: 如果您的环境在相同或不同的 AWS 区域下有多个托管单元,您可以在这些托管单元之间高效地共享准备好的映像。

限制

  • 在同一 AWS 账户内共享:在当前实施中,您无法跨不同的 AWS 账户共享。

重要注意事项

  • 删除顺序: 要删除原始准备好的映像版本规范,您必须首先删除其所有共享映像版本规范。或者,您必须同时删除原始和共享规范。
  • 映像版本依赖性: 当您删除映像版本时,您必须首先删除依赖于该特定映像版本的任何共享配置。从原始(未共享)映像创建的目录可以保持不变。
  • 目录向后兼容性: 您可以更新在此功能引入之前部署的现有计算机目录。使用您在与最初部署目录的可用区或区域不同的可用区或区域中创建的准备好的映像。
  • 完全删除: 当您删除准备好的映像时,您将无法在您共享或最初创建它的任何可用区中使用它。此外,在删除所有绑定到该准备好的映像版本的目录之前,无法删除准备好的映像版本。

先决条件

在配置或使用此功能之前,请确保满足以下条件:

  • 您的环境必须是 Amazon WorkSpaces Core 托管实例环境。
  • 您必须在同一个 AWS 账户下配置多个托管单元(每个单元可以绑定到不同的可用区)和主机连接(每个连接可以绑定到不同的区域)。

使用 Studio UI 进行配置

您可以使用 Studio UI 在绑定到不同托管单元的可用区之间共享准备好的映像。

共享准备好的映像

  1. 导航到 Studio 的 映像 节点,然后选择要与其他可用区共享的准备好的映像版本。
  2. 在顶部导航栏中选择 管理映像共享 以管理所选映像版本的映像共享。
  3. 管理映像共享 页面上,选择一个或多个要共享映像版本的资源。这些资源可以位于与原始映像版本不同的可用区中。
  4. 单击 保存 以在其他可用区中的资源中共享映像版本。映像版本会更新,以便在您选择的不同资源之间共享。完成后,使用该映像版本在共享该映像版本的可用区中创建目录。

取消共享准备好的映像

  1. 在 Studio 的 映像 节点上,选择要取消共享的准备好的映像版本。
  2. 在顶部导航栏中选择 管理映像共享 以管理所选映像版本的映像共享。
  3. 取消选中一个或多个要停止共享映像版本的资源(可用区)的复选框。

    注意:

    资源不得再与共享映像版本关联,也不得从共享映像版本创建任何目录。任何要删除的、从共享映像版本创建的目录都必须首先删除。

  4. 单击 保存 以取消在已清除的可用区之间共享资源。映像版本将更新,使其不再在这些可用区中共享。

使用 PowerShell 进行配置

或者,您可以使用 PowerShell 命令在绑定到不同托管单元的可用区之间共享准备好的映像。

共享准备好的映像

  1. 确保您拥有要共享的准备好的映像的 ImageVersionSpecUid。您可以使用 PowerShell 中的 Get-ProvImageVersionSpec 或类似的 Get- 命令检索此信息。
  2. 确定要使准备好的映像可用的可用区(可以是相同或不同的区域)的 HostingUnitName。这是您为该特定可用区配置的托管单元的名称。
  3. 运行 Add-ProvImageVersionSpecHostingUnit 命令: 使用以下 PowerShell 命令。将 <ImageVersionSpecUid> 替换为映像的 Uid,将 <targetHostingUnitName> 替换为目标可用区中要共享映像版本规范的托管单元的名称:

    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    
  4. 成功执行后,您可以在 Studio UI 中看到映像的状态,表明您已将其与指定的托管单元共享。

取消共享准备好的映像

  1. 确保您拥有要取消共享的准备好的映像的 ImageVersionSpecUid
  2. 确定要从中删除共享映像的可用区的 HostingUnitName
  3. 运行 Remove-ProvImageVersionSpecHostingUnit 命令: 使用以下 PowerShell 命令。将 <ImageVersionSpecUid> 替换为映像的 Uid,将 <targetHostingUnitName> 替换为目标可用区中要取消共享映像版本规范的托管单元的名称:

    Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    

映像准备期间的网络设置

在映像准备期间,会基于原始 VM 创建一个准备虚拟机 (VM)。此准备 VM 与网络断开连接。要断开准备 VM 的网络连接,会创建一个网络安全组以拒绝所有入站和出站流量。此网络安全组会持久存在并被重复使用。该网络安全组的名称为 Citrix.XenDesktop.IsolationGroup-GUID,其中 GUID 是随机生成的。

基于计算机配置文件的计算机目录

您可以使用计算机配置文件从 EC2 实例 (VM) 或启动模板版本捕获硬件属性,并将其应用于预配的计算机。捕获的属性可以包括(例如)租用类型、实例类型、安全组、网络映射、EBS 卷属性、EBS 优化、CPU 选项、休眠功能以及其他受支持的 AWS 配置。

您可以使用 AWS EC2 实例 (VM) 或 AWS 启动模板版本作为计算机配置文件输入。

注意:

AWS 租用

AWS 提供以下租用选项:共享租用(默认类型)和专用租用。共享租用意味着来自不同客户的多个 Amazon WorkSpaces Core 实例可能驻留在同一物理硬件上。专用租用意味着您的 Amazon WorkSpaces Core 实例仅在您已部署的其他实例所在的硬件上运行。

注意:

仅支持专用实例(目前不支持专用主机)。其他客户不使用同一硬件。

租用类型从计算机配置文件中捕获

当您使用 MCS 在 AWS 中创建目录以预配计算机时,租用类型会从计算机配置文件中捕获。

  • 共享硬件:此设置适用于大多数部署。多个客户共享硬件,即使他们之间不进行交互。使用共享硬件是运行 Amazon EC2 实例最经济的选择。
  • 专用实例:此设置更适用于具有特定安全或合规性要求的部署。使用专用实例,您仍然可以享受与 AWS 其他客户分开的主机所带来的好处,但无需支付整个主机的费用。您无需担心主机的容量,但实例的收费费率更高。此外,专用实例对自带许可证 (BYOL) 提供有限支持。

灵活计费

Amazon WorkSpaces Core 托管实例支持两种计费模式:

计费模式 描述
包月 固定月费率计费。适用于持久性桌面和可预测的工作负载。
按小时 按需计费。如果未明确指定计费模式,这是 AWS 的默认配置。

这些选项根据您的工作负载的持久性和使用模式,为管理计算成本提供了灵活性。

此功能需要使用 Amazon WorkSpaces 计费服务。默认情况下,MCS 使用此服务来预配和管理实例,让您能够从更具竞争力的持久性工作负载固定费率定价中受益。

先决条件和注意事项

  • AWS 账户配置:您的 AWS 账户必须配置为使用 WorkSpaces 计费服务。虽然 AWS 账户默认已切换,但有些客户可能会要求 AWS 仍使用旧版 EC2 计费服务来使用 WorkSpaces Core 托管实例。

    注意:

    如果您的账户使用的是旧版 EC2 计费服务,则包月计费选项不可用。

  • 主机连接:灵活计费仅适用于 Amazon WorkSpaces Core 主机连接。它不支持标准 AWS EC2 主机连接。
  • 竞价型实例:WorkSpaces 计费服务不支持竞价型实例。
  • 混合计费:AWS 账户必须对核心托管实例使用 WorkSpaces 计费或 EC2 计费。不支持在单个账户中混合使用这两种计费方式。
  • 兼容性:只有特定的实例类型、平台类型(操作系统)和租用类型与某些计费模式兼容。MCS 执行预检,以确保您的选择(服务产品、计算机配置文件和准备好的映像)与所选的计费模式匹配。

请参阅 使用特定计费模式创建计算机目录

创建目录

创建 Amazon WorkSpaces Core 托管实例目录需要准备好的映像和计算机配置文件。您可以使用 AWS VM 实例或 AWS 启动模板版本作为计算机配置文件输入。

注意:

目前,支持创建持久和非持久 VM 的目录(CleanOnBoot 属性为 TrueFalse)。

在创建 Amazon WorkSpaces Core 托管实例目录之前,您需要完成以下创建:

  1. 连接到 Amazon WorkSpaces Core 托管实例。请参阅 连接到 Amazon WorkSpaces Core 托管实例
  2. 准备好的映像。

您可以使用以下方式创建目录:

使用 Studio 创建目录

从“映像”节点创建计算机目录

使用“映像”节点中的“创建目录”选项,利用映像版本创建目录。

或者,您可以在“计算机目录”节点中创建目录时选择版本,链接到目录创建工作流中的准备好的映像选项。请参阅从“计算机目录”节点创建计算机目录

要从“映像”节点创建 MCS 计算机目录,请执行以下操作:

  1. 选择一个映像版本,然后单击“创建目录”。在“简介”页面上单击“下一步”。
  2. 在“计算机管理”和“映像”页面上,设置会根据所选映像版本预先选择。在“映像”页面上,为所选的准备好的映像输入备注。
  3. 完成以下页面上的设置。
  4. 在“摘要”页面上,检查计算机目录的详细信息。输入计算机目录的名称和描述。单击“完成”。
  5. 转到“计算机目录”节点以查看已创建的计算机目录。

从“计算机目录”节点创建计算机目录

要从“计算机目录”节点创建 MCS 计算机目录,请执行以下操作:

  1. 在左侧导航窗格中单击“计算机目录”。
  2. 单击“创建计算机目录”。“计算机目录设置”页面随即显示。
  3. 在“计算机类型”页面上,为目录选择计算机类型,例如“多会话操作系统”。
  4. 在“计算机管理”页面上,选择以下设置:

    1. 选择 电源管理的计算机(例如,虚拟机或刀片式电脑)
    2. 选择 Citrix 预配技术。然后,选择 Citrix Machine Creation Services™
    3. 资源 字段中,选择您在创建主机连接时配置的资源(可用区或本地区域),然后单击 下一步
  5. 桌面体验 页面上,选择用户登录时所需的随机或静态桌面。如果选择静态桌面,请进一步指定是否要保存用户在本地磁盘上所做的更改(持久性或非持久性)。
  6. 映像 页面上,单击 选择映像 为计算机目录选择一个准备好的映像。选择您创建的准备好的版本。单击映像版本名称。要查看有关所选映像版本的更多详细信息,请单击带下划线的版本号。单击 完成

    与准备好的映像关联的计算机配置文件将显示,其硬件属性(例如,实例类型、租用类型、网络映射、安全组、卷属性)用于在目录中创建计算机。要将计算机配置文件源更改为另一个 VM 或启动模板版本,请单击编辑按钮。

  7. 虚拟机 页面上:

    1. 输入目录的 VM 数量。
    2. 显示默认计算机规范,该规范基于计算机配置文件。要更改它,请选择编辑图标并选择一个计算机规范。
  8. NIC 页面上,为 VM 选择 NIC(或 ENI)。
  9. 计算机身份 页面上,配置目录中计算机的计算机身份类型:

    1. 要配置 已加入域的计算机(本地 Active Directory 或 Microsoft Entra 混合加入),请选择域并为将在此计算机目录中创建的 VM 创建新的 AD 帐户。预配的 VM 将加入所选域。要预配 未加入域的计算机,请选择未加入域选项。
    2. 指定为 VM 创建新帐户的帐户命名方案。
  10. 域凭据 页面上,单击 输入凭据 以提供所选域的凭据。出现提示时,输入管理员级别的用户名和密码。如果您之前已按照我们的 产品文档 保存了域凭据,也可以使用服务帐户。
  11. 单击其余页面,直到 摘要 页面。输入计算机目录的名称,然后选择 完成 以创建计算机目录。

在 AWS 本地区域中创建计算机目录的限制

  • 某些本地区域仅支持某些硬件配置(例如,珀斯本地区域不支持 GP3 卷,仅支持 GP2)。
  • 由于所有本地区域普遍仅支持 gp2,并非所有都支持 gp3,因此 ID 磁盘创建默认使用 gp2 卷类型。
  • 您必须选择一个计算机配置文件,其硬件规格在所需的本地区域中受支持。
  • 准备好的映像 AMI 快照和 ID 磁盘快照默认放置在区域中,而不是本地区域(由于 AWS 限制,无法查看本地区域中 EBS 快照支持的可见性)。
  • 仅支持提供完整 EC2 和 EBS 服务的本地区域是受支持的区域。

使用 PowerShell 创建目录

使用准备好的映像版本规范和计算机配置文件创建目录

  • 使用 New-ProvScheme 命令从准备好的映像版本规范创建 MCS 非持久性计算机目录。例如,

     New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $true] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”]
     <!--NeedCopy-->
    
  • 使用 New-ProvScheme 命令从准备好的映像版本规范创建 MCS 持久性计算机目录。例如,

     New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-CleanOnBoot $false] [-MachineProfile <string>] [-ProvisioningSchemeType “MCS”]
     <!--NeedCopy-->
    

创建目录的完整 Powershell 命令集示例:

$Catalog = New-BrokerCatalog  -AllocationType "Random"  -IsRemotePC $False  -MinimumFunctionalLevel "L7_20" -Name "wsccatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"

$IdentityPool = New-AcctIdentityPool  -AllowUnicode  -Domain "domainname" -IdentityPoolName "wsccatalog" -IdentityType "ActiveDirectory"  -NamingScheme "aws##" -NamingSchemeType "Numeric" -Scope @()

$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"

$Task = New-ProvScheme -ProvisioningSchemeName wsccatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName wsc -IdentityPoolName wsccatalog -CleanOnBoot -Scope @() -SecurityGroup @() -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm' -RunAsynchronously

Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName wsccatalog

Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
<!--NeedCopy-->

更新计算机配置文件

要更新最初使用计算机配置文件预配的目录上的计算机配置文件,请执行以下操作。您还可以在编辑 MCS 计算机目录时更改计算机配置文件源的租用类型和休眠功能。

  1. 运行 Set-ProvScheme 命令。例如,

    Set-ProvScheme `
    -ProvisioningSchemeUid "<ID" `
    -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm"
    <!--NeedCopy-->
    

创建具有特定计费模式的计算机目录

您目前只能在使用 PowerShell 创建计算机目录时指定计费模式。

要通过 PowerShell 指定计费模式,请在 New-ProvScheme 命令中使用 CustomProperties 参数。

$custprop = "BillingMode,Monthly"

New-ProvScheme -ProvisioningSchemeName "MyCatalog" `
-ImageVersionSpecUid $ImageVersionSpecUid `
-HostingUnitName "wsc-unit" `
-IdentityPoolName "MyIdentityPool" `
-MachineProfile "XdHyp:\HostingUnits\wsc-unit\machine-profile lt-123.launchtemplate\lt-123 (1).launchtemplateversion" `
-CustomProperties $custprop `
-CleanOnBoot
<!--NeedCopy-->

注意:

如果省略 BillingMode 属性,则目录默认为 Hourly

更改现有目录的计费模式

您可以将现有目录从 Monthly 转换为 Hourly,反之亦然。此更改可应用于目录中的新 VM 和现有 VM。

更新的重要注意事项

  • 服务窗口:现有 VM 必须经过服务窗口或电源循环才能应用计费更改。
  • 验证:MCS 会在应用更改之前验证现有实例类型和平台是否与新的计费模式兼容。

使用 PowerShell 进行更新

  • 要仅更新添加到目录中的新 VM 的计费模式,请更新预配方案的计费模式自定义属性:

     $custprop = "BillingMode,Hourly"
    
     Set-ProvScheme -ProvisioningSchemeName "MyCatalog" -CustomProperties $custprop
     <!--NeedCopy-->
    
  • 要更新目录中新 VM 和现有 VM 的计费模式,请创建具有更新的自定义属性的新预配方案版本,并将新版本应用于所有 VM:

     $custprop = "BillingMode,Hourly"
    
     New-ProvSchemeVersion -ProvisioningSchemeName "MyCatalog" -CustomProperties $custprop
    
     New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 2 `
     -StartsNow -AllVMs `
     -MaxDurationInMinutes 100 `
     -ProvisioningSchemeName "MyCatalog"
     <!--NeedCopy-->
    

监控计费信息

您可以验证目录和单个虚拟机的计费模式。

运行以下 PowerShell 命令以检查您帐户的计费资格:

  • BillingMode 作为 CustomProperties 的一部分返回

     Get-ProvScheme –ProvisioningSchemeName “"MyCatalog" "  | Select  ProvisioningSchemeName,  CustomProperties
     <!--NeedCopy-->
    
  • BillingMode 作为 VMInfo 的一部分返回

     Get-ProvVMDetails –ProvisioningSchemeName “"MyCatalog" "  | Select-Object  -ExpandProperty VMInfo
     <!--NeedCopy-->
    

故障排除和验证

MCS 包含预检,以防止出现不兼容的配置。在目录创建或编辑期间,您可能会遇到以下错误:

  • NoInstanceConfigFoundForBillingMode:如果所选的服务产品(实例类型)、租期和平台类型不支持所选的计费模式,则会发生此错误。

  • Spot Instance Not Supported:如果您尝试将 Spot 实例与 WorkSpaces 主机连接一起使用,则验证将失败。
  • EC2 billing restriction:如果您的 AWS 账户采用旧版 EC2 计费模式,则尝试设置每月计费模式将导致验证错误。

使用 PowerShell 创建具有启动模板版本的目录

您可以创建以启动模板版本作为计算机配置文件输入的 MCS 计算机目录。您还可以将计算机配置文件目录的输入从 VM 更新为启动模板版本,以及从启动模板版本更新为 VM。

在 AWS EC2 控制台中,您可以提供启动模板的实例配置信息以及版本号。当您在创建或更新计算机目录时将启动模板版本指定为计算机配置文件输入时,该启动模板版本的属性将复制到预配的 VDA VM。

以下属性可以使用计算机配置文件输入提供,也可以作为 New-ProvSchemeSet-ProvScheme 命令中的参数显式提供。如果它们在 New-ProvSchemeSet-ProvScheme 命令中提供,则它们优先于这些属性的计算机配置文件值。

  • 服务产品
  • 网络

注意:

如果计算机配置文件启动模板中未提供服务产品,或者未作为 New-ProvScheme 命令中的参数提供,则会收到相应的错误。

要使用启动模板版本作为计算机配置文件输入来创建目录:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 获取启动模板的启动模板版本列表。例如:

    XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath
    <!--NeedCopy-->
    
  4. 如果尚未创建身份池,请创建一个。例如:

    New-AcctIdentityPool `
    -IdentityPoolName "abc11" `
    -NamingScheme "abc1-##" `
    -NamingSchemeType Numeric `
    -Domain "citrix-xxxxxx.local" `
    -ZoneUid "xxxxxxxx" `
    <!--NeedCopy-->
    
  5. 使用启动模板版本作为计算机配置文件输入创建预配方案。例如:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid "c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid "bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -ImageVersionSpecUid ‘24dfb047-e867-527g-896c-25664xxxxx1t’ `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
    <!--NeedCopy-->
    
  6. 将预配方案注册为代理目录。例如:

    New-BrokerCatalog -Name "MPLT1" `
    -AllocationType Random `
    -Description "Machine profile catalog" `
    -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx `
    -ProvisioningType Mcs `
    -SessionSupport MultiSession `
    -PersistUserChanges Discard
    <!--NeedCopy-->
    
  7. 完成目录创建。

更新计算机配置文件源

您还可以将计算机配置文件目录的输入从 VM 更新为启动模板版本,以及从启动模板版本更新为 VM。例如:

  • 要将计算机配置文件目录的输入从 VM 更新为启动模板版本:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-0bxxxxxxxxxxxx).launchtemplate\lt-0bxxxxxxxxxxxx (1).launchtemplateversion"
     <!--NeedCopy-->
    
  • 要将计算机配置文件目录的输入从启动模板版本更新为 VM:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\sard-ue1a\us-east-1a.availabilityzone\apollo-non-persistent-vda-win2022-2 (i-08xxxxxxxxx).vm"
     <!--NeedCopy-->
    

启用 MCSIO 的目录

MCS 存储优化 (MCSIO) 通过两层机制缓存磁盘写入操作,从而提高虚拟机 I/O 性能:

  • 在内存中,或
  • 在专用高速磁盘上(当内存已满时溢出到磁盘)。

对于 Amazon WorkSpaces Core 托管实例,启用 MCSIO 会为每个预配的 VM 附加一个回写缓存 (WBC) 磁盘,此外还有标准操作系统和身份磁盘。

使用以下方式启用和配置 MCSIO:

  • 工作室
  • PowerShell

使用 Studio 启用 MCSIO

先决条件

在 Studio 中配置 MCSIO 之前,请确保以下事项:

  • MCSIO 驱动程序已安装在主映像 (AMI) 上。安装或升级 VDA 时,请选择安装 MCSIO 驱动程序的选项。默认情况下,驱动程序未安装。
  • 从包含 MCSIO 驱动程序的主映像创建了一个准备好的映像版本。
  • 计算机目录使用非持久性 (CleanOnBoot) 桌面体验。MCSIO 适用于非持久性 VDI 目录。

使用 Studio 创建启用 MCSIO 的计算机目录

完成前面所述的目录创建步骤(计算机类型、计算机管理、桌面体验、映像、虚拟机、NIC、计算机身份、域凭据),如 (/zh-cn/citrix-daas/install-configure/create-prepared-image-amazon-wsc#create-a-machine-catalog-from-the-machine-catalogs-node) 中所述。当您到达“磁盘设置”页面时,请执行以下操作:

  1. 在“磁盘设置”页面上,选中“启用并配置回写缓存以获得最佳 I/O 性能”复选框。
  2. 配置回写缓存磁盘设置:

    • 磁盘缓存大小 (GB):输入用于缓存的磁盘大小(以 GB 为单位)。该值必须至少为 1 GB,且不得超过操作系统磁盘大小。
    • 磁盘驱动器盘符:选择“自动分配”以让系统分配驱动器盘符,或手动指定驱动器盘符。
    • 分配给缓存的内存 (MB):输入要分配给缓存的内存量(以 MB 为单位)。该值必须大于零且小于计算机总内存。

    注意:

    回写缓存要求在主映像上安装 MCSIO 驱动程序。

  3. 选择回写缓存磁盘的存储类型下,选择一种 EBS SSD 卷类型:

    存储类型:

    • 通用型 SSD (gp2)
    • 通用型 SSD (gp3)
    • 预置 IOPS SSD (io1)
    • 预置 IOPS SSD (io2)

    注意:

    回写缓存仅支持 EBS SSD 卷类型。不支持 HDD 卷类型和本地实例存储(临时存储)。

  4. 选择回写缓存磁盘的持久性类型下,选择以下选项之一:

    • 使用非持久性回写缓存磁盘:缓存磁盘在计算机开机时创建,在关机时删除。这是默认设置。
    • 使用持久性回写缓存磁盘:缓存磁盘在电源循环中保留。
  5. 系统磁盘下,可选择在电源循环期间保留系统磁盘,以便在机器关机时保留操作系统磁盘。启用此选项后,机器在每次启动时都会跳过从模板重新创建根磁盘,从而缩短启动时间。

    注意:

    为获得最佳启动性能,请同时启用使用持久性回写缓存磁盘在电源循环期间保留系统磁盘。启用这两个选项后,机器在启动时会重用现有的缓存磁盘和操作系统磁盘,而不是初始化新的磁盘。

  6. 单击下一步以继续完成向导的其余页面。
  7. 摘要页面上,完成之前验证 MCSIO 相关设置。摘要显示以下回写缓存字段:

    • 启用临时磁盘缓存
    • 内存缓存大小 (MB)
    • 磁盘缓存大小 (GB)
    • 持久性回写缓存磁盘
    • 回写缓存磁盘类型
    • 回写缓存磁盘驱动器盘符
    • 保留系统磁盘
  8. 输入计算机目录的名称和可选描述,然后单击完成

使用 Studio 更新现有目录上的 MCSIO 设置

您可以从编辑计算机目录更新现有目录上的回写缓存设置。

注意:

您在磁盘设置页面上所做的更改仅适用于以后添加到目录中的新计算机。现有计算机保持不变。

  1. 计算机目录中,选择要更新的目录,然后单击编辑计算机目录
  2. 导航到磁盘设置页面。更新以下任一设置:

    • 磁盘缓存大小 (GB):更改回写缓存磁盘的大小。
    • 分配给缓存的内存 (MB):更改为缓存分配的内存。
    • 存储类型:更改回写缓存磁盘的 EBS 卷类型。
    • 持久性类型:在持久性和非持久性回写缓存磁盘之间切换。
    • 在电源循环期间保留系统磁盘:启用或禁用操作系统磁盘保留。
  3. 单击应用以保存而不关闭,或单击保存以保存并关闭。

启用 MCSIO 的计算机的 EBS 磁盘布局

启用 MCSIO 后,每个预配的 Amazon WorkSpaces Core VM 都附加了三个 EBS 卷。您可以从 AWS 管理控制台的 EC2 实例详细信息中的 Elastic Block Store 部分验证磁盘布局。

磁盘 设备索引 描述
操作系统磁盘 /dev/sda1 从准备好的映像克隆的根卷。如果启用了“在电源循环期间保留系统磁盘”,则当计算机关机时,此磁盘将保留。
身份磁盘 埃克斯维迪艾弗 存储预配的 VM 的计算机身份信息。始终保留。
回写缓存磁盘 埃克斯维迪吉 用于 MCSIO 写入操作的高速缓存磁盘。仅当选择了“使用持久回写缓存磁盘”时,才会在电源循环期间保留。

回写缓存和操作系统磁盘行为参考

下表总结了回写缓存和操作系统磁盘根据所选持久性设置的行为方式。

WBC 持久性 操作系统磁盘保留 关机时 启动性能 VM 关闭时的存储成本
非持久性(默认) 已禁用(默认) WBC 磁盘和操作系统磁盘均已删除。下次开机时会创建新磁盘。 标准 无操作系统磁盘或 WBC 磁盘成本。
非持久性(默认) 已启用 WBC 磁盘已删除。操作系统磁盘已保留。 更快 — 跳过操作系统磁盘初始化 有操作系统磁盘成本,无 WBC 磁盘成本。
持久性 已禁用(默认) WBC 磁盘已保留。操作系统磁盘已删除,并在下次开机时从模板重新创建。 更快 — 跳过 WBC 初始化 WBC 磁盘成本,无操作系统磁盘成本。
持久性 已启用 WBC 磁盘和操作系统磁盘均保留。 最快 — 无需磁盘初始化 操作系统磁盘和 WBC 磁盘成本。

注意:

在非持久性目录上启用操作系统磁盘保留意味着操作系统磁盘在重新启动时不会重置。这以更快的启动时间换取操作系统磁盘的存储成本。但是,所有写入仍然只进入回写内存缓存或回写缓存磁盘。即使启用操作系统磁盘保留,用户更改也不会累积在操作系统磁盘上。请根据您的环境要求进行评估。

使用 PowerShell 启用 MCSIO

使用 PowerShell 创建已启用 MCSIO 的目录

添加到 New-ProvScheme PowerShell 命令的四个参数是:

  • UseWriteBackCache:为给定预配方案启用缓存(回写缓存)
  • WriteBackCacheDiskSize:指定用于缓存的临时磁盘大小(以 GB 为单位)
  • WriteBackCacheMemorySize:指定用于缓存的内存量(以 MB 为单位)。这是一个可选参数。

注意:

  • WriteBackCacheDiskSize 的值必须大于零,因为至少需要 1 GB 的缓存磁盘存储。缓存磁盘大小不得大于操作系统磁盘大小。
  • WriteBackCacheMemorySize 的值必须是非零且小于计算机目录内存大小。

影响 MCSIO 的自定义属性包括:

  • WBCDiskStorageType:定义卷类型,用于 Amazon WorkSpaces Core 托管实例中的临时磁盘。此参数接受格式为 volume-type[:iops][:throughput] 的字符串参数。以下是卷类型:

    • gp2:此卷类型请勿使用 iops 和吞吐量参数
    • gp3:此卷类型请使用 iops 和吞吐量参数
    • io1:此卷类型仅使用 iops 参数
    • io2:此卷类型仅使用 iops 参数

    默认卷类型为 gp2

  • PersistWBC:控制每当 Amazon WorkSpaces Core 托管实例关闭时是保留还是丢弃缓存磁盘。如果设置为 true,则保留缓存磁盘。如果设置为 false(默认值),则仅当 AMI 实例开机时才创建并保留缓存磁盘。
  • PersistOSDisk:控制每当 Amazon WorkSpaces Core 托管实例关闭时是保留还是丢弃操作系统磁盘。如果设置为 true,则保留操作系统磁盘。如果设置为 false(默认值),则仅当 AMI 实例开机时才创建并保留操作系统磁盘。

在 PowerShell 窗口中执行以下步骤以创建一个启用 MCSIO 的非持久性目录:

  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 创建代理目录和身份池。
  4. 创建预配方案。例如:

    $HostingUnitUid = '0xxxx1d9-bbfc-xxxf-bxxb-exxxxxe008b2'
    $MasterImageVM = 'XDHyp:\HostingUnits\ctx-test\aws-apollo-non-persistent-multi-mcsio-vda-win2022 (ami-0bf1810488acbxxxb).template'
    $NetworkMap = @{ 'NetworkPath' = 'XDHyp:\HostingUnits\ctx-test\us-east-1a.availabilityzone\10.0.128.0`/17 (vpc-0fa6e41d72507fxxx).network' }
    $SecurityGroup = $( 'XDHyp:\HostingUnits\ctx-test\us-east-1a.availabilityzone\private.securitygroup' )
    $ServiceOffering = 'XDHyp:\HostingUnits\ctx-test\T3 Medium Instance.serviceoffering'
    $CustomProperties = 'WBCDiskStorageType,gp3:6000:250;PersistWBC,false'
    
    $provScheme = New-ProvScheme -ProvisioningSchemeName $CatalogName -HostingUnitUid $HostingUnitUid `
    -IdentityPoolUid $acctPool.IdentityPoolUid -CleanOnBoot `
    - MasterImageVM $MasterImageVM `
    -NetworkMap $NetworkMap `
    -ServiceOffering $ServiceOffering `
    -SecurityGroup $SecurityGroup `
    -CustomProperties $CustomProperties `
    -UseWriteBackCache -WriteBackCacheDiskSize 16 -WriteBackCacheMemorySize 256
    <!--NeedCopy-->
    
  5. 将 VM 添加到目录。

使用 MCSIO 提高启动性能

如果启用 MCSIO 并将 PersistWBCPersistOSDisk 自定义属性设置为 true,则可以提高 VM 的启动性能。通过此设置,VM 可以更快地启动,因为它们无需初始化新的缓存磁盘或从其模板重新创建根磁盘。

加密操作系统和身份磁盘

您可以使用 AWS KMS 密钥(客户管理密钥和 AWS 管理密钥)创建 VM 目录,这些密钥可用于加密操作系统磁盘和身份磁盘 (ID)。

  • AWS 管理密钥每年自动轮换。
  • 客户管理密钥可选择自动轮换,也可以手动管理。

有关 KMS 密钥的更多信息,请参阅以下 AWS 文档:

对于操作系统和身份磁盘的加密,请配置以下选项之一:

  • 使用已加密的准备好的映像(例如,从包含使用 KMS 密钥加密的 EBS 根卷的实例或快照创建的 AMI)
  • 使用包含加密 EBS 根卷的计算机配置文件源(VM 或启动模板)。

限制

请考虑以下限制:

  • MCS 目前仅支持预准备映像 AMI 上的一个磁盘。
  • 您无法直接加密现有未加密的 EBS 卷或快照,也无法修改现有加密卷的 KMS 密钥。为此,您必须:

    1. 创建该卷的新快照。
    2. 从该快照创建新卷
    3. 加密新卷。

请参阅以下 AWS 文档:

创建具有磁盘加密的目录

您可以使用以下方法创建具有磁盘加密的 MCS 计算机目录:

  • 预准备映像(使用具有加密磁盘的主映像的映像管理创建)
  • 计算机配置文件

使用计算机配置文件输入时,请考虑以下事项:

  • 机器配置文件输入的 KMS 密钥优先于准备好的映像的 KMS 密钥。
  • 如果未提供机器配置文件输入,则使用准备好的映像 AMI 的 KMS 密钥来加密目录 VM 的磁盘。
  • 如果机器配置文件中存在块设备映射,则准备好的映像模板 (AMI) 和机器配置文件中存在的块设备必须匹配。例如,如果 AMI 在 /dev/sda1 上定义了一个设备,则机器配置文件也必须在 /dev/sda1 上定义一个设备。
  • 如果机器配置文件源中没有密钥,并且准备好的映像未加密,则目录 VM 的磁盘不会加密。
  • 当准备好的映像已加密时,机器配置文件源 VM 或启动模板必须具有加密的根卷才能被视为有效输入。

修改现有目录

您可以使用 Set-ProvScheme PowerShell 命令修改现有目录,使其具有:

  • 包含新 KMS 密钥的卷的机器配置文件输入。
  • 使用映像管理从主映像创建的具有加密 AMI 的准备好的映像。

重要注意事项:

  • 添加到目录的新 VM 的卷使用新的 KMS 密钥进行加密。
  • 如果存在现有机器配置文件,要更新加密设置,请使用新的机器配置文件运行 Set-ProvScheme
  • 您无法将现有目录从加密卷修改为未加密卷。 您无法将映像从加密的准备好的映像 AMI 更新为未加密的准备好的映像 AMI。

为 VM 实例启用 NitroTPM 和 UEFI 安全启动

创建目录时,您现在可以选择启用 NitroTPM 和/或 UEFI 安全启动的准备好的映像 (AMI)。因此,目录中预配的 VM 也将启用 NitroTPM 和/或 UEFI 安全启动。此实现可确保 VM 的安全性和可信度。有关 NitroTPM 和 UEFI 安全启动的更多信息,请参阅 Amazon 文档

限制

  • 目前,您可以在所有 AWS 区域(包括 AWS GovCloud (US) 区域)中使用 NitroTPM 和安全启动,但中国除外。
  • 您无法在现有目录上启用 NitroTPM 和 UEFI 安全启动。如果您需要启用 NitroTPM 和 UEFI 安全启动的目录,请创建一个新目录。

关键步骤

  1. 设置您的 AWS 环境。
  2. 创建与 AWS 的连接。
  3. 创建启用 NitroTPM 和/或 UEFI 安全启动的主映像 (AMI) (#create-an-ami-that-supports-nitrotpm-and-uefi-secure-boot)。
  4. 从主映像创建准备好的映像。请参阅 为 Amazon WorkSpaces Core 托管实例创建准备好的映像
  5. 在 Citrix Studio 目录创建菜单中选择已启用 NitroTPM 和 UEFI 安全启动的准备好的映像,或在使用 PowerShell 命令创建预配方案时,创建计算机目录。

添加到所创建目录的 VM 已启用 NitoTPM 和 UEFI 安全启动。

创建支持 NitroTPM 和 UEFI 安全启动的 AMI

  1. 您可以从已启用 NitroTPM 和/或 UEFI 安全启动的 VM 创建 AMI。

    1. 使用 AWS Marketplace 映像创建实例。例如,搜索 TPM-Windows_Server-2022-English-Full-Base on the aws-marketplace
    2. 下载单会话或多会话 VDA。
    3. 从该 VM 创建 AMI。
  2. 使用 register-image 命令:

    --boot-mode (string)
    --tpm-support (string)
    <!--NeedCopy-->
    

    有关更多信息,请参阅 register-image

请参阅以下 AWS 文档:

您可以从 Delivery controller™ 主机打开 PowerShell 窗口,以检查特定项是否:

  • 服务产品支持 NitroTPM 或 UEFI 安全启动

     (Get-Item -Path “XDHyp:\HostingUnits\aws\T3 Medium Instance.serviceoffering”).AdditionalData.BootMode
     (Get-Item -Path “XDHyp:\HostingUnits\aws\T3 Medium Instance.serviceoffering”).AdditionalData.NitroTpmSupportVersions
     <!--NeedCopy-->
    
  • 模板支持 NitroTPM 或 UEFI 安全启动

     (Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\aws” -ResourceType “template -Id “ID”).AdditionalData.BootMode
    
     (Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\aws” -ResourceType “template -Id “ID”).AdditionalData.TpmSupport
     <!--NeedCopy-->
    

更新现有目录的服务产品

您可以使用 Set-ProvScheme 更改现有目录的服务产品。此更改适用于新添加的虚拟机。但是,在以下情况下会发生错误:

AMI 的启动模式 AMI 是否支持 Nitro TPM? 服务产品是否支持 NitroTPM 和 UEFI 安全启动?
UEFI
传统 BIOS
UEFI
UEFI 优先

复制 VM 上的标签

您可以将计算机配置文件中指定的 NIC 和磁盘(身份磁盘、回写缓存磁盘和操作系统磁盘)上的标签复制到 MCS 计算机目录中新创建的 VM。您可以在任何计算机配置文件源(AWS VM 实例或 AWS 启动模板版本)中指定这些标签。此功能适用于持久和非持久计算机目录和 VM。

注意:

  • 在 AWS EC2 控制台中,您无法在“启动模板版本资源标签”下看到“标记网络接口”值。但是,您可以运行 PowerShell 命令 aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12 来查看标签规范。
  • 如果计算机配置文件源(VM 或启动模板版本)有两个网络接口(eni-1 和 eni-2),并且 eni-1 具有标签 t1,eni-2 具有标签 t2,则 VM 将获得这两个网络接口的标签。

使用 PowerShell 筛选 VM 实例

您用作计算机配置文件 VM 的 AWS VM 实例必须兼容,才能使计算机目录正确创建和运行。要列出可用作计算机配置文件输入 VM 的 AWS VM 实例,您可以使用 Get-HypInventoryItem 命令。该命令可以对托管单元上可用的 VM 清单进行分页和筛选。

分页:

Get-HypInventoryItem 支持两种分页模式:

  • 分页模式使用 -MaxRecords-Skip 参数返回项目集:
    • -MaxRecords:默认值为 1。这控制要返回的项目数。
    • -Skip:默认值为 0。这控制从管理程序列表中绝对开头(或绝对结尾)跳过的项目数。
  • 滚动模式使用 -MaxRecords-ForwardDirection-ContinuationToken 参数来允许记录滚动:
    • -ForwardDirection:默认值为 True。这与 -MaxRecords 一起使用,以返回下一组匹配记录或上一组匹配记录。
    • -ContinuationToken:返回紧随其后(如果 ForwardDirectionfalse 则为之前)但不包括 ContinuationToken 中给定项目的项目。

分页示例:

  • 要返回名称最低的计算机模板的单个记录。AdditionalData 字段具有 TotalItemsCountTotalFilteredItemsCount

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template
     <!--NeedCopy-->
    
  • 要返回名称最低的计算机模板的 10 条记录:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • 要返回以最高名称结尾的记录数组:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ForwardDirection $False -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • 要返回从与给定 ContinuationToken 关联的计算机模板开始的记录数组:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
     <!--NeedCopy-->
    

筛选:

支持以下附加可选参数进行筛选。您可以将这些参数与分页选项结合使用。

  • -ContainsName "my_name":如果给定字符串与 AMI 名称的一部分匹配,则该 AMI 将包含在 Get 结果中。例如:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name
     <!--NeedCopy-->
    
  • -Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }':如果 AMI 具有这些标签中的至少一个,则它将包含在 Get 结果中。例如:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name
     <!--NeedCopy-->
    

    注意:

    支持两种标签值。未标记标签值匹配其标签列表中没有给定标签的项目。所有值标签值匹配具有该标签的项目,无论标签的值如何。否则,仅当项目具有该标签且值与筛选器中给定的值相等时,才会发生匹配。

  • -Id "ami-0a2d913927e0352f3":如果 AMI 与给定 ID 匹配,则它将包含在 Get 结果中。例如:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx
     <!--NeedCopy-->
    

根据 AdditionalData 参数进行筛选:

AdditionalData 筛选器参数根据模板或虚拟机的能力、服务产品或 AdditionalData 中的任何属性列出它们。例如:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->

您还可以添加 -Warn 参数以指示不兼容的虚拟机。虚拟机将包含一个名为 WarningAdditionalData 字段。例如:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->

下一步操作

更多信息