Citrix Virtual Apps and Desktops

创建 Azure 本地目录

(/zh-cn/citrix-virtual-apps-desktops/2511/install-configure/machine-catalogs-create.html) 介绍了创建计算机目录的向导。以下信息涵盖了 Azure Local 环境特有的详细信息。

注意:

在创建 Azure Local 计算机目录之前,您需要完成与 Azure Local 的连接创建。请参阅 (/zh-cn/citrix-virtual-apps-desktops/2511/install-configure/connections/connection-azure-local.html)。

必备条件

  • VDA 版本:2507 及更高版本
  • 不支持 Windows 10/11 多会话工作负载

创建虚拟机主映像

为了创建计算机目录,需要一个主映像。

MCS 使用 Azure Local VM 映像作为主映像。在使用 MCS 在 Azure Local 群集中预配工作负载之前,您需要准备一个安装了 VDA 的 Azure Local VM 映像。

  1. 使用 Azure 门户创建 Azure 本地虚拟机。
  2. 连接到已创建的 Azure Local VM 以安装 VDA 和所需的软件。
  3. 使用 Windows 任务计划程序创建计划任务,以便在 VM 启动时在系统上下文中运行以下脚本。在主映像中安排此任务仅适用于 VDA 2511 或更早版本。

    $tagFileName = 'E6DA6616-8EC4-48E0-BE93-58CE6ACE3CFB.tag'
    
    $foundDrive = $null
    
    foreach ($drive in Get-PSDrive -PSProvider FileSystem) {
    
    $tagPath = Join-Path $drive.Root $tagFileName
    
    if (Test-Path $tagPath) {
    
        $foundDrive = $drive.Root
    
        break
    
    }
    
    }
    
    
    if ([string]::IsNullOrEmpty($foundDrive)) { exit 0 }
    
    $installScript = Join-Path $foundDrive 'install.ps1'
    
    if (Test-Path $installScript) {
    
    powershell.exe -NoProfile -ExecutionPolicy Bypass -File $installScript
    
    } else { exit 1 }
    
    sc.exe stop mocguestagent 2>$null
    
    sc.exe delete mocguestagent 2>$null
    
    Remove-Item 'HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\Application\mocguestagent' -Recurse -Force -ErrorAction SilentlyContinue
    
    $setupComplete = 'C:\Windows\Setup\Scripts\SetupComplete.cmd'
    
    if (Test-Path $setupComplete) { & $setupComplete }
    <!--NeedCopy-->
    
  4. 停止 Azure 本地虚拟机。
  5. 请参阅 从现有 Azure 本地虚拟机创建虚拟机映像,以从准备好的 Azure 本地虚拟机创建 Azure 本地虚拟机映像。

注意:

当您使用已安装并载入 Azure Connected Machine 代理版本 1.61 或更高版本的 Azure Local VM 准备主映像时,在 MCS 中创建目录会在映像准备过程中失败,原因是删除代理配置文件时访问被拒绝。作为一种解决方法,在创建主映像时执行以下操作:导航到 C:\ProgramData\AzureConnectedMachineAgent\Config\agentconfig.json,右键单击该文件,选择 属性,然后清除 只读 属性复选框。

创建目录

您可以创建 Azure Local 目录,以在您的 Azure Local 环境中创建、交付和电源管理计算机。

注意:

  • 目录名称的长度不得超过 49 个字符。
  • 避免在目录名称或计算机命名方案中使用 Microsoft Azure 保留字。有关详细信息,请参阅 Microsoft 文档

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

使用 Web Studio 创建目录

您可以在 Azure Local 环境中创建 MCS 计算机目录。

在“计算机目录设置”向导中:

  1. 操作系统 页面上,选择 多会话操作系统单会话操作系统
  2. 计算机管理 页面上:
    1. 选择 电源管理型计算机(例如,虚拟机或刀片式电脑)
    2. 选择使用 Citrix 预配技术 部署计算机。
    3. 选择 Citrix 机器创建服务 (MCS) 下的 Azure 本地托管单元。
  3. 桌面体验 页面上,根据您在“计算机类型”页面上选择的计算机类型选择选项。
  4. 映像 页面上:
    1. 选择主映像。目前,Azure Local 不支持准备好的映像。
    2. 您可以向所选映像添加备注。

    注意:

    • 选择主映像后,操作系统类型会自动填充。
    • 不支持计算机配置文件。
  5. 网卡 页面上,选择一个或多个网卡,并将虚拟网络与每个网卡关联。
  6. 虚拟机 页面上:

    1. 指定要创建的虚拟机数量。如果不想创建任何虚拟机,请输入 0。稍后,您可以通过添加计算机为空目录创建虚拟机。
    2. 选择每个虚拟机拥有的内存量(以 MB 为单位)和虚拟 CPU 数量。
    3. 为计算机配置回写缓存以提高 I/O 性能。
  7. 按照屏幕上的说明完成剩余步骤,这些步骤不包含 Azure Local 特定信息。

