PowerShell を使用した Windows Virtual Desktop のホスト プールの作成

重要

このコンテンツは、Azure Resource Manager Windows Virtual Desktop オブジェクトを含む Windows Virtual Desktop に適用されます。 Azure Resource Manager オブジェクトなしで Windows Virtual Desktop (classic) を使用している場合は、この記事を参照してください。

ホスト プールは、Windows Virtual Desktop テナント環境内にある 1 つまたは複数の同一の仮想マシンをコレクションとしてまとめたものです。 各ホスト プールは、複数の RemoteApp グループ、1 つのデスクトップ アプリ グループ、および複数のセッション ホストに関連付けることができます。

前提条件

この記事では、「PowerShell モジュールを設定する」の手順に従っていることを前提としています。

PowerShell クライアントを使用してホスト プールを作成する

次のコマンドレットを実行して Windows Virtual Desktop 環境にサインインします。

New-AzWvdHostPool -ResourceGroupName <resourcegroupname> -Name <hostpoolname> -WorkspaceName <workspacename> -HostPoolType <Pooled|Personal> -LoadBalancerType <BreadthFirst|DepthFirst|Persistent> -Location <region> -DesktopAppGroupName <appgroupname>

このコマンドレットにより、ホスト プール、ワークスペース、およびデスクトップ アプリ グループが作成されます。 さらに、デスクトップ アプリ グループがワークスペースに登録されます。 このコマンドレットを使用してワークスペースを作成するか、既存のワークスペースを使用することができます。

次のコマンドレットを実行して、セッション ホストがホスト プールに参加することを承認する登録トークンを作成し、それをローカル コンピューター上の新しいファイルに保存します。 -ExpirationHours パラメーターを使用して、登録トークンが有効である時間の長さを指定できます。

注意

トークンの有効期限は 1 時間以上、1 か月以内にする必要があります。 この制限を超えて -ExpirationTime を設定した場合、コマンドレットではトークンが作成されません。

New-AzWvdRegistrationInfo -ResourceGroupName <resourcegroupname> -HostPoolName <hostpoolname> -ExpirationTime $((get-date).ToUniversalTime().AddDays(1).ToString('yyyy-MM-ddTHH:mm:ss.fffffffZ'))

たとえば、2 時間以内に有効期限が切れるトークンを作成する場合は、次のコマンドレットを実行します。

New-AzWvdRegistrationInfo -ResourceGroupName <resourcegroupname> -HostPoolName <hostpoolname> -ExpirationTime $((get-date).ToUniversalTime().AddHours(2).ToString('yyyy-MM-ddTHH:mm:ss.fffffffZ'))

その後、このコマンドレットを実行して、Azure Active Directory ユーザーをホスト プールの既定のデスクトップ アプリ グループに追加します。

New-AzRoleAssignment -SignInName <userupn> -RoleDefinitionName "Desktop Virtualization User" -ResourceName <hostpoolname+"-DAG"> -ResourceGroupName <resourcegroupname> -ResourceType 'Microsoft.DesktopVirtualization/applicationGroups'

次のコマンドレットを実行して、Azure Active Directory ユーザー グループをホスト プールの既定のデスクトップ アプリ グループに追加します。

New-AzRoleAssignment -ObjectId <usergroupobjectid> -RoleDefinitionName "Desktop Virtualization User" -ResourceName <hostpoolname+"-DAG"> -ResourceGroupName <resourcegroupname> -ResourceType 'Microsoft.DesktopVirtualization/applicationGroups'

次のコマンドレットを実行して、登録トークンを変数にエクスポートします。これは後で Windows Virtual Desktop ホスト プールに仮想マシンを登録するときに使用します。

$token = Get-AzWvdRegistrationInfo -ResourceGroupName <resourcegroupname> -HostPoolName <hostpoolname>

ホスト プールの仮想マシンを作成する

ここで、Windows Virtual Desktop ホスト プールに参加できる Azure 仮想マシンを作成できます。

仮想マシンは複数の方法で作成できます。

注意

ホスト OS として Windows 7 を使用して仮想マシンをデプロイしている場合、作成と展開のプロセスは若干異なります。 詳細については、「Windows Virtual Desktop で Windows 7 仮想マシンをデプロイする」を参照してください。

セッション ホスト仮想マシンを作成したら、Windows ライセンスをセッション ホスト VM に適用すると、ライセンス料をさらに支払うことなく、Windows または Windows Server の仮想マシンが実行されます。

Windows Virtual Desktop エージェントのインストール用に仮想マシンを準備する

