Citrix Virtual Apps and Desktops

サービスウィンドウ

サービスウィンドウ機能は、MCSプロビジョニングされたVMに対する操作のスケジュール設定と自動化機能を提供します。この機能は現在、OSディスクのリセットやハードウェア構成の変更など、さまざまな操作をサポートしています。これらの操作をスケジュールし、後で完了を確認できます。手動で更新を実行する必要はありません。

特定のVMリストまたはマシンカタログ全体に対して操作をスケジュールできます。各操作は指定された時間に実行されます。同じVMに対して複数の操作をスケジュールできます。ただし、単一のVMに対して複数のハードウェア更新をスケジュールすることはできません。

次のことも可能です。

  • サービスウィンドウの説明を追加する。
  • 操作の実行時にログオンしているユーザーに表示される詳細メッセージを提供する。
  • 完了後、タスクメタデータを何日間保持するかを指定する。
  • 操作が強制的に実行される前に、ログオンしているユーザーが作業を保存するために与えられるバッファ時間を何分にするかを構成する。

利点

ユーザーエクスペリエンスと継続性の向上

  • グレースフルセッション処理: 突然の切断ではなく、VMの電源がオフになる前に作業を保存するための専門的な通知を定義できます。
  • スケジュールされたダウンタイム: 大規模な更新タスクをオフピーク時間(たとえば午前2時)に移動でき、その時間に手動でログインする必要はありません。
  • 費用対効果の高いハードウェア更新: サービスウィンドウを使用してハードウェアを更新すると、大規模な実装で大幅なコスト削減になります。この機能は、VMが設定を適用するために再起動を必要とするかどうかを自動的に分析します。したがって、不要な再起動を回避することで、サービスウィンドウはこれらの費用を最小限に抑えます。

高度なハードウェアの柔軟性

  • ハードウェア構成の更新: サービスウィンドウを使用してハードウェア更新をスケジュールします。システムは更新フローをインテリジェントに管理し、再起動の必要性を確認し、セッションログオフを処理することで、手動での監視なしにカタログが新しいリソース要件を満たすように進化することを保証します。
  • 柔軟なSKU再構成: 以前はカタログの手動再作成が必要だったSKUを簡単に更新できます。
  • 既存のVMに対する休止状態のサポート: 「一時ディスク」の制限を克服します。サービスウィンドウにより、MCSIOドライバーはページファイルをC:ドライブに再配置し、すでに展開されているVMで休止状態のプロパティを有効にできます。

重要な考慮事項

  • ユーザー通知: ログインしているユーザーは、サービスウィンドウ操作に関する初期アラートを受け取り、作業を保存するのに十分な時間を確保できます。通知期間が終了すると、マシンは自動的にシャットダウンして操作を実行します。

サービスウィンドウの操作

サービスウィンドウは現在、OSディスクのリセット、既存のMCSプロビジョニング済みカタログのActive Directoryアカウントの修復、既存のMCSプロビジョニング済みカタログのEntraハイブリッド参加の有効化、およびハードウェア構成の変更をサポートしています。これらの操作は、Web StudioまたはPowerShellを使用して実行できます。

Web Studio: 現在、Azure環境でのみサポートされています。ガイダンスについては、特定のハイパーバイザーの記事を参照してください。

PowerShellコマンド: 一般的なコマンドはこの記事で説明されており、詳細なハイパーバイザー固有のスクリプトは弊社のGitHubページ https://github.com/citrix/citrix-mcs-sdk-samples/ で確認できます。

OSディスクのリセット

OSディスクのリセットは、PowerShellコマンド New-ProvMaintenanceCycle を使用して実行できます。このコマンドは、カタログ全体または特定のVMに対して新しいサービスウィンドウを作成します。サイクルは、ScheduledStartTimeInUTC で指定した時刻に開始されます。また、サービスウィンドウが実行できる最大時間を示す MaxDurationInMinutes も指定します。

例: 特定のVMのOSディスクをリセットする

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
<!--NeedCopy-->

例: カタログ全体のOSディスクをリセットする

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
<!--NeedCopy-->

ハードウェア設定の更新

サービスウィンドウを使用してハードウェア更新をスケジュールすることで、変更がいつ適用されるかを完全に制御できます。必要に応じて、新しく作成されたVMのみ、カタログ全体(新規および既存のVM)、または特定のVMを対象に選択できます。

  • 新しいVMまたはカタログ全体のハードウェア設定を更新するには、プロビジョニングスキームのバージョンを選択し、PowerShellコマンド New-ProvSchemeHardwareUpdate を実行します。以前に作成したプロビジョニングスキームのバージョンをVMに適用できます。一時ディスクを持つVMで休止状態を有効にすることもできます。
  • 特定のVMのハードウェア設定を更新するには、VM構成バージョンを選択し、PowerShellコマンド New-ProvVmHardwareUpdate を実行します。

