服务窗口

Last published : Nov 13, 2026
服务窗口功能提供了一种调度和自动化 MCS 预配 VM 操作的功能。此功能目前支持各种操作,例如重置操作系统磁盘和硬件配置更改。您可以安排这些操作,稍后返回验证完成情况,而无需手动执行更新。
您可以为特定的 VM 列表或整个计算机目录安排操作。每个操作都在指定的时间运行。可以为同一 VM 安排多个操作。但是,您不能为单个 VM 安排多个硬件更新。
您还可以:
  • 添加服务窗口的描述。
  • 提供详细消息,以便在操作运行时显示给任何已登录的用户。
  • 指定任务元数据在完成后应保留多少天。
  • 配置在强制执行操作之前,为已登录用户保存工作而授予的缓冲分钟数。

优点

改进的用户体验和连续性

  • 优雅的会话处理:您可以定义专业的通知,以便在 VM 关闭电源之前保存工作,而不是突然断开连接。
  • 计划停机时间:您可以将繁重的更新任务移至非高峰时段(例如,凌晨 2:00),而无需您在该时间手动登录。
  • 经济高效的硬件更新:使用服务窗口更新硬件可为大型实施节省大量成本。此功能会自动分析 VM 是否需要重新启动才能应用设置。因此,通过避免不必要的重新启动,服务窗口可最大程度地降低这些费用。

高级硬件灵活性

  • 更新硬件配置:使用服务窗口安排硬件更新。系统智能地管理更新流程,检查是否需要重新启动并处理会话注销,确保您的目录能够满足新的资源需求,而无需手动监督。
  • 灵活的 SKU 重新配置:轻松更新 SKU,这以前需要手动重新创建目录。
  • 现有 VM 的休眠支持:克服了“临时磁盘”的限制。服务窗口允许 MCSIO 驱动程序将页面文件重新定位到 C: 驱动器,并为已部署的 VM 启用休眠属性。

重要注意事项

  • 用户通知:已登录用户会收到有关服务窗口操作的初始警报,确保他们有足够的时间保存工作。通知期结束后,计算机将自动关机以执行操作。

服务窗口操作

服务窗口目前支持操作系统磁盘重置、修复现有 MCS 预配目录的 Active Directory 帐户、为现有 MCS 预配目录启用 Entra 混合加入以及硬件配置更改。这些操作可以使用 Web Studio 或 PowerShell 执行。
Web Studio:目前仅支持 Azure 环境。有关指导,请参阅特定的管理程序文章。
PowerShell 命令:本文概述了通用命令,而详细的、特定于管理程序的脚本可在我们的 GitHub 页面 <https://github.com/citrix/citrix-mcs-sdk-samples/> 上找到。

重置操作系统磁盘

操作系统磁盘重置可以使用 PowerShell 命令 New-ProvMaintenanceCycle 完成。该命令为整个目录或特定 VM 创建新的服务窗口。周期从您在 ScheduledStartTimeInUTC 中指定的时间开始。您还需要提供 MaxDurationInMinutes,它表示服务窗口可以运行的最长时间。

示例:重置特定 VM 的操作系统磁盘

New-ProvMaintenanceCycle -Operation ResetOSDisk -MaintenanceCycleDescription "Resetting Boot Disk" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -VMName VDA02,VDA03

示例:重置整个目录的操作系统磁盘

New-ProvMaintenanceCycle -Operation ResetOSDisk -MaintenanceCycleDescription "Resetting Boot Disk" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -AllVMs

更新硬件设置

使用服务窗口安排硬件更新,从而完全控制更改何时生效。您可以选择仅针对新创建的 VM、整个目录(新 VM 和现有 VM)或根据需要针对特定 VM。
  • 要更新新 VM 或整个目录的硬件设置,请选择一个预配方案版本并运行 PowerShell 命令 New-ProvSchemeHardwareUpdate。您可以将先前创建的预配方案版本应用于 VM。您还可以在具有临时磁盘的 VM 上启用休眠。
  • 要更新特定 VM 的硬件设置,请选择一个 VM 配置版本并运行 PowerShell 命令 New-ProvVmHardwareUpdate。