您还可以使用 Web Studio 创建 Azure Local 目录,以交付和管理 Azure Local 群集中现有计算机的电源。

在计算机目录设置向导中:

  1. 操作系统页面上,选择多会话操作系统单会话操作系统
  2. 计算机管理页面上,选择已进行电源管理的计算机,然后选择其他服务或技术作为部署计算机的方式。
  3. 虚拟机页面上,添加计算机及其 Active Directory 计算机帐户。您可以:

    • 手动添加计算机:单击添加计算机以手动添加计算机。将显示选择 VM窗口。展开您之前创建的 Azure Local 连接,然后选择要添加的 VM。然后添加关联的计算机帐户名称。
    • 使用 CSV 文件添加计算机:单击从 CSV 文件导入以批量添加计算机。有关使用 CSV 文件添加计算机的信息,请参阅使用 CSV 文件批量将计算机添加到目录
  4. 按照屏幕上的说明完成剩余步骤,这些步骤不包含 Azure Local 特定信息。

使用 PowerShell 来创建目录

您可以使用 PowerShell 命令在 Azure Local 环境中创建 MCS 计算机目录。

脚本的标头

请确保您提供的参数值与脚本头部中定义的参数值相符且正确。

$catalogName = "" # Name of the catalog you want to create

$masterImageResourceGroupName = "" # Name of resource group that the master Azure Local VM image resides in

$catalogResourceGroup = "" # Name of resource group that the created VMs reside in

$masterImage = "" # Name of the master Azure Local VM image you want to use

$vNet = "" # Name of the logical network that the created VMs should be attached to

$masterImagePath = "XDHyp:\HostingUnits\$hostingUnitName\image.folder\$masterImageResourceGroupName.resourcegroup\$masterImage"

$networkMapping = @{"0"="XDHyp:\HostingUnits\$hostingUnitName\\network.folder\$vNet.network"}

$customPropertiesXml = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"$catalogResourceGroup`" /><Property xsi:type=`"StringProperty`" Name=`"OsType`" Value=`"Windows`" /></CustomProperties>"
<!--NeedCopy-->

创建包含 1 个 VM 的 MCS 目录

asnp citrix*

创建计算机目录
New-BrokerCatalog -AllocationType "Random" -IsRemotePC $false -MinimumFunctionalLevel "L7_34" -Name $catalogName -PersistUserChanges "Discard" -ProvisioningType "MCS" -SessionSupport "SingleSession"
<!--NeedCopy-->
创建身份池
New-AcctIdentityPool -AllowUnicode $true -Domain "test.local" -IdentityPoolName $catalogName -IdentityType "ActiveDirectory" -NamingScheme "demoVM#" -NamingSchemeType "Numeric" -OU "CN=Computers,DC=test,DC=local"
<!--NeedCopy-->
创建新的预配方案
New-ProvScheme -CleanOnBoot $true -CustomProperties $customPropertiesXml -HostingUnitName $hostingUnitName -IdentityPoolName $catalogName -MasterImageVM $masterImagePath -NetworkMapping $networkMapping -ProvisioningSchemeName $catalogName -ProvisioningSchemeType "MCS" -VMCpuCount 4 -VMMemoryMB 8192
<!--NeedCopy-->
将目录链接到预配方案
$schemeUid =(Get-ProvScheme -ProvisioningSchemeName $catalogName).ProvisioningSchemeUid.Guid

Set-BrokerCatalog -Name $catalogName -ProvisioningSchemeId $schemeUid
<!--NeedCopy-->
创建 AD 帐户
New-AcctADAccount -Count 1 -IdentityPoolName $catalogName
<!--NeedCopy-->
预配 VM
New-ProvVM -ADAccountName "domain\demoVM1" -ProvisioningSchemeName $catalogName
<!--NeedCopy-->
将计算机添加到代理目录
New-BrokerMachine -CatalogName $catalogName -MachineName 'domain\demoVM1'
<!--NeedCopy-->

后续步骤

更多信息

创建 Azure 本地目录