重要な考慮事項

  • ハードウェア更新のスケジュール設定後にカタログに追加された新しいマシンは、新しい仕様が適用される指定されたUTC時刻まで、古い仕様で作成され続けます。
  • サービスウィンドウの作成中に単一の検証が失敗すると、サイクルが作成されなくなり、エラーメッセージが返されます。
  • 休止状態を有効にするには、以下を考慮してください。
    • VDAバージョンは2503より大きい必要があります。
    • Machine Creation Services I/O (MCSIO) がインストールされている必要があります。
    • マシンプロファイルは休止状態をサポートしている必要があります。
    • VM SKUとオペレーティングシステムは休止状態をサポートしている必要があります。
    • VBSが有効になっている場合、Hyper-Vも有効にする必要があります。ネストされた仮想化には、VMでのTrusted Launchが必要です。
    • 空きOSディスクサイズは、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
<!--NeedCopy-->

例:マシンカタログ内の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
<!--NeedCopy-->

Get-ProvSchemeHardwareUpdateを実行して、ハードウェアスキームの更新に関連付けられているサービスウィンドウオブジェクトを取得します。例:

Get-ProvSchemeHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
<!--NeedCopy-->

特定のVMでハードウェア更新をスケジュールする

  1. 新しいプロビジョニングVM構成を作成するには、New-ProvVmConfigurationを実行します。詳しくは、SDKドキュメントを参照してください。

  2. PowerShellコマンドNew-ProvVmHardwareUpdateを実行して、VM構成バージョンで指定されているハードウェア更新のサービスウィンドウをスケジュールします。

注:

各VMについて、パーソナライズされた設定(VM構成バージョン)は、プロビジョニングスキームバージョンで定義された仕様よりも常に優先されます。特定のVM設定がパーソナライズされていない場合、その値は関連付けられたプロビジョニングスキームバージョンから継承されます。

New-ProvVmHardwareUpdate -ProvVmConfigurationVersion 4 -StartsNow -MaxDurationInMinutes 100 -ProvisioningSchemeName CVC -VMName AbcTest01
<!--NeedCopy-->

Get-ProvVmHardwareUpdateを実行して、ハードウェアVMの更新に関連付けられているサービスウィンドウオブジェクトを取得します。例:

Get-ProvVmHardwareUpdate -MaintenanceCycleId xxxx-xxxx-yyyy-zzzz
<!--NeedCopy-->

Remove-ProvVmConfigurationコマンドを使用して、プロビジョニングVMバージョンを作成するために使用されたパーソナライゼーションを削除することもできます。例:

Remove-ProvVmConfiguration -Version 2 -VMName AbcTest01
<!--NeedCopy-->

既存のカタログのADアカウントを修復する

サービスウィンドウを使用して、既存のオンプレミスAD参加済みおよびMicrosoft Entraハイブリッド参加済みMCSマシンカタログのActive Directory(AD)コンピューターアカウントを修復できます。これは、VMがドメイン信頼を失った場合に役立ちます。この機能は、永続的および非永続的の両方のMCSマシンカタログに適用されます。

既存のMCSマシンカタログのADアカウントを修復するには、PowerShellコマンドを使用して次の手順を実行します。

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix*を実行します。
  3. 次のいずれかの方法でNew-ProvIdentityUpdateコマンドを実行します。

    • 特定のVMのADアカウントを名前で修復するには:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • すぐに開始するのではなく、将来の時刻に操作をスケジュールするには:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'repair AD account' -Operation RepairADAccount -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
       <!--NeedCopy-->
      
  4. メンテナンスサイクルのステータスを確認するには、Get-ProvMaintenanceCycleを実行します。

詳細については、Citrix PowerShell SDKを参照してください。

注:

  • この機能は、オンプレミスのActive Directoryに参加しているMCSマシンカタログと、Microsoft Entra Hybridに参加しているMCSマシンカタログにのみ適用されます。Entra IDに参加しているマシンやドメインに参加していないマシンはサポートしていません。
  • プロビジョニングスキームのIDプールには、ドメイン内のコンピューターアカウントのパスワードをリセットするのに十分な権限を持つオンプレミスのActive Directoryサービスアカウントが必要です。

既存のMCSプロビジョニング済みカタログでEntra Hybrid Joinを有効にする

Service Windowを使用して、既存のオンプレミスActive Directory参加済みMCSマシンカタログをMicrosoft Entra Hybrid参加済みカタログに変換できるようになりました。この機能は、永続MCSマシンカタログと非永続MCSマシンカタログの両方に適用されます。