重要注意事项

  • 在安排硬件更新后添加到目录的新计算机将继续使用旧规范创建,直到应用新规范的指定 UTC 时间。
  • 在创建服务窗口期间,单个验证失败会阻止创建周期并返回错误消息。
  • 要启用休眠,请考虑以下事项:
    • VDA 版本必须高于 2503。
    • 必须安装机器创建服务 I/O (MCSIO)。
    • 计算机配置文件必须支持休眠。
    • VM SKU 和操作系统必须支持休眠。
    • 如果启用了 VBS,则还必须启用 Hyper-V。嵌套虚拟化要求 VM 上启用受信任启动。
    • 可用操作系统磁盘大小必须大于 VM 的内存大小。

在整个计算机目录或新 VM 上安排硬件更新

  1. 运行 New-ProvSchemeVersion 以创建具有更新硬件设置的新预配方案版本。有关详细信息,请参阅 SDK 文档。
  2. 运行 PowerShell 命令 New-ProvSchemeHardwareUpdate 以安排服务窗口进行硬件更新,如预配方案版本中指定的那样。
示例:计算机目录中的 AllVMs(新的和现有的)被考虑进行更新:
New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 4 -MaintenanceCycleDescription "Updating RAM and CPU Count to 8GB and 4" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -AllVMs
示例:计算机目录中的 NewVMsOnly(新的和现有的)被考虑进行更新:
New-ProvSchemeHardwareUpdate -ProvisioningSchemeVersion 4 -MaintenanceCycleDescription "Updating RAM and CPU Count to 8GB and 4" -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -PurgeDBAfterInDays 1 -SessionWarningTimeInMinutes 15 -SessionWarningLogOffTitle "Scheduled Maintenance" -SessionWarningLogOffMessage "There is a scheduled maintenance coming up and involves turning off the machine, please save your work and log out, Thank You" -NewVMsOnly
运行 Get-ProvSchemeHardwareUpdate 以检索与硬件方案更新关联的服务窗口对象。示例:
Get-ProvSchemeHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz

在特定 VM 上安排硬件更新

  1. 运行 New-ProvVmConfiguration 以创建新的预配 VM 配置。有关详细信息,请参阅 SDK 文档。
  2. 运行 PowerShell 命令 New-ProvVmHardwareUpdate 以根据 VM 配置版本中的指定计划硬件更新的服务窗口。
注意:
对于每个 VM,任何个性化设置(VM 配置版本)始终优先于预配方案版本中定义的规范。如果 VM 上未对特定设置进行个性化设置,则其值将从关联的预配方案版本继承。
示例:
New-ProvVmHardwareUpdate -ProvVmConfigurationVersion 4 -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -VMName AbcTest01
运行 Get-ProvVmHardwareUpdate 以检索与硬件 VM 更新关联的服务窗口对象。示例:
Get-ProvVmHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
您还可以使用 Remove-ProvVmConfiguration 命令删除用于创建预配 VM 版本的个性化设置。示例:
Remove-ProvVmConfiguration -Version 2 -VMName AbcTest01

修复现有目录的 AD 帐户

您可以使用服务窗口修复现有本地 AD 域加入和 Microsoft Entra 混合加入的 MCS 计算机目录的 Active Directory (AD) 计算机帐户。当 VM 失去域信任时,此功能非常有用。此功能适用于持久和非持久 MCS 计算机目录。
要修复现有 MCS 计算机目录的 AD 帐户,可以使用 PowerShell 命令完成以下步骤:
  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 通过以下任一方式运行 New-ProvIdentityUpdate 命令:
    • 按名称修复特定 VM 的 AD 帐户:
      New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
    • 要将操作安排在将来某个时间而不是立即开始:
      New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
  4. 运行 Get-ProvMaintenanceCycle 以检查维护周期的状态。
有关详细信息,请参阅 Citrix PowerShell SDK
注意:
  • 此功能仅适用于本地 Active Directory 域加入和 Microsoft Entra 混合加入的 MCS 计算机目录。它不支持 Entra ID 域加入和非域加入的计算机。
  • 预配方案的身份池必须具有本地 Active Directory 服务帐户,该帐户具有足够的权限来重置域中计算机帐户的密码。

