创建 VMware 目录

Last published : Oct 24, 2026
创建计算机目录 介绍了用于创建计算机目录的向导。
注意:
在创建 VMware 目录之前,您需要完成与 VMware 的连接创建。请参阅连接到 VMware。

使用计算机配置文件创建计算机目录

您可以使用计算机配置文件创建 MCS 计算机目录。计算机配置文件输入的源是 VMware 模板。计算机配置文件从 VMware 模板捕获硬件属性,并将其应用于目录中新预配的 VM。
注意:
  • 主映像输入(快照)和计算机配置文件输入(VMware 模板)必须同时启用 vTPM 或同时禁用 vTPM。此规则同时适用于 New-ProvScheme 和 Set-ProvScheme。
  • 如果主映像启用了 vTPM,则 VMware 模板只能来自与主映像相同的 VM 源。
  • 加密存储策略仅支持完全克隆。
  • 基于计算机配置文件的目录利用提供的 VMware 模板收集存储控制器信息,并依赖于附加的虚拟磁盘。该模板必须包含一个虚拟磁盘,该虚拟磁盘是检索用于为虚拟机配置虚拟磁盘的存储控制器信息所必需的。
计算机配置文件中的 VMware 模板必须在目录生命周期内存在,才能允许向目录预配 VM。如果没有 VMware 模板,则无法预配新的 VM。当 VMware 模板被删除时,您必须使用 Set-ProvScheme 命令提供一个新模板。
  • MCS 捕获 VMware 模板的属性。您可以使用 Get-Provscheme 命令创建引用 VMware 模板存储属性的新 VMware 模板。
  • 或者,如果计算机目录和已预配的 VM 存在,则 MCS 预配的计算机也可以用于创建新的 VMware 模板。
  • 启用 MCSIO 后,您可以在创建 MCS 目录后更新内存和磁盘缓存大小。
根据不同的操作系统,您可以创建具有不同配置的计算机目录:
  • 如果主映像上安装了 Windows 11,则要求为主映像启用 vTPM。因此,作为计算机配置文件来源的 VMware 模板必须附加 vTPM。
  • 如果主映像上安装了 Windows 10 且未附加 vTPM,则可以使用非 vTPM VMware 模板作为计算机配置文件的来源来创建计算机目录。
