重要
Azure Virtual Desktop クラシックは、2026 年 9 月 30 日に廃止されます。 クラシック リソースへの接続は、廃止後にブロックされます。
中断を防ぐために、2026 年 9 月 30 日より前に残りのクラシック リソースを Azure Resource Manager ベースのホスト プールに移行してください。
移行モジュール ツールを使用すると、Azure Virtual Desktop (クラシック) から Azure Virtual Desktop に organization を自動的に移行できます。 この記事では、ツールの使用方法について説明します。
前提条件
移行モジュールを使用する前に、次の準備をしてください:
新しい Azure サービス オブジェクトを作成する Azure サブスクリプション。
サブスクリプションで Azure オブジェクトを作成するには共同作成者ロールが割り当てられ、アプリケーション グループにユーザーを割り当てるにはユーザー アクセス管理者ロールが割り当てられている必要があります。
移行している RDS テナントまたは特定のホスト プールに対する少なくともリモート デスクトップ サービス (RDS) 共同作成者のアクセス許可。
Microsoft.RdInfra.RDPowershell PowerShell モジュールの最新バージョン。
最新バージョンの Az.DesktopVirtualization PowerShell モジュール。
Az.Resources PowerShell モジュールの最新バージョン。
コンピューターに移行モジュールをインストールします。
PowerShell または PowerShell ISE を使用して、この記事に記載されているスクリプトを実行します。 Microsoft.RdInfra.RDPowershell モジュールが PowerShell Core では機能しません。
重要
移行では、米国の地域にのみサービス オブジェクトが作成されます。 サービス オブジェクトを別の地域に移行しようとしても、うまくいきません。 また、Azure Virtual Desktop (クラシック) デプロイに 500 を超えるアプリケーション グループがある場合は、移行できません。 移行できるのは、Microsoft Entra テナント内のアプリケーション グループの数を減らすために環境を再構築した場合のみです。
PowerShell 環境の準備
まず、移行プロセス用に PowerShell 環境を準備する必要があります。
PowerShell 環境を準備するには:
開始する前に、次のコマンドレットを実行して、最新バージョンの Az.Desktop Virtualization モジュールと Az.Resources モジュールがあることを確認します。
Get-Module Az.Resources Get-Module Az.DesktopVirtualization https://www.powershellgallery.com/packages/Az.DesktopVirtualization/ https://www.powershellgallery.com/packages/Az.Resources/そうでない場合は、次のコマンドレットを実行してモジュールをインストールしてインポートする必要があります。
Install-module Az.Resources Import-module Az.Resources Install-module Az.DesktopVirtualization Import-module Az.DesktopVirtualization次に、次のコマンドレットを実行して、現在の RDInfra PowerShell モジュールをアンインストールします。
Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersionsその後、次のコマンドレットを使用して RDPowershell モジュールをインストールします。
Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force Import-module Microsoft.RDInfra.RDPowershellすべてのインストールが完了したら、次のコマンドレットを実行して、正しいバージョンのモジュールがあることを確認します。
Get-Module Microsoft.RDInfra.RDPowershell次に、次のコマンドレットを実行して、移行モジュールをインストールしてインポートしてみましょう。
Install-Module -Name PackageManagement -Repository PSGallery -Force Install-Module -Name PowerShellGet -Repository PSGallery -Force # Then restart shell Install-Module -Name Microsoft.RdInfra.RDPowershell.Migration -AllowClobber Import-Module <Full path to the location of the migration module>\Microsoft.RdInfra.RDPowershell.Migration.psd1完了したら、PowerShell ウィンドウで Azure Virtual Desktop (クラシック) にサインインします。
Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.comAzure Resource Manager にサインイン:
Login-AzAccount複数のサブスクリプションがある場合は、次のコマンドレットを使用してリソースを移行するサブスクリプションを選択します。
Select-AzSubscription -Subscriptionid <subID>選択したサブスクリプションのリソース プロバイダーを Azure portal に登録します。
最後に、プロバイダーを登録する必要があります。 これを行うには、次の 2 つの方法があります。
PowerShell を使用する場合は、次のコマンドレットを実行します。
Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualizationAzure portal を使用する場合は、Azure portal を開いてサインインし、[サブスクリプション] に移動して、使用するサブスクリプションの名前を選択します。 その後、 リソース プロバイダー>Microsoft.DesktopVirtualization に移動し、[ 再登録] を選択します。 現時点では UI には何の変更もありませんが、PowerShell 環境でモジュールを実行する準備ができているはずです。
仮想デスクトップ (クラシック) リソースAzure Azure Resource Manager への移行
PowerShell 環境の準備が整ったので、移行プロセスを開始できます。
Azure 仮想デスクトップ (クラシック) リソースを Azure Resource Manager に移行するには、次の手順を実行します。
移行する前に、既存のクラシック リソースが新しい Azure Resource Manager リソースにマップされる方法を理解したい場合は、次のコマンドレットを実行します。
Get-RdsHostPoolMigrationMappingGet-RdsHostPoolMigrationMapping を使用すると、リソースの移動先をマップする CSV ファイルを作成できます。 たとえば、テナントの名前が "Contoso" で、マッピング ファイルを "contosouser" ファイルに格納する場合は、次のようなコマンドレットを実行します。
Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'次に、 Start-RdsHostPoolMigration コマンドレットを実行して、単一のホスト プールを移行するか、テナント内のすべてのホスト プールを移行するかを選択します。
例:
Start-RdsHostPoolMigration -Tenant Contoso -Location WestUSリソースを特定のホスト プールに移行する場合は、ホスト プール名を含めます。 たとえば、"Office" という名前のホスト プールを移動する場合は、次のようなコマンドを実行します。
Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments $false -Location EastUSワークスペース名を指定しない場合、モジュールはテナント名に基づいて自動的にワークスペースを作成します。 ただし、特定のワークスペースを使用する場合は、そのリソース ID を次のように入力できます。
Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments -Location EastUS -Workspace <Resource ID of workspacename>特定のワークスペースを使用するが、そのリソース ID がわからない場合は、次のコマンドレットを実行します。
Get-AzWvdWorkspace -WorkspaceName <workspace> -ResourceGroupName <resource group> |flまた、既存のユーザー割り当てのユーザー割り当てモードを指定する必要もあります。
- [コピー] を使用して、古いアプリケーション グループからAzure Resource Managerアプリケーション グループにすべてのユーザー割り当てをコピーします。 ユーザーは、クライアントの両方のバージョンのフィードを表示できます。
- ユーザーの割り当てを変更しない場合は、[ なし ] を使用します。 後で、Azure portal、PowerShell、または API を使用して、アプリケーション グループにユーザーまたはユーザー グループを割り当てることができます。 ユーザーは、Azure Virtual Desktop (クラシック) クライアントを使用してのみフィードを表示できます。
サブスクリプションごとにコピーできるユーザー割り当ては 2,000 個のみであるため、制限はサブスクリプションに既にある割り当ての数によって異なります。 モジュールは、すでにある割り当ての数に基づいて制限を計算します。 コピーするのに十分な割り当てがない場合は、次のエラー メッセージが表示されます。"ユーザーの割り当てをコピーするのに十分なロール割り当てクォータがありません。 -CopyUserAssignments スイッチなしでコマンドを再実行して移行してください。"
コマンドを実行した後、モジュールがサービス オブジェクトを作成するまでに最大 15 分かかります。 ユーザーの割り当てをコピーまたは移動した場合、モジュールがすべての設定を完了するまでにかかる時間が長くなります。
Start-RdsHostPoolMigration コマンドレットが完了すると、次の内容が表示されます。
指定したテナントまたはホスト プールの Azure サービス オブジェクト。
2 つの新しいリソース グループ:
ワークスペースを含む "テナント名" と呼ばれるリソース グループ。
ホスト プールとデスクトップ アプリケーション グループを含む "Tenantname_originalHostPoolName" と呼ばれるリソース グループ。
新しく作成したアプリケーション グループに公開したすべてのユーザー。
仮想マシンは、移行プロセス中のユーザーのダウンタイムを回避するために、既存のホスト プールと新しいホスト プールの両方で使用できます。 これにより、ユーザーは同じユーザー セッションに接続できます。
これらの新しい Azure サービス オブジェクトは Azure Resource Manager オブジェクトであるため、モジュールはそれらにロール ベースのAccess Control (RBAC) アクセス許可や診断設定を設定することはできません。 そのため、これらのオブジェクトの RBAC アクセス許可と設定を手動で更新する必要があります。
モジュールが最初のユーザー接続を検証したら、必要に応じて、アプリケーション グループをより多くのユーザーまたはユーザー グループに公開することもできます。
注:
移行後、ユーザーにアクセス許可を割り当てた後にアプリケーション グループを別のリソース グループに移動すると、すべての RBAC ロールが削除されます。 ユーザーの RBAC アクセス許可をもう一度割り当て直す必要があります。
すべての Azure Virtual Desktop (クラシック) サービス オブジェクトを削除する場合は、Complete-RdsHostPoolMigration を実行して移行プロセスを完了します。 このコマンドレットは、すべての Azure Virtual Desktop (クラシック) オブジェクトを削除し、新しい Azure オブジェクトのみを残します。 ユーザーは、クライアントで新しく作成されたアプリケーション グループのフィードのみを表示できます。 このコマンドの完了後、Azure Virtual Desktop (クラシック) テナントを安全に削除してプロセスを完了できます。
例:
Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS特定のホスト プールを完成させる場合は、コマンドレットにホスト プール名を含めることができます。 たとえば、"Office" という名前のホスト プールを完了する場合は、次のようなコマンドを使用します。
Complete-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUSこれにより、Azure Virtual Desktop (クラシック) によって作成されたすべてのサービス オブジェクトが削除されます。 新しい Azure オブジェクトのみが残り、ユーザーはクライアントで新しく作成されたアプリケーション グループのフィードのみを表示できます。 移行の完了が完了したら、Azure Virtual Desktop (クラシック) でテナントを明示的に削除する必要があります。
移行の考えが変わっていて、プロセスを元に戻す場合は、 Revert-RdsHostPoolMigration コマンドレットを実行します。
例:
Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS特定のホスト プールを元に戻す場合は、コマンドにホスト プール名を含めることができます。 たとえば、"Office" という名前のホスト プールを元に戻す場合は、次のように入力します。
Revert-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUSこのコマンドレットは、新しく作成されたすべての Azure サービス オブジェクトを削除します。 ユーザーには、クライアント内の Azure Virtual Desktop (クラシック) オブジェクトのフィードのみが表示されます。
ただし、モジュールが作成したワークスペースやそれに関連付けられているリソース グループは、コマンドレットによって削除されることはありません。 これらのアイテムを削除するには、手動で削除する必要があります。
Azure Virtual Desktop (クラシック) サービス オブジェクトをまだ削除したくないが、移行をテストする場合は、Set-RdsHostPoolHidden を実行できます。
例:
Set-RdsHostPoolHidden -Tenant Contoso -Hostpool Office -Hidden $true -Location WestUS状態を "true" に設定すると、Azure Virtual Desktop (クラシック) リソースが非表示になります。 "false" に設定すると、リソースがユーザーに表示されます。
-Hostpool パラメーターは省略可能です。 非表示にする特定の Azure Virtual Desktop (クラシック) ホスト プールがある場合は、このパラメーターを使用できます。
このコマンドレットは、Azure Virtual Desktop (クラシック) ユーザー フィードとサービス オブジェクトを削除するのではなく、非表示にします。 ただし、これは通常、テストにのみ使用され、移行の完了としてカウントされません。 移行を完了するには、 Complete-RdsHostPoolMigration コマンドを実行する必要があります。 それ以外の場合は、 Revert-RdsHostPoolMigration を実行してデプロイを元に戻します。
自動移行のトラブルシューティング
このセクションでは、移行モジュールでよく発生する問題を解決する方法について説明します。
テナントにアクセスできない
まず、次の 2 つのことを試します。
- 管理者アカウントに、テナントにアクセスするために必要なアクセス許可があることを確認します。
- テナントで Get-RdsTenant を実行してみてください。
これら 2 つの問題が解決する場合は、 Set-RdsMigrationContext コマンドレットを実行して、移行の RDS コンテキストと ADAL コンテキストを設定してみてください。
Add-RdsAccount コマンドレットを実行して、RDS コンテキストを作成します。
グローバル変数 $rdMgmtContextで RDS コンテキストを見つけます。
グローバル変数 $AdalContextで ADAL コンテキストを見つけます。
以下の形式で見つけた変数で Set-RdsMigrationContext を実行します。
Set-RdsMigrationContext -RdsContext <rdscontext> -AdalContext <adalcontext>
次の手順
代わりに手動でデプロイを移行する方法については、「 Azure Virtual Desktop (クラシック) からの手動移行」を参照してください。
移行したら、チュートリアルを確認して Azure Virtual Desktop のしくみを理解してください。 高度な管理機能については、「 既存のホスト プールを拡張する 」と「 RDP プロパティのカスタマイズ」を参照してください。
サービス オブジェクトの詳細については、「Azure 仮想デスクトップ環境」をチェックしてください。