服务窗口

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

优势

改进的用户体验和连续性

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

高级硬件灵活性

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

重要注意事项

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

限制

现有VM的WBC磁盘大小无法更改。它可以应用于新VM的计算机目录。

服务窗口操作

服务窗口目前支持使用PowerShell重置操作系统磁盘和更改硬件配置。
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

与服务窗口相关的其他 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