Citrix Virtual Apps and Desktops

Microsoft Azureカタログの管理

マシンカタログの管理」では、マシンカタログを管理するウィザードについて説明します。以下の情報は、Microsoft Azure Resource Managerクラウド環境に固有の詳細について説明しています。

注:

Microsoft Azureカタログを管理する前に、Microsoft Azureカタログの作成を完了する必要があります。「Microsoft Azureカタログの作成」を参照してください。

非マシンプロファイルベースのマシンカタログをマシンプロファイルベースのマシンカタログに変換する

仮想マシン(VM)またはテンプレートスペックをマシンプロファイルの入力に使用して、非マシンプロファイルベースのマシンカタログをマシンプロファイルベースのマシンカタログに変換できます。既存のVMとカタログに追加された新しいVMは、明示的なカスタムプロパティによって上書きされない限り、マシンプロファイルからプロパティ値を取得します。

注:

既存のマシンプロファイルベースのマシンカタログを、非マシンプロファイルベースのマシンカタログに変更することはできません。

これを行うには、以下の手順に従います:

  1. VMを使用し、マシンプロファイルを使用せずに、永続的または非永続的なマシンカタログを作成します。
  2. PowerShellウィンドウを開きます。
  3. Set-ProvSchemeコマンドを実行して、マシンプロファイルのプロパティ値をマシンカタログに追加された新しいVMに適用します。例:

    Set-ProvScheme = Set-ProvScheme -ProvisioningSchemeName xxxx -MachineProfile XDHyp:\HostingUnits<HostingUnitName>\machineprofile.folder<ResourceGroupName><TemplateSpecName><VersionName>
    <!--NeedCopy-->
    
  4. Set-ProvVMUpdateTimeWindowコマンドを実行して、マシンプロファイルのプロパティ値をマシンカタログの既存のVMに適用します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName xxxx -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  5. 既存の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パラメーターでPersistVMtrueに設定することで、ライトバックキャッシュが維持されます:

 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プロパティは、OSディスクを永続化するかどうかを決定します。プロビジョニングされた仮想マシンを保持するには、最初にOSディスクを保持します。仮想マシンを削除する前にOSディスクを削除しないでください。PersistVmパラメーターを指定せずにPersistOsdiskプロパティを使用することができます。

仮想マシンのシャットダウン時にストレージの種類をダウングレードする

仮想マシンのシャットダウン時に管理対象ディスクのストレージの種類をダウングレードすると、ストレージコストを節約できます。これを行うには、カスタムプロパティStorageTypeAtShutdownを使用します。

仮想マシンをシャットダウンすると、ディスクのストレージの種類が(カスタムプロパティStorageTypeAtShutdownで指定されたものに)ダウングレードされます。仮想マシンの電源をオンにすると、ストレージの種類が(カスタムプロパティStorageTypeまたはカスタムプロパティWBCDiskStorageTypeで指定された)元に戻ります。

重要:

ディスクは、仮想マシンの電源を少なくとも1回オンにするまで存在しません。このため、仮想マシンの初回電源投入時にストレージの種類を変更することはできません。

要件

  • 管理対象ディスクに適用できます。これは、カスタムプロパティUseManagedDisksをtrueに設定することを意味します。
  • 永続OSディスクがある永続カタログおよび非永続カタログに適用できます。これは、カスタムプロパティpersistOsDiskをtrueに設定することを意味します。
  • 永続WBCディスクがある非永続カタログに適用できます。これは、カスタムプロパティpersistWBCをtrueに設定することを意味します。

制限事項

  • Microsoftによると、ディスクの種類を変更できるのは1日に2回のみです。Microsoftドキュメントを参照してください。Citrixに関しては、StorageTypeの更新はVMの開始または割り当て解除操作があるたびに行われます。したがって、VMごとの電源操作の数を1日あたり2回に制限します。たとえば、朝に1回の電源操作でVMを起動し、夕方にもう1回の電源操作でVMの割り当てを解除します。

ストレージの種類をダウングレードするには