为现有 MCS 预配的目录启用 Entra 混合加入

您现在可以使用服务窗口将现有已加入本地 Active Directory 的 MCS 计算机目录转换为 Microsoft Entra 混合加入目录。此功能适用于持久性和非持久性 MCS 计算机目录。
要为现有 MCS 计算机目录启用 Entra 混合加入,可以使用 PowerShell 命令完成以下步骤:
  1. 打开 PowerShell 窗口。
  2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
  3. 通过以下任一方式运行 New-ProvIdentityUpdate 命令:
    • 立即为目录中的所有 VM 启用 Entra 混合加入:
      New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -StartsNow
    • 按名称为特定 VM 启用 Entra 混合加入:
      New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
    • 启用 Entra 混合加入并为新 VM 指定目标 OU:
      New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -StartsNow -OU "OU=SyncedDevices,DC=example,DC=com"
    • 安排操作在将来某个时间执行,而不是立即开始:
      New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
  4. 运行 Get-ProvMaintenanceCycle 以检查维护周期的状态。
有关详细信息,请参阅 (https://developer-docs.citrix.com/zh-cn/citrix-virtual-apps-desktops-sdk/2607 LTSR/)
注意:
  • 为确保目录正常工作,必须将目录中所有现有虚拟机转换为 Microsoft Entra 混合加入。
  • 此功能不支持共享身份池的 MCS 预配目录。
  • 现有预配方案的基础映像必须安装 VDA 版本 2212 或更高版本,请参阅 Microsoft Entra 混合加入的要求。
  • 预配方案的身份池必须具有本地 Active Directory 服务帐户,该帐户具有在域中设置 userCertificate 属性的权限。
  • 确保包含计算机帐户的 OU 配置为通过 Microsoft Entra Connect 同步到 Entra ID。您有两个选项:
    • 配置 Azure AD Connect 以将设备从原始 OU 同步到 Entra ID。
    • 手动将现有计算机帐户移动到已配置 Azure AD Connect 同步的 OU 中。

与服务窗口相关的其他 PowerShell 命令

  • Get-ProvMaintenanceCycle:检索所有服务窗口的信息。示例:
    Get-ProvMaintenanceCycle -MaintenanceCycleId 10073b8e-7e94-4527-8580-0e448eae0ad1
  • Get-ProvMaintenanceCycleVM:检索单个 VM 的每个服务窗口操作的信息及其状态。示例:
    Get-ProvMaintenanceCycleVM -MaintenanceOperation HardwareUpdate -VirtualMachineSid 42263076-44ae-1ff9-f58b-62d57ddf8db5
    各种服务窗口状态为:
    • 正在运行
    • 失败
    • 已完成
    • 正在取消
    • 已取消
    • 未处理
    • 待处理
    • 未完成
    • 已修复
    • 正在恢复
  • Remove-ProvMaintenanceCycle: 当服务窗口未激活时,移除服务窗口。示例:
    Remove-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
  • Cancel-ProvMaintenanceCycle: 如果操作尚未由 MCS 在 VM 上启动,则此 PowerShell 命令会取消该操作。MCS 不会取消当前正在 VM 上运行的操作。示例:
    Cancel-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
  • Restart-ProvMaintenanceCycle: 如果服务窗口因外部原因(例如虚拟机管理程序关闭或时间不足)而失败或未完成,此命令有助于重新启动周期并处理任何失败或未处理的作业。示例:
    Restart-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ScheduledStartTimeInUTC "June 19th 2024, 6AM" -MaxAllocatedDurationInMinutes 400
  • Update-ProvMaintenanceCycle: 如果服务窗口已计划但尚未启动,此命令会更改某些参数。
    示例:更新最大持续时间:
    Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -MaxDurationInMinutes 100
    示例:更新预配方案的 VM:
    Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ProvisioningSchemeUid 867af1ba-5b72-402e-9dc3-033298248f8e -VMName ncn01,ncn02

下一步操作

有关使用 Web Studio 在 Azure 中管理服务窗口操作的信息,请参阅 Azure 中的服务窗口操作。