Windows Virtual Desktop エージェントをインストールして仮想マシンを Windows Virtual Desktop ホスト プールに登録する前に、次の操作を行って仮想マシンを準備する必要があります。

  • マシンをドメインに参加させる必要があります。 これにより、受信 Windows Virtual Desktop ユーザーを Azure Active Directory アカウントから Active Directory アカウントにマップでき、仮想マシンへのアクセスを正常に許可できます。
  • 仮想マシンで Windows Server OS を実行している場合は、リモート デスクトップ セッション ホスト (RDSH) ロールをインストールする必要があります。 RDSH ロールでは、Windows Virtual Desktop エージェントを正常にインストールできます。

正常にドメイン参加するには、各仮想マシン上で次の操作を実行します。

  1. 仮想マシンの作成時に指定した資格情報を使用して仮想マシンに接続します。

  2. 仮想マシン上で、 [コントロール パネル] を起動し、 [システム] を選択します。

  3. [コンピューター名] を選択し、 [設定の変更] を選択してから [変更] を選択します

  4. [ドメイン] を選択し、仮想ネットワーク上の Active Directory ドメインを入力します。

  5. ドメインに参加しているマシンに対する権限を持つドメイン アカウントで認証します。

    注意

    ご使用の VM を Azure Active Directory Domain Services (Azure AD DS) 環境へ参加させる場合は、ドメイン参加ユーザーが AAD DC Administrators グループのメンバーでもあることを確認します。

重要

Windows インストーラーを無効にするポリシーや構成は、有効にしないことをお勧めします。 Windows インストーラーを無効にすると、サービスでセッション ホストにエージェントの更新をインストールできなくなり、セッション ホストが正常に機能しなくなります。

Windows Virtual Desktop ホスト プールに仮想マシンを登録する

Windows Virtual Desktop ホスト プールへの仮想マシンの登録は、Windows Virtual Desktop エージェントのインストールと同じくらい簡単です。

Windows Virtual Desktop エージェントを登録するには、各仮想マシン上で次の操作を行います。

  1. 仮想マシンの作成時に指定した資格情報を使用して仮想マシンに接続します。
  2. Windows Virtual Desktop エージェントをダウンロードしてインストールします。
    • Windows Virtual Desktop エージェントをダウンロードします。
    • インストーラーを実行します。 インストーラーから登録トークンを要求されたら、Get-AzWvdRegistrationInfo コマンドレットから取得した値を入力します。
  3. Windows Virtual Desktop エージェント ブートローダーをダウンロードしてインストールします。

重要

Azure で Windows Virtual Desktop 環境のセキュリティを保護できるようにするには、ご利用の VM 上の受信ポート 3389 を開かないことをお勧めします。 Windows Virtual Desktop では、ユーザーがホスト プールの VM にアクセスするために、受信ポート 3389 を開く必要はありません。 トラブルシューティングの目的でポート 3389 を開く必要がある場合は、Just-In-Time VM アクセスを使用することをお勧めします。 また、パブリック IP に VM を割り当てないことをお勧めします。

エージェントを更新する

次のいずれかの状況に該当する場合は、エージェントを更新する必要があります。

  • 以前に登録されたセッション ホストを新しいホスト プールに移行する必要がある
  • 更新後にセッション ホストがホスト プールに表示されない

エージェントを更新するには、次の操作を実行します。

  1. 管理者として VM にサインインします。

  2. [サービス] に移動して、Rdagent プロセス、Remote Desktop Agent Loader プロセスの順に停止します。

  3. 次に、エージェント MSI とブートローダー MSI を見つけます。 これらは、C:\DeployAgent フォルダー、またはインストール時に保存した場所のいずれかに配置されています。

  4. 次のファイルを見つけて、アンインストールします。

    • Microsoft.RDInfra.RDAgent.Installer-x64-verx.x.x
    • Microsoft.RDInfra.RDAgentBootLoader.Installer-x64

    これらのファイルをアンインストールするには、各ファイル名を右クリックし、 [アンインストール] を選択します。

  5. 必要に応じて、次のレジストリ設定を削除することもできます。

    • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RDInfraAgent
    • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RDAgentBootLoader
  6. これらの項目をアンインストールすると、古いホスト プールとの関連付けがすべて削除されます。 このホストをサービスに再登録する場合は、「Windows Virtual Desktop ホスト プールに仮想マシンを登録する」の手順に従います。

次のステップ

これでホスト プールが作成されたので、RemoteApp を設定できます。 Windows Virtual Desktop 内でアプリを管理する方法に関する詳細については、アプリ グループの管理に関するチュートリアルを参照してください。