手順に進む前に、「要件」と「制限事項」を参照してください。

  1. カスタムプロパティ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で定義されたプロパティよりも優先されます。

  2. 仮想マシンをシャットダウンし、Azure Portalで仮想マシンのストレージの種類を確認します。ディスクのストレージの種類がカスタムプロパティStorageTypeAtShutdownで指定されたものにダウングレードされます。
  3. 仮想マシンの電源を入れます。ディスクのストレージの種類は、以下に記載されているストレージの種類に切り替わります:
    • OSディスクのカスタムプロパティStorageType
    • CustomPropertiesで指定した場合のみWBCディスクのカスタムプロパティWBCDiskStorageType。それ以外の場合は、StorageTypeに記載されているストレージの種類に切り替わります。

StorageTypeAtShutdownを既存のカタログに適用する

手順に進む前に、「要件」と「制限事項」を参照してください。

Set-ProvSchemeを使用して、既存のカタログに仮想マシンを追加します。この機能は、Set-ProvSchemeの実行後に追加された新しい仮想マシンに適用されます。既存のマシンは影響を受けません。

仮想マシンを既存のカタログに追加するときにカスタムプロパティを設定する例:

$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のシャットダウン時に、カタログ内の既存のマシンのストレージの種類を下位レベルに変更するには、次の手順を実行します:

  1. PowerShellウィンドウを開きます。
  2. asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
  3. Get-Provscheme -ProvisioningSchemeName $CatalogNameを実行します。
  4. カスタムプロパティ文字列を変更します。

    $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-->
    
  5. 既存のカタログのプロビジョニングスキームを更新します。この更新は、Set-ProvSchemeの実行後に追加された新しい仮想マシンに適用されます。

    Set-ProvScheme -ProvisioningSchemeName $CatalogName -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. 既存のVMを更新してStorageTypeAtShutdownを有効にします。

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName $CatalogName -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. 次にマシンの電源を入れると、マシンのStorageTypeAtShutdownプロパティが更新されます。ストレージの種類は、次回のシャットダウン時に変更されます。
  8. 次のコマンドを実行して、カタログ内の各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-->
    

ストレージの種類の変更に失敗したときの電源投入時の動作をカスタマイズする

電源をオンにした際に、Azureでの障害が原因で、管理対象ディスクのストレージの種類が目的の種類に変更されないことがあります。この場合、VMはオフのままになり、エラーメッセージが送信されます。ただし、設定した種類にストレージを復元できない場合でも、VMの電源をオンにするか、VMの電源をオフのままにするかを選択できます。

  • カスタムプロパティのFailSafeStorageTypetrue(デフォルト設定)にするか、New-ProvSchemeまたはSet-ProvSchemeコマンドで値を指定しない場合:

    • 電源投入時、VMが正しくないストレージの種類でオンになります。
    • シャットダウン時、VMが正しくないストレージの種類でオフのままになります。
  • New-ProvSchemeまたはSet-ProvSchemeコマンドでカスタムプロパティのFailSafeStorageTypefalseにした場合:

    • 電源投入時、VMが正しくないストレージの種類でオフのままになります。
    • シャットダウン時、VMが正しくないストレージの種類でオフのままになります。

マシンカタログを作成するには:

  1. PowerShellウィンドウを開きます。
  2. asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
  3. IDプールをまだ作成していない場合は作成します。
  4. New-ProvSchemeにカスタムプロパティを追加します。例:

    New-ProvScheme -HostingUnitName "Azure-Resources-1" -IdentityPoolName "name" -InitialBatchSizeHint 1
    -MasterImageVM "XDHyp:\HostingUnits\Azure-Resources-1\image.folder\abc.resourcegroup\def.snapshot"
    -NetworkMapping @{"0"="XDHyp:\HostingUnits\Azure-Resources-1\ght.folder\abc.resourcegroup\abc-vnet.virtualprivatecloud\default.network"}
    -ProvisioningSchemeName "name"
    -ServiceOffering "XDHyp:\HostingUnits\Azure-Resources-1\serviceoffering.folder\Standard_DS2_v2.serviceoffering"
    -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
    <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"StorageTypeAtShutdown`" Value=`"Standard_LRS`" />
    <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"true`" />
    </CustomProperties>"
    <!--NeedCopy-->
    
  5. マシンカタログを作成します。Remote PowerShell SDKを使用してカタログを作成する方法については、https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/を参照してください。

