管理 Microsoft Azure 目录
管理计算机目录介绍了用于管理计算机目录的向导。以下信息涵盖了特定于 Microsoft Azure Resource Manager 云环境的详细信息。
注意:
在管理 Microsoft Azure 目录之前,您需要完成创建 Microsoft Azure 目录。请参阅创建 Microsoft Azure 目录。
将非基于计算机配置文件的计算机目录转换为基于计算机配置文件的计算机目录
您可以使用虚拟机或模板规范作为计算机配置文件输入,将非基于计算机配置文件的计算机目录转换为基于计算机配置文件的计算机目录。除非被显式自定义属性覆盖,否则添加到目录中的现有虚拟机和新虚拟机将从计算机配置文件中获取属性值。
注意:
基于计算机配置文件的现有计算机目录无法更改为非基于计算机配置文件的计算机目录。
为此,您需要:
- 创建包含 VM 但不包含计算机配置文件的永久性或非永久性计算机目录。
- 打开 PowerShell 窗口。
-
运行
Set-ProvScheme
命令以将计算机配置文件中的属性值应用到添加到计算机目录中的新 VM。例如:Set-ProvScheme = Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<template-spec>.templatespec<template-spec-version>.templatespecversion" <!--NeedCopy-->
-
运行
Set-ProvVMUpdateTimeWindow
命令以将计算机配置文件中的属性值应用到计算机目录的现有 VM。例如:Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName xxxx -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
- 打开现有 VM 的电源,从计算机配置文件中获取属性值。
重启电源时保留已置备的虚拟机
选择在重启电源时是否保留预配的虚拟机。使用 PowerShell 参数 New-ProvScheme CustomProperties
。此参数支持额外的属性 PersistVm
,用于确定重启电源后预配的虚拟机是否仍然存在。将 PersistVm
属性设置为 true 以在关闭电源时保留虚拟机,或者将属性设置为 false 以确保在关闭电源时不保留虚拟机。
注意:
PersistVm
属性仅适用于启用了属性CleanOnBoot
和UseWriteBackCache
的预配方案。如果未为非持久性虚拟机指定了PersistVm
属性,则在关闭电源时将从 Azure 环境中删除这些虚拟机。
在以下示例中,New-ProvScheme CustomProperties
参数将 PersistVm
属性设置为 true:
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Standard_LRS" />
<Property xsi:type="StringProperty" Name="PersistWBC" Value="false" />
<Property xsi:type="StringProperty" Name="PersistOsDisk" Value="true" />
<Property xsi:type="StringProperty" Name="PersistVm" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="demo-resourcegroup" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
</CustomProperties>
<!--NeedCopy-->
在以下示例中,New-ProvScheme CustomProperties
参数通过将 PersistVM
设置为 true 来保留回写式缓存:
New-ProvScheme
-AzureAdJoinType "None"
-CleanOnBoot
-CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"UseManagedDisks`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Standard_LRS`" /><Property xsi:type=`"StringProperty`" Name=`"PersistWBC`" Value=`"false`" /><Property xsi:type=`"StringProperty`" Name=`"PersistOsDisk`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"PersistVm`" Value=`"true`" /><Property xsi:type=`"StringProperty`" Name=`"ResourceGroups`" Value=`"demo-resourcegroup`" /><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Client`" /></CustomProperties>"
-HostingUnitName "demo"
-IdentityPoolName "NonPersistent-MCSIO-PersistVM"
-MasterImageVM "XDHyp:\HostingUnits\demo\image.folder\scale-test.resourcegroup\demo-snapshot.snapshot"
-NetworkMapping @ {"0"="XDHyp:\HostingUnits\demo\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\ji-test.resourcegroup\jitest-vnet.virtualprivatecloud\default.network"}
-ProvisioningSchemeName "NonPersistent-MCSIO-PersistVM"
-ServiceOffering "XDHyp:\HostingUnits\demo\serviceoffering.folder\Standard_B2ms.serviceoffering" -UseWriteBackCache
-WriteBackCacheDiskSize 127
-WriteBackCacheMemorySize 256
<!--NeedCopy-->
提示:
PersistVm
属性决定是否保留预配的虚拟机。PersistOsdisk
属性决定是否保留操作系统磁盘。要保留预配的虚拟机,请先保留操作系统磁盘。如果不先删除虚拟机,则无法删除操作系统磁盘。可以在不使用指定PersistVm
参数的情况下使用PersistOsdisk
属性。
关闭 VM 时将存储类型更改为较低的层
关闭 VM 时,您可以通过将托管磁盘的存储类型切换到较低的层来节省存储成本。为此,请使用 StorageTypeAtShutdown
自定义属性。
关闭 VM 时,磁盘的存储类型更改为较低层(如 StorageTypeAtShutdown
自定义属性中所指定)。打开 VM 的电源后,存储类型将更改回原始类型(如 StorageType
自定义属性或 WBCDiskStorageType
自定义属性中所指定)。
重要:
- 在 VM 至少开机一次之前,磁盘不存在。因此,您无法在首次打开 VM 电源时更改存储类型。
- 将存储类型更改为较低层后,虚拟机可能需要更长的时间才能启动。
要求:
- 适用于托管磁盘。这意味着您将自定义属性
UseManagedDisks
设置为 true。 - 适用于具有永久操作系统磁盘的永久和非永久目录。这意味着您将自定义属性
persistOsDisk
设置为 true。 - 适用于具有永久 WBC 磁盘的非永久目录。这意味着您将自定义属性
persistWBC
设置为 true。
要将存储类型更改为较低的层,请执行以下操作:
-
添加自定义属性
StorageTypeAtShutdown
,将值设置为 Standard_LRS (HDD),然后使用New-ProvScheme
创建目录。有关使用 PowerShell 创建目录的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/。注意:
如果
StorageTypeAtShutdown
除空值或 Standard_LRS (HDD) 之外还有其他任何值,操作将失败。创建永久目录时设置自定义属性的示例:
$customProperties='<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" /> <Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS“ /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" /> <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" /> <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" /> <Property xsi:type="StringProperty" Name="OsType" Value="Windows" /> <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" /> </CustomProperties>’ <!--NeedCopy-->
创建非永久目录时设置自定义属性的示例:
$customProperties='<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" /> <Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" /> <Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="" /> <Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" /> <Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" /> <Property xsi:type="StringProperty" Name="OsType" Value="Windows" /> <Property xsi:type="BooleanProperty" Name="persistWBC" Value=true /> <Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true /> <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" /> </CustomProperties>’ <!--NeedCopy-->
注意:
使用计算机配置文件时,自定义属性优先于在
MachineProfile
中定义的属性。 - 关闭 VM 并在 Azure 门户中检查 VM 的存储类型。磁盘的存储类型更改为较低的层,如
StorageTypeAtShutdown
自定义属性中所指定。 - 打开 VM。磁盘的存储类型切换回下面提及的存储类型:
- 操作系统磁盘的
StorageType
自定义属性 - 仅当您在
CustomProperties
中指定了 WBC 磁盘的WBCDiskStorageType
自定义属性时。否则,它会切换回StorageType
中提到的存储类型。
- 操作系统磁盘的
要将 StorageTypeAtShutdown
应用到现有目录,请执行以下操作:
使用 Set-ProvScheme
向现有目录中添加 VM。该功能适用于运行 Set-ProvScheme
后添加的新 VM。现有计算机不受影响。
将 VM 添加到现有目录时设置自定义属性的示例:
$customProperties='<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
<Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />
<Property xsi:type="StringProperty" Name="WbcDiskStorageType" Value="Standard_SSD_LRS" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="" />
<Property xsi:type="StringProperty" Name="LicenseType" Value="Windows_Client" />
<Property xsi:type="StringProperty" Name="SchemaVersion" Value="2" />
<Property xsi:type="StringProperty" Name="OsType" Value="Windows" />
<Property xsi:type="BooleanProperty" Name="persistWBC" Value=true />
<Property xsi:type="BooleanProperty" Name="persistOsDisk" Value=true />
<Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" />
</CustomProperties>’
$ProvScheme = Get-Provscheme -ProvisioningSchemeName $CatalogName
Set-ProvScheme -ProvisioningSchemeName $ProvScheme.ProvisioningSchemeName -CustomProperties $customProperties
<!--NeedCopy-->
关闭时将现有 VM 的存储类型更改为较低的层级
当 VM 关闭时,您可以通过将现有 VM 的存储类型更改为较低的层级来节省存储成本。为此,请使用 StorageTypeAtShutdown
自定义属性。
要在 VM 关闭时将目录中的现有计算机的存储类型更改为较低的层级,请执行以下操作:
- 打开 PowerShell 窗口。
- 运行
asnp citrix*
以加载 Citrix 特定的 PowerShell 模块。 - 运行
Get-Provscheme -ProvisioningSchemeName $CatalogName
。 -
更改自定义属性字符串。
$customProperties = '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="StorageTypeAtShutdown" Value="Standard_LRS" /> </CustomProperties>' <!--NeedCopy-->
-
更新现有目录的预配方案。该更新适用于运行
Set-ProvScheme
后添加的新 VM。Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties <!--NeedCopy-->
-
更新现有 VM 以启用
StorageTypeAtShutdown
。Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
- 下次打开计算机电源时,计算机的
StorageTypeAtShutdown
属性会更新。存储类型在下次关闭时发生变化。 -
运行以下命令查看目录中每个 VM 的
StorageTypeAtShutdown
值。Get-ProvVM -ProvisioningSchemeName <catalog-name> | foreach { $vmName = $\_.VMName; $storageTypeAtShutdown = ($\_.CustomVmData | ConvertFrom-Json).StorageTypeAtShutdown.DiskStorageAccountType; return New-Object psobject -Property @{ "VMName" = $vmName; "StorageTypeAtShutdown" = $storageTypeAtShutdown } } <!--NeedCopy-->
将预配的计算机更新为当前预配方案状态
Set-ProvScheme
命令更改了预配方案。但是,它不会影响现有计算机。可以使用 PowerShell 命令 Set-ProvVMUpdateTimeWindow
将当前的预配方案应用到现有的永久性计算机或非永久性计算机或者一组计算机。 您还可以为现有 MCS 已配置计算机的配置更新安排一个时段。在安排的时段内打开电源或重新启动都会对计算机应用安排的预配方案更新。目前,在 Azure 中,您可以更新 ServiceOffering
、 MachineProfile
和以下自定义属性:
StorageType
WBCDiskStorageType
IdentityDiskStorageType
LicenseType
DedicatedHostGroupId
PersistWBC
PersistOsDisk
PersistVm
注意:
- 在 Azure 环境中,只能使用托管磁盘更新目录的
StorageType
、WBCDiskStorageType
和IdentityDiskStorageType
自定义属性。- 如果您运行
Set-ProvVMUpdateTimeWindow
两次,最新的命令将生效。
可以更新以下对象:
- 单个 VM
- 与预配方案 ID 关联的特定 VM 或所有现有 VM 的列表
- 与预配方案名称(计算机目录名称)关联的特定 VM 或所有现有 VM 的列表
对预配方案做以下更改后,将在 Azure 中为永久目录重新创建 VM 实例:
- 更改
MachineProfile
- 删除
LicenseType
- 删除
DedicatedHostGroupId
注意:
现有计算机的操作系统磁盘及其所有数据保持原样,新的 VM 已连接到该磁盘。
在更新现有 VM 之前:
-
检查现有计算机的配置。例如,
Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion <!--NeedCopy-->
-
更新预配方案。例如,
-
使用 VM 作为计算机配置文件输入:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<virtual-machine>.vm" <!--NeedCopy-->
-
使用模板规范作为计算机配置文件输入:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<template-spec>.templatespec<template-spec-version>.templatespecversion" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering" <!--NeedCopy-->
-
仅提供服务:
Set-ProvScheme -ProvisioningSchemeName "my-catalog" -ServiceOffering "XDHyp:\HostingUnits<hosting-unit>\serviceoffering.folder<service-offering>.serviceoffering" <!--NeedCopy-->
-
-
检查 VM 的当前属性是否与当前的预配方案相匹配,以及 VM 上是否有任何待处理的更新操作。例如,
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
还可以查找具有特定版本的计算机。例如,
Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion <!--NeedCopy-->
要请求在下次重新启动时应用现有计算机的更新,请执行以下操作:
-
运行以下命令以更新现有计算机并在下次重新启动时应用更新。
-
更新所有现有计算机。例如,
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
更新特定计算机的列表。例如,
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
根据 Get-ProvVM 的输出更新计算机。例如,
Get-ProvVM -ProvisioningSchemeName "my-catalog" | Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
注意:
-
StartsNow
表示计划的开始时间为当前时间。 - 使用负数(例如 —1)的
DurationInMinutes
表示计划的时间范围没有上限。
-
-
查找已安排更新的计算机。例如,
Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter <!--NeedCopy-->
-
请重新启动计算机。下次启动时,属性更改将应用到现有计算机。可以使用以下命令检查更新后的状态。例如,
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion <!--NeedCopy-->
要安排 VM 下次在计划的时间范围内启动时更新到最新的预配设置,请执行以下操作:
-
运行以下命令:
-
要安排以开始时间作为当前时间的更新,请执行以下操作:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName vm1 -StartsNow -DurationInMinutes 120 <!--NeedCopy-->
-
要安排在周末更新,请执行以下操作:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” -StartTimeInUTC “10/15/2022 9:00am” -DurationInMinutes (New –TimeSpan –Days 2).TotalMinutes <!--NeedCopy-->
注意:
-
VMName
是可选的。如果未指定,则安排对整个目录进行更新。 - 使用
StartsNow
代替StartTimeInUTC
来表示计划开始时间为当前时间。 -
DurationInMinutes
是可选的。默认值为 120 分钟。负数(例如 —1)表示计划的时间范围没有上限。
-
-
检查更新状态。
Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion <!--NeedCopy-->
-
打开 VM 的电源。如果您在安排的时段之后打开计算机电源,则不会应用配置更新。如果您在安排的时段内打开计算机电源,
- 如果计算机已关闭电源,并且
- 您未打开计算机电源,未应用配置更新
- 您打开了计算机电源,应用了配置更新
- 如果计算机已开机,并且
- 您未重新启动计算机,未应用配置更新
- 您重新启动了计算机,应用了配置更新
- 如果计算机已关闭电源,并且
要取消配置更新,请执行以下操作:
也可以取消单个 VM、多个 VM 或整个目录的配置更新。要取消配置更新,请执行以下操作:
-
运行
Clear-ProvVMUpdateTimeWindow
。例如:-
要取消为单个 VM 安排的配置更新,请执行以下操作:
Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName “ my-catalog “ -VMName “vm1” <!--NeedCopy-->
-
要取消为多个 VM 安排的配置更新,请执行以下操作:
Clear-ProvVMUpdateTimeWindow -ProvisioningSchemeName "my-catalog" -VMName "vm1","vm2" <!--NeedCopy-->
-
注意:
VM 必须来自同一个目录。
更新单个 VM 的属性
您可以使用 PowerShell 命令 Set-ProvVM
更新永久性 MCS 计算机目录中单个虚拟机的属性。但是,更新不会立即应用。要应用更新,必须使用 PowerShell 命令 Set-ProvVMUpdateTimeWindow
设置时间窗口。
此实现可以帮助您高效地管理单个 VM,而无需更新整个计算机目录。目前,此功能仅适用于 Azure 环境。
当前,您可以更新的属性有:
CustomProperties
ServiceOffering
MachineProfile
通过此功能,您可以:
在更新 VM 的属性之前:
- 打开 PowerShell 窗口。
- 运行
asnp citrix*
以加载 Citrix 特定的 PowerShell 模块。 -
检查现有计算机目录的配置。例如:
Get-ProvScheme -ProvisioningSchemeName AzureCatalog <!--NeedCopy-->
-
检查要应用更新的虚拟机的配置。例如:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
更新虚拟机的属性
执行以下操作以更新 VM 上的属性:
- 关闭要应用更新的 VM。
-
更新 VM 的属性。例如,如果要更新虚拟机的存储类型 (
StorageType
) 自定义属性,请运行以下命令:Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..." <!--NeedCopy-->
您可以同时更新计算机目录中两个虚拟机的属性。例如:
Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..." <!--NeedCopy-->
Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine2 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..." <!--NeedCopy-->
注意:
更新不会立即应用。
-
获取指定要更新的属性列表和配置版本。例如:
Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
检查
Version
的属性值和要更新的属性(在本例中为StorageType
)。 -
检查配置版本。例如:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
检查
ProvVMConfigurationVersion
的属性值。此更新尚未应用。虚拟机仍为旧配置。 -
请求预设更新。例如:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
有关预设更新的更多信息,请参阅将已预配的计算机更新到当前的置备方案状态。
注意:
任何待处理的配置方案更新也将适用。
-
重新启动 VM。例如:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->
-
检查配置版本。例如:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
检查
ProvVMConfigurationVersion
的属性值。更新现已应用。VM 现在有了新的配置。 - 要在虚拟机上应用进一步的配置更新,请关闭虚拟机,然后重复这些步骤。
在计算机目录更新后,保留在虚拟机上更新的属性
执行以下操作以保留 VM 上更新的属性:
- 关闭要应用更新的 VM。
-
更新计算机目录。例如,如果要更改虚拟机大小 (
ServiceOffering
) 和存储类型 (StorageType
),请运行以下命令:Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..." <!--NeedCopy-->
-
获取计算机目录的配置详细信息。例如:
Get-ProvScheme -ProvisioningSchemeName AzureCatalog <!--NeedCopy-->
ProvisioningSchemeVersion
现在以 1 为增量。虚拟机大小和存储类型也已更新。 -
更新 VM 的属性。例如,向虚拟机提供计算机配置文件。
Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -MachineProfile "XDHyp:\HostingUnits<hosting-unit>\machineprofile.folder<resource-group>.resourcegroup<template-spec>.templatespec<template-spec-version>.templatespecversion" <!--NeedCopy-->
注意:
计算机配置文件输入有一个标签并指定了不同的虚拟机大小 (
ServiceOffering
)。 -
获取虚拟机上的配置更新与计算机目录更新合并后虚拟机将拥有的属性列表。例如:
Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
注意:
虚拟机上的任何更新都将覆盖在计算机目录上完成的更新。
-
请求对 VM 进行定期更新。例如:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
重新启动 VM。例如:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->
VM 会保留根据计算机配置文件得出的更新后的 VM 大小。计算机配置文件中指定的标签值也适用于虚拟机。但是,存储类型源自最新的配置方案。
-
获取虚拟机的配置版本。例如:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
ProvisioningSchemeVersion
和ProvVMConfigurationVersion
现在显示的是最新版本。
恢复应用于虚拟机的配置更新
- 对虚拟机应用更新后,关闭虚拟机。
-
运行以下命令以删除应用于虚拟机的更新。例如:
Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
-
请求对 VM 进行定期更新。例如:
Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1 <!--NeedCopy-->
-
重新启动 VM。例如:
New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn <!--NeedCopy-->
-
检查虚拟机的配置版本。例如:
Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 <!--NeedCopy-->
ProvVMConfigurationVersion
值现在是计算机目录的配置版本。
检索 Azure VM、快照、操作系统磁盘和库映像定义的信息
可以显示 Azure VM 的信息,包括操作系统磁盘和类型、快照和库映像定义。分配计算机目录时,将为主映像上的资源显示此信息。使用此功能可以查看和选择 Linux 或 Windows 映像。PowerShell 属性 TemplateIsWindowsTemplate
已添加到 AdditionDatafield
参数中。此字段包含 Azure 特定的信息:VM 类型、操作系统磁盘、库映像信息和操作系统类型信息。将 TemplateIsWindowsTemplate
设置为 True 表示操作系统类型为 Windows;将 TemplateIsWindowsTemplate
设置为 False 表示操作系统类型为 Linux。
提示:
TemplateIsWindowsTemplate
PowerShell 属性显示的信息来自 Azure API。有时,此字段可能是空的。例如,数据磁盘中的快照不包含TemplateIsWindowsTemplate
字段,因为无法从快照中检索操作系统类型。
例如,使用 PowerShell 将 Windows 操作系统类型的 Azure VM AdditionData
参数设置为 True:
PS C:\Users\username> (get-item XDHyp:\HostingUnits\mynetwork\image.folder\username-dev-testing-rg.resourcegroup\username-dev-tsvda.vm).AdditionalData
Key Value
ServiceOfferingDescription Standard_B2ms
HardDiskSizeGB 127
ResourceGroupName FENGHUAJ-DEV-TESTING-RG
ServiceOfferingMemory 8192
ServiceOfferingCores 2
TemplateIsWindowsTemplate True
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SupportedMachineGenerations Gen1,Gen2
<!--NeedCopy-->
检索 Azure VM、托管磁盘、快照、Azure VHD 和 ARM 模板的区域名称信息
您可以显示 Azure VM、托管磁盘、快照、Azure VHD 和 ARM 模板的区域名称信息。分配计算机目录后,将为主映像上的资源显示此信息。当您使用 AdditionalData
参数运行 PowerShell 命令时,名为的 PowerShell 属性 RegionName
会显示区域名称信息。
例如,使用以下 PowerShell 命令在 Azure 中获取 VM 信息。
PS C:\Windows\system32> (get-item XDHyp:\HostingUnits\myAzureNetwork\image.folder\hu-dev-testing-rg.resourcegroup\hu-dev-tsvda.vm).AdditionalData
Key Value
HardDiskSizeGB 127
ResourceGroupName HU-DEV-TESTING-RG
RegionName East US
TemplateIsWindowsTemplate True
LicenseType
ServiceOfferingDescription Standard_B2ms
ServiceOfferingMemory 8192
ServiceOfferingCores 2
SupportedMachineGenerations Gen1,Gen2
ServiceOfferingWithTemporaryDiskSizeInMb 16384
SecurityType
SecureBootEnabled
VTpmEnabled
<!--NeedCopy-->
识别 MCS 创建的资源
以下是 MCS 向 Azure 平台上的资源添加的标签。表中的标签表示方式为 “key”:”value”。
资源名称 | 标记 |
---|---|
ID 磁盘 | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
映像 | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
NIC | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
操作系统磁盘 | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
PrepVM | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
已发布的快照 | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
资源组 | “CitrixResource” : “Internal” |
CitrixSchemaVersion:2.0 | |
“CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” | |
存储帐户 | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
目录中的 VM | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” | |
WBC 磁盘 | “CitrixProvisioningSchemeId” : “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” |
“CitrixResource” : “Internal” |
注意:
如果添加了 CitrixResource 标记以将某个 VM 标识为 MCS 创建的资源,该 VM 在 Citrix 清单中将不可见。您可以删除或重命名该标记以使其可见。
移除标签
创建目录或 VM 时,会在以下资源上创建标记:
- 资源组
- 虚拟机
- 操作系统磁盘
- 身份磁盘
- 网络接口
- 存储帐户
您可以从 Citrix 数据库中删除虚拟机和计算机目录并移除标签。可以使用以下图标:
- 带
ForgetVM
参数的Remove-ProvVM
从单个虚拟机或计算机目录中的虚拟机列表中删除虚拟机和标签。 - 带
ForgetVM
参数的Remove-ProvScheme
从 Citrix 数据库中删除计算机目录和从整个计算机目录中删除标签。
此功能仅适用于永久性 VM。
为此,您需要:
- 打开 PowerShell 窗口。
- 运行 asnp citrix* 以加载特定于 Citrix 的 PowerShell 模块。
-
运行
Remove-ProvVM
从 Citrix 数据库中删除虚拟机和从虚拟机中删除标签。 例如:Remove-ProvVM -ProvisioningSchemeName “ProvisioningSchemeName” -VMName “vmname” -ForgetVM <!--NeedCopy-->
-
运行
Remove-ProvScheme
从 Citrix 数据库中删除计算机目录并从计算机目录中删除标签。例如:Remove-ProvScheme -ProvisioningSchemeName “ProvisioningSchemeName” -ForgetVM <!--NeedCopy-->
注意:
在
Remove-ProvScheme
中使用ForgetVM
参数后,如果自带资源组 (BYORG) 或 Citrix 托管资源组中存在配置方案,则 MCS 会删除包括基础磁盘快照在内的所有快照。