创建 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 映像。
- 使用 Azure 门户创建 Azure 本地虚拟机。
- 连接到已创建的 Azure Local VM 以安装 VDA 和所需的软件。
-
使用 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--> - 停止 Azure 本地虚拟机。
- 请参阅 从现有 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 计算机目录。
在“计算机目录设置”向导中:
- 在 操作系统 页面上,选择 多会话操作系统 或 单会话操作系统。
- 在 计算机管理 页面上:
- 选择 电源管理型计算机(例如,虚拟机或刀片式电脑)。
- 选择使用 Citrix 预配技术 部署计算机。
- 选择 Citrix 机器创建服务 (MCS) 下的 Azure 本地托管单元。
- 在 桌面体验 页面上,根据您在“计算机类型”页面上选择的计算机类型选择选项。
- 在 映像 页面上:
- 选择主映像。目前,Azure Local 不支持准备好的映像。
- 您可以向所选映像添加备注。
注意:
- 选择主映像后,操作系统类型会自动填充。
- 不支持计算机配置文件。
- 在 网卡 页面上,选择一个或多个网卡,并将虚拟网络与每个网卡关联。
-
在 虚拟机 页面上:
- 指定要创建的虚拟机数量。如果不想创建任何虚拟机,请输入 0。稍后,您可以通过添加计算机为空目录创建虚拟机。
- 选择每个虚拟机拥有的内存量(以 MB 为单位)和虚拟 CPU 数量。
- 为计算机配置回写缓存以提高 I/O 性能。
- 按照屏幕上的说明完成剩余步骤,这些步骤不包含 Azure Local 特定信息。
您还可以使用 Web Studio 创建 Azure Local 目录,以交付和管理 Azure Local 群集中现有计算机的电源。
在计算机目录设置向导中:
- 在操作系统页面上,选择多会话操作系统或单会话操作系统。
- 在计算机管理页面上,选择已进行电源管理的计算机,然后选择其他服务或技术作为部署计算机的方式。
-
在虚拟机页面上,添加计算机及其 Active Directory 计算机帐户。您可以:
- 手动添加计算机:单击添加计算机以手动添加计算机。将显示选择 VM窗口。展开您之前创建的 Azure Local 连接,然后选择要添加的 VM。然后添加关联的计算机帐户名称。
- 使用 CSV 文件添加计算机:单击从 CSV 文件导入以批量添加计算机。有关使用 CSV 文件添加计算机的信息,请参阅使用 CSV 文件批量将计算机添加到目录。
- 按照屏幕上的说明完成剩余步骤,这些步骤不包含 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-->
后续步骤
- 如果这是创建的第一个目录,Web Studio 会引导您创建交付组。
- 有关电源管理 Azure 本地虚拟机 的信息,请参阅 电源管理 Azure 本地虚拟机。