既存のマシンカタログを更新してカスタムプロパティのFailSafeStorageTypeを含めるようにします。この更新は、既存のVMには影響しません。

  1. Set-ProvSchemeコマンドでカスタムプロパティを更新します。例:
   Set-ProvScheme -ProvisioningSchemeName <String> -CustomProperties "
   <CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">
   <Property xsi:type=`"StringProperty`" Name=`"StorageType`" Value=`"Premium_LRS`" />
   <Property xsi:type=`"StringProperty`" Name=`"IdentityDiskStorageType`" Value=`"Premium_LRS`" />
   <Property xsi:type=`"StringProperty`" Name=`"FailSafeStorageType`" Value=`"false`" />
   </CustomProperties>"
   <!--NeedCopy-->

Set-ProvSchemeで行った変更を既存のVMに適用するには、-StartsNowおよび-DurationInMinutes -1パラメーターを指定したSet-ProvVMUpdateTimeWindowコマンドを実行します。

  1. Set-ProvVMUpdateTimeWindowコマンドを-StartsNowおよび-DurationInMinutes -1パラメーターとともに実行します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName my-catalog -VMName <List-Of-Vm-Names> -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  2. VMを再起動します。

プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する

Set-ProvSchemeコマンドは、プロビジョニングスキームを変更します。ただし、既存のマシンには影響しません。PowerShellコマンドのSet-ProvVMUpdateTimeWindowを使用して、現在のプロビジョニングスキームを既存の永続的マシンや非永続的マシン、またはマシンのセットに適用できます。既存のMCSプロビジョニング済みマシンの構成の更新について、時間枠をスケジュール設定できます。スケジュールされた時間枠内で電源をオンまたは再起動すると、スケジュールされたプロビジョニングスキームの更新がマシンに適用されます。現在、Azureでは、ServiceOfferingMachineProfileおよび次のカスタムプロパティを更新できます:

  • StorageType
  • WBCDiskStorageType
  • IdentityDiskStorageType
  • LicenseType
  • DedicatedHostGroupId
  • PersistWBC
  • PersistOsDisk
  • PersistVm

注:

  • Azure環境では、管理対象ディスクを使用してカタログのStorageTypeWBCDiskStorageType、およびIdentityDiskStorageTypeのカスタムプロパティのみを更新できます。
  • Set-ProvVMUpdateTimeWindowを2回実行すると、最新のコマンドが有効になります。

以下を更新できます:

  • 単一のVM
  • プロビジョニングスキームIDに関連付けられている特定のVMまたはすべての既存のVMのリスト
  • プロビジョニングスキーム名(マシンカタログ名)に関連付けられている特定のVMまたはすべての既存のVMのリスト

プロビジョニングスキームに次の変更を加えた後、Azureの永続カタログのVMインスタンスが再作成されます:

  • MachineProfileを変更
  • LicenseTypeを削除
  • DedicatedHostGroupIdを削除

注:

既存マシンのOSディスクとそのすべてのデータはそのまま残り、新しい仮想マシンはディスクに接続されます。

既存のVMを更新する前に、以下を実行します:

  1. 既存のマシンの構成を確認します。例:

    Get-ProvScheme | select ProvisioningSchemeName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  2. プロビジョニングスキームを更新します。例:

    • 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-->
      
  3. VMの現在のプロパティが現在のプロビジョニングスキームと一致するかどうか、およびVMに保留中の更新アクションがあるかどうかを確認します。例:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

    特定のバージョンのマシンを見つけることもできます。例:

    Get-ProvVM -Filter "ProvisioningSchemeVersion -eq 1" | select VMName, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

既存のマシンの更新を次回の再起動時に適用するように要求するには、次の手順を実行します:

  1. 次のコマンドを実行して既存のマシンを更新し、次回の再起動時に更新を適用します。

    • すべての既存のマシンを更新するには、例:

       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は、スケジュールの期間に上限がないことを示します。
  2. スケジュール済みの更新があるマシンを見つけます。例:

    Get-ProvVM -Filter "ProvisioningSchemeUpdateAfter" | select VMName, ProvisioningSchemeUpdateAfter
    <!--NeedCopy-->
    
  3. マシンを再起動します。次回の電源投入時に、プロパティの変更が既存のマシンに適用されます。次のコマンドを使用して、更新されたステータスを確認できます。例:

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeVersion
    <!--NeedCopy-->
    