还有另一种配置,您可以使用完全复制磁盘模式创建计算机目录,并应用具有加密存储策略的计算机配置文件模板。
要使用 PowerShell 命令创建以计算机配置文件作为输入的计算机目录:
  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 运行以下命令:
    • 要创建计算机目录,其中 vTPM 附加的 VMware 模板作为计算机配置文件输入的来源,并且主映像安装了 Windows 11:
      $identityPool = New-AcctIdentityPool
      -IdentityPoolName "<string>"
      -NamingScheme "<string>-###"
      -NamingSchemeType Numeric
      -Domain "<domain name"
      -ZoneUid "<Uid>"  -Scope @()
      $provScheme =New-ProvScheme  -CleanOnBoot
      -HostingUnitName "vSanRg"
      -IdentityPoolName "<string>"
      -InitialBatchSizeHint 1
      -MasterImageVM "XDHyp:\HostingUnits\<hosting unit name>\<snapshot name>.snapshot"
      -NetworkMapping @{"0"="XDHyp:\HostingUnits\<hosting unit name>\\<network name>.network"}
      -ProvisioningSchemeName "<string>"
      -Scope @() -VMCpuCount 4  -VMMemoryMB 6144
      -MachineProfile "XDHyp:\HostingUnits\<hosting unit name>\<template name>.template"
      -TenancyType Shared
      -FunctionalLevel "L7_20"
      $catalog = New-BrokerCatalog
      -AllocationType "Static"
      -PersistUserChanges  "OnLocal"
      -Description "<string>"  -IsRemotePC $False
      -MinimumFunctionalLevel 'L7_9' -Name "<catalog name>" -ProvisioningType 'MCS'
      -Scope @()  -SessionSupport "SingleSession"
      -ZoneUid "<Uid>"
      Set-BrokerCatalog -Name "<string>"
      -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
    • 要创建计算机目录,其中非 vTPM VMware 模板作为计算机配置文件的来源,并且主映像安装了 Windows 10:
      $identityPool = New-AcctIdentityPool
      -IdentityPoolName "<string>"
      -NamingScheme "<string>-###"
      -NamingSchemeType Numeric
      -Domain "<domain name>"
      -ZoneUid "<Uid>"  -Scope @()
      $provScheme =New-ProvScheme  -CleanOnBoot
      -HostingUnitName "<string>"
      -IdentityPoolName "<string>"
      -InitialBatchSizeHint 1
      -MasterImageVM "XDHyp:\HostingUnits\<hosting unit name>\<snapshot name>.snapshot"
      -NetworkMapping @{"0"="XDHyp:\HostingUnits\<hosting unit name>\\<string>.network"}
      -ProvisioningSchemeName "<string>"  -Scope @() -VMCpuCount 4  -VMMemoryMB 8192
      -MachineProfile "XDHyp:\HostingUnits\<hosting unit name>\<template name>.template"
      -TenancyType Shared  -FunctionalLevel "L7_20"
      $catalog = New-BrokerCatalog
      -AllocationType "Static"
      -PersistUserChanges  "OnLocal"  -Description "<string>"  -IsRemotePC $False
      -MinimumFunctionalLevel 'L7_9' -Name "<string>" -ProvisioningType 'MCS' -Scope @()  -SessionSupport "SingleSession" -ZoneUid "<Uid"
      Set-BrokerCatalog -Name "<string>"
      -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
    • 要使用完全复制磁盘模式创建计算机目录,并应用具有加密存储策略的计算机配置文件模板:
      $identityPool = New-AcctIdentityPool
      -IdentityPoolName "<string>"
      -NamingScheme "<string>-###"
      -NamingSchemeType Numeric
      -Domain "<domain name>"
      -ZoneUid "<Uid>"  -Scope @()
      $provScheme =New-ProvScheme
      -HostingUnitName "<string>"
      -IdentityPoolName "<string>" -InitialBatchSizeHint 1
      -MasterImageVM "XDHyp:\HostingUnits\<hosting unit name>\<snapshot name>.snapshot"
      -NetworkMapping @{"0"="XDHyp:\HostingUnits\<hosting unit name>\\<string>.network"}
      -ProvisioningSchemeName "<string>"  -Scope @() -VMCpuCount 4  -VMMemoryMB 8192
      -MachineProfile "XDHyp:\HostingUnits\<hosting unit name>\<template name>.template"
      -TenancyType Shared  -FunctionalLevel "L7_20"
      -UseFullDiskCloneProvisioning
      $catalog = New-BrokerCatalog
      -AllocationType "Static"
      -PersistUserChanges  "OnLocal"
      -Description "<string>"
      -IsRemotePC $False
      -MinimumFunctionalLevel 'L7_9' -Name "<string>" -ProvisioningType 'MCS' -Scope @()
      -SessionSupport "SingleSession" -ZoneUid "<Uid>"
      Set-BrokerCatalog -Name "<string>"
      -ProvisioningSchemeId $provScheme.ProvisioningSchemeUid.Guid
    • 要更新计算机配置文件,请使用 Set-ProvScheme 命令。例如:
      Set-ProvScheme -ProvisioningSchemeName 'name' -IdentityPoolName 'name' -MachineProfile 'XDHyp:\HostingUnits\<hosting unit name>\<template name>.template

检查多个 NIC

当您使用计算机配置文件以及 New-ProvScheme 和 Set-ProvScheme 命令中的 NetworkMapping 参数时,在多个 NIC 的预检期间会收到各种错误消息。
多个 NIC 的预检清单如下:
  • 仅使用并验证计算机配置文件模板中的网卡数量。这些网卡指向的网络不用于或不针对托管单元网络进行验证。
  • 如果计算机配置文件模板中的网卡数量大于托管单元中的网络数量,您会收到错误消息。
  • 如果计算机配置文件模板中的网卡数量为零,您会收到错误消息。 当计算机配置文件模板中的网卡数量为一时,则:
    • 如果在 New-ProvScheme 或 Set-ProvScheme 命令中未指定网络映射,并且托管单元网络为一个,则使用该托管单元网络。
    • 如果指定了网络映射,则在有效的情况下使用指定的网络映射。
  • 当计算机配置文件模板中的网卡数量大于 1,或者托管单元网络数量大于 1 时,则:
    • 命令中需要有效的网络映射,并且它应该为每个网卡提供映射(即,NetworkMapping 数量必须与计算机配置文件网卡数量相同)。
    • 托管单元中的多个网卡不能映射到同一网络。
    • NetworkMapping 数量和计算机配置文件网卡数量必须小于或等于托管单元网络数量。
    • 必须为从 0 到 n-1 的每个 ID 提供 NetworkMapping,其中 n 是计算机配置文件模板中的网络适配器数量。