既存のMCSマシンカタログでEntra Hybrid Joinを有効にするには、PowerShellコマンドを使用して次の手順を完了します。

  1. PowerShellウィンドウを開きます。
  2. Citrix固有のPowerShellモジュールをロードするには、asnp citrix*を実行します。
  3. 次のいずれかの方法でNew-ProvIdentityUpdateコマンドを実行します。

    • カタログ内のすべてのVMでEntra Hybrid Joinをすぐに有効にするには:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -StartsNow
      
       <!--NeedCopy-->
      
    • 特定のVMに対して名前でEntra Hybrid joinを有効にするには: :

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -VMName @("vm-1", "vm-2") -StartsNow
       <!--NeedCopy-->
      
    • 新規VMのEntra Hybrid joinを有効にし、ターゲットOUを指定するには:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -StartsNow -OU "OU=SyncedDevices,DC=example,DC=com"
       <!--NeedCopy-->
      
    • 操作をすぐに開始するのではなく、将来の時刻にスケジュールするには:

       New-ProvIdentityUpdate -MaintenanceCycleDescription 'enable Entra hybrid join' -Operation MigrateActiveDirectoryToEntraHybridJoin -MaxDurationInMinutes 60 -ProvisioningSchemeName <catalog-name> -AllVMs -ScheduledStartTimeInUTC "2026-04-01T02:00:00Z"
       <!--NeedCopy-->
      
  4. メンテナンスサイクルのステータスを確認するには、Get-ProvMaintenanceCycleを実行します。

詳細については、Citrix PowerShell SDKを参照してください。

注:

  • カタログが正しく機能することを確認するには、カタログ内の既存のすべての仮想マシンをMicrosoft Entra Hybrid joinedに変換する必要があります。
  • この機能は、IDプールを共有するMCSプロビジョニングされたカタログをサポートしていません。
  • 既存のプロビジョニングスキームのベースイメージには、VDAバージョン2212以降がインストールされている必要があります。Microsoft Entra hybrid joinedの要件を参照してください。
  • プロビジョニングスキームのIDプールには、ドメイン内でuserCertificateプロパティを設定する権限を持つオンプレミスのActive Directoryサービスアカウントが必要です。
  • コンピューターアカウントを含むOUが、Microsoft Entra Connectを介してEntra IDに同期するように構成されていることを確認してください。2つのオプションがあります:

    • Azure AD Connectを構成して、元のOUからEntra IDにデバイスを同期します。
    • 既存のコンピューターアカウントを、Azure AD Connect同期が構成されたOUに手動で移動します。

サービスウィンドウに関連するその他のPowerShellコマンド

  • Get-ProvMaintenanceCycle: すべてのサービスウィンドウの情報を取得します。例:

     Get-ProvMaintenanceCycle -MaintenanceCycleId 10073b8e-7e94-4527-8580-0e448eae0ad1
     <!--NeedCopy-->
    
  • Get-ProvMaintenanceCycleVM: 各VMの各サービスウィンドウ操作の情報を、そのステータスとともに取得します。例:

     Get-ProvMaintenanceCycleVM -MaintenanceOperation HardwareUpdate -VirtualMachineSid 42263076-44ae-1ff9-f58b-62d57ddf8db5
     <!--NeedCopy-->
    

    サービスウィンドウのさまざまなステータスは次のとおりです。

    • 実行中
    • 失敗
    • 完了
    • キャンセル中
    • キャンセル済み
    • 未処理
    • 保留中
    • 不完全
    • 修復済み
    • 回復中
  • Remove-ProvMaintenanceCycle: サービスウィンドウがアクティブでない場合に、サービスウィンドウを削除します。例:

     Remove-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
     <!--NeedCopy-->
    
  • Cancel-ProvMaintenanceCycle: MCSによってVMで操作がまだ開始されていない場合、このPowerShellコマンドは操作をキャンセルします。MCSは、VMで現在実行中の操作をキャンセルしません。例:

     Cancel-ProvMaintenanceCycle -MaintenanceCycleId 867af1ba-5b72-402e-9dc3-033298248f8e
     <!--NeedCopy-->
    
  • Restart-ProvMaintenanceCycle: ハイパーバイザーのダウンや時間不足などの外部要因によりサービスウィンドウが失敗したか不完全な場合、このコマンドはサイクルを再開し、失敗したジョブや未処理のジョブを処理するのに役立ちます。例:

     Restart-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ScheduledStartTimeInUTC "June 19th 2024, 6AM" -MaxAllocatedDurationInMinutes 400
     <!--NeedCopy-->
    
  • Update-ProvMaintenanceCycle: サービスウィンドウが既にスケジュールされており、開始されていない場合、このコマンドは特定のパラメータを変更します。

    例: 最大期間の更新:

     Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -MaxDurationInMinutes 100
     <!--NeedCopy-->
    

    例: プロビジョニングスキームのVMを更新:

     Update-ProvMaintenanceCycle -MaintenanceCycleId 4f363b78-458a-403a-82e5-7fcc6caa498b -ProvisioningSchemeUid 867af1ba-5b72-402e-9dc3-033298248f8e -VMName ncn01,ncn02
     <!--NeedCopy-->
    

次のステップ

AzureでWeb Studioを使用してサービスウィンドウ操作を管理するには、Azureでのサービスウィンドウ操作を参照してください。

サービスウィンドウ