次回、スケジュールされた時間帯にVMが起動したとき、最新のプロビジョニング設定に更新するようにスケジュールします:

  1. 次のコマンドを実行します:

    • 開始時刻を現在時刻として更新をスケジュールするには

       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はオプションです。指定しない場合、更新はカタログ全体に対してスケジュールされます。
    • StartTimeInUTCの代わりにStartsNowを使用して、スケジュールの開始時刻が現在時刻であることを指定します。
    • DurationInMinutesはオプションです。デフォルトは120分です。負の数(-1など)は、スケジュールの時間枠に上限がないことを示します。
  2. 更新状況を確認します。

    Get-ProvVM | select VMName, ProvisioningSchemeUpdateRequested, ProvisioningSchemeUpdateUntil, ProvisioningSchemeVersion
    <!--NeedCopy-->
    
  3. VMの電源を入れます。スケジュールされた時間枠の後にマシンの電源をオンにした場合、構成の更新は適用されません。スケジュールされた時間枠内にマシンの電源を入れた場合、

    • マシンの電源がオフになっていて、

      • マシンの電源をオンにしない場合、構成の更新は適用されません
      • マシンの電源をオンにする場合、構成の更新は適用されます
    • マシンの電源がオンになっていて、

      • マシンを再起動しない場合、構成の更新は適用されません
      • マシンを再起動する場合、構成の更新は適用されます

構成の更新をキャンセルするには、以下の手順を実行します:

単一のVM、複数のVM、またはカタログ全体の構成の更新をキャンセルすることもできます。構成の更新をキャンセルするには:

  1. 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マシンカタログ内の個別のVMのプロパティを更新できるようになりました。ただし、更新はすぐには適用されません。更新を適用するには、PowerShellコマンドSet-ProvVMUpdateTimeWindowを使用して時間枠を設定する必要があります。

この実装により、マシンカタログ全体を更新することなく、個別のVMを効率的に管理できます。現在、この機能はAzure環境にのみ適用されます。

以下は、現在更新できるプロパティです:

  • CustomProperties
  • ServiceOffering
  • MachineProfile

この機能を使用することで、以下のことを実行できます:

VMのプロパティを更新する前に、以下を実行します:

  1. PowerShellウィンドウを開きます。
  2. asnp citrix*を実行し、Citrix固有のPowerShellモジュールをロードします。
  3. 既存のマシンカタログの構成を確認します。例:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    
  4. 更新を適用するVMの構成を確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

VMのプロパティを更新する

VM上のプロパティを更新するには、次の手順を実行します:

  1. 更新を適用するVMをオフにします。
  2. VMのプロパティを更新します。たとえば、カスタムプロパティのVMのストレージの種類(StorageType)を更新する場合は、次のコマンドを実行します:

    Set-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1 -CustomProperties "...<Property Name='StorageType' Value='Premium_LRS' />..."
    <!--NeedCopy-->
    

    マシンカタログ内の2台のVMのプロパティを同時に更新できます。例:

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

    注:

    更新はすぐには適用されません。

  3. 更新するように指定されたプロパティの一覧と構成バージョンを取得します。例:

    Get-ProvVMConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    Versionのプロパティ値と更新するプロパティ(この場合はStorageType)を確認します。

  4. 構成バージョンを確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersionのプロパティ値を確認します。更新はまだ適用されていません。VMはまだ古い構成のままです。

  5. スケジュールされた更新を要求します。例:

     Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -StartsNow -DurationInMinutes -1
     <!--NeedCopy-->
    

    スケジュールされた更新について詳しくは、「プロビジョニングされたマシンを現在のプロビジョニングスキームの状態に更新する」を参照してください。

    注:

    保留中のプロビジョニングスキームの更新も適用されます。

  6. 仮想マシンを再起動します。例:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  7. 構成バージョンを確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersionのプロパティ値を確認します。更新が適用されました。VMには新しい構成が適用されました。

  8. VMにさらに構成の更新を適用するには、VMをオフにして、手順を繰り返します。

マシンカタログが更新された後も、VM上で更新されたプロパティを保持する