在 MCS 创建的 VM 上预配数据盘

数据盘允许存储持久性数据,例如事件日志、安全跟踪和应用程序数据。您可以创建持久性或非持久性数据盘,并将其分配给 VMware 中 MCS 计算机目录的 MCS 创建的持久性或非持久性 VM。
从主映像预配数据盘。准备好的主映像数据盘存储在 <Prov Scheme Name>-dataDisk-<datastoreId> 文件夹中。
您可以创建基于计算机配置文件和非基于计算机配置文件的 MCS 目录。对于基于计算机配置文件的 MCS 目录,您可以使用相同的主映像 VM 作为计算机配置文件的数据盘源。
预配的 VM 的数据盘从主映像派生存储策略和大小等属性。对于基于计算机配置文件的目录,它可以选择使用 VM 模板的数据盘来派生属性。如果 VM 模板没有数据盘,则使用存储的默认策略。
已预配虚拟机的数据磁盘与操作系统磁盘和身份磁盘在同一目录中创建。

支持的数据磁盘方案

以下是支持的操作系统磁盘和数据磁盘方案:
  • 持久性操作系统磁盘与持久性数据磁盘
  • 非持久性操作系统磁盘与持久性数据磁盘
  • 非持久性操作系统磁盘与非持久性数据磁盘
注意:
持久性计算机目录不能具有非持久性数据磁盘。

限制

目前不支持以下操作:
  • 预配多个数据磁盘。
  • 重置数据磁盘。
  • 将具有数据磁盘的 MCS 目录更新为不具有数据磁盘的 MCS 目录。同样,将不具有数据磁盘的 MCS 目录更新为具有数据磁盘的 MCS 目录。

主要步骤

  1. 在 VMware 中创建具有数据磁盘的主映像 VM。对于基于计算机配置文件的 MCS 目录,可以使用相同的主映像 VM 作为计算机配置文件的数据磁盘源。
  2. 使用 New-ProvScheme PowerShell 命令创建具有数据盘预配 VM 的 MCS 计算机目录。请参阅 创建具有数据盘预配 VM 的目录。
  3. 使用 New-ProvVM PowerShell 命令将 VM 添加到目录。
  4. 登录到 VM 以查看数据盘是否已正确格式化。如果主映像 VM 中引用的数据盘上有内容,则该内容也位于数据盘上。

在 VMware 中创建带数据盘的主映像 VM

  1. 创建一个具有两个硬盘的 VM。一个是操作系统盘,另一个是数据盘。请按照此 指南 将新硬盘(数据盘)添加到现有 VM。
  2. 登录到 VM 以初始化磁盘、设置所需的驱动器号并添加内容。

创建具有数据盘预配 VM 的目录

在 New-ProvScheme PowerShell 命令中包含以下参数,以预配具有数据盘的 MCS 计算机目录。
  • DataDisk:指定数据盘的路径。
  • DataDiskPersistence:指示数据盘是持久的还是非持久的。
    如果 CleanOnBoot 为 false,则数据盘不能是非持久的。配置后,无法更改计算机目录的 DataDiskPersistence 值。
创建目录后,使用 New-ProvVM 命令添加 VM。

映像更新

运行 Publish-ProvMasterVMImage 命令以更新操作系统和数据盘的源。运行 Publish-ProvMasterVMImage 命令后:
  • 新 VM 是使用更新的操作系统和数据盘创建的。
  • 现有虚拟机的非持久性磁盘将在下一个电源周期更新。
  • 现有虚拟机的持久性磁盘不会在下一个电源周期更新。

删除数据盘

如果您删除目录,则除非使用 forgetVM 或 purgeDBOnly 选项,否则数据盘将被删除。如果您删除虚拟机,则除非使用 forgetVM 或 purgeDBOnly 选项,否则数据盘将被删除。这些条件仅适用于持久性 MCS 计算机目录。

故障排除

如果目录创建失败,请参阅 CTX294978。

后续步骤

更多信息