VM上の更新されたプロパティを保持するには、次の手順を実行します:

  1. 更新を適用するVMをオフにします。
  2. マシンカタログを更新します。たとえば、VMのサイズ(ServiceOffering)とストレージの種類(StorageType)を更新する場合は、次のコマンドを実行します:

    Set-ProvScheme -ProvisioningSchemeName AzureCatalog -ServiceOffering Standard_E4_v3 -CustomProperties "...<Property Name='StorageType' Value='StandardSSD_LRS' />..."
    <!--NeedCopy-->
    
  3. マシンカタログの構成の詳細を取得します。例:

    Get-ProvScheme -ProvisioningSchemeName AzureCatalog
    <!--NeedCopy-->
    

    ProvisioningSchemeVersionが1つ増えます。VMのサイズとストレージの種類も更新されます。

  4. VMのプロパティを更新します。たとえば、マシンプロファイルを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-->
    

    注:

    マシンプロファイル入力にはタグがあり、別のVMサイズ(ServiceOffering)が指定されています。

  5. VM上の構成の更新をマシンカタログの更新とマージした後にVMのプロパティの一覧を取得します。例:

    Get-ProvVMConfigurationResultantSet -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    注:

    VM上の更新はすべて、マシンカタログ上で行われた更新を上書きします。

  6. VMのスケジュールされた更新を要求します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  7. 仮想マシンを再起動します。例:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    

    VMは、マシンプロファイルに基づいて更新されたVMサイズを維持します。マシンプロファイルで指定されたタグ値もVMに適用されます。ただし、ストレージの種類は最新のプロビジョニングスキームに基づきます。

  8. VMの構成バージョンを取得します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvisioningSchemeVersionProvVMConfigurationVersionには最新バージョンが表示されるようになりました。

VMに適用された構成の更新を元に戻す

  1. VMに更新を適用した後、VMをオフにします。
  2. 次のコマンドを実行して、VMに適用されている更新を削除します。例:

    Set-ProvVM -RevertToProvSchemeConfiguration -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    
  3. VMのスケジュールされた更新を要求します。例:

    Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName AzureCatalog -VMName machine1 -StartsNow -DurationInMinutes -1
    <!--NeedCopy-->
    
  4. 仮想マシンを再起動します。例:

    New-BrokerHostingPowerAction -MachineName machine1 -Action TurnOn
    <!--NeedCopy-->
    
  5. VMの構成バージョンを確認します。例:

    Get-ProvVM -ProvisioningSchemeName AzureCatalog -VMName machine1
    <!--NeedCopy-->
    

    ProvVMConfigurationVersionの値は、マシンカタログの構成バージョンを表示するようになりました。

Azure VM、スナップショット、OSディスク、およびギャラリーイメージ定義の情報の取得

OSディスクと種類、スナップショット、ギャラリーイメージ定義など、Azure VMの情報を表示できます。この情報は、マシンカタログが割り当てられている場合にマスターイメージ上のリソースに関して表示されます。この機能を使用して、LinuxまたはWindowsイメージを表示および選択します。PowerShellプロパティTemplateIsWindowsTemplateAdditionDatafieldパラメーターに追加されました。このフィールドには、Azure固有の情報(VMタイプ、OSディスク、ギャラリーイメージ情報、OSの種類情報)が含まれます。TemplateIsWindowsTemplateTrueに設定することで、OSの種類がWindowsであることを示します。TemplateIsWindowsTemplateFalseに設定することで、OSの種類がLinuxであることを示します。

ヒント:

PowerShellプロパティTemplateIsWindowsTemplateによって表示される情報は、Azure APIから取得されます。このフィールドが空の場合があります。たとえば、OSの種類をスナップショットから取得できないため、データディスクからのスナップショットにはTemplateIsWindowsTemplateフィールドが含まれません。

たとえば、PowerShellを使用してWindows OSの種類のAzure VMパラメーターAdditionDataTrueに設定します:

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

MCSによって作成されたリソースの特定

以下は、MCSがリソースに追加するタグです。表のタグは、「”キー”:”値”」として表示されます。

リソース名 タグ
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”
OSディスク “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”

注:

MCSによって作成されたリソースとして識別するためにCitrixResourceタグが追加されている場合、VMはCitrixインベントリに表示されません。タグを削除するか名前を変更すると、表示できるようになります。

追加情報