Windows Virtual Desktop (classic) #12 ワークスペースを削除する

この記事のWVDは”Windows Virtual Desktop Fall 2019 Release”が対象です。最新の”Spring 2020 Relase”ではありません。Spring 2020 はこちら

久々に Windows Virtual Desktop Fall 2019 Release について記事を書きます。 Fall 2019 Release とは一番最初の WVD のリリースでして、Microsoft Docs では “Windows Virtual Desktop (クラシック)” として、今現在も各種情報は提供されています。 このクラシックから Spring 2020 Relase ( ARM 版などとも言われますが)への移行も可能なようでその手順等も Microsoft Docs で公開されています(やったことはない)。 今回はその移行の話ということではなく、削除の話となります。

支障は無いのでずっと放置していたのですが、自分自身の Windows Virtual Desktop に接続すると Fall 2019 のワークスペースが表示されます。以下のスクリーンショットの赤枠部分で bigriver というワークスペースがWVD(クラシック)として表示されます 。 これを削除するというのが今回の話となります。

Azure Poral 上で確認できるリソース、Virtual Machine など、すべて削除済みです。 ですので削除のために必要となりそうなのは構築時に実施した Azure AD 関連の設定と Host pool やアプリケーショングループの構成情報となりそうです。 ただ、クラシック向けの Microsoft Docs には削除方法についての項目が見つかりません。  ということで Try & Error な感じで削除を進めていきます。

Host Pool は Azure Portal から作成し、すでに削除済みであることは Azure Portal か確認済みです。 次に アプリケーショングループの残骸が残っているかどうか確認します。

Power Shell から Tenant に接続します。 マニュアルはこちら

Tenant 情報を確認します。

Host Pool と アプリケーショングループの残骸が残っていることが確認できます。 残骸と表現したのは Azure の Virtual Machine 等の情報は Azure Portal 側で手動で削除しつつ、Windows Virtual Desktop 側では削除しておらず構成情報だけが残っているということです。

Microsoft Docs の クラシック向けの PowerShell のマニュアルページにうまくアクセス出来ないので(以下の Docs の左側の Reference のリンクが機能しないということです。)、適当に削除を試みていきます。 

まずは アプリケーショングループの削除から。 ”Remove-RdsAppGroup” で削除できました。 以下は Host pool:WVD2020 のものです。 

残りもどんどん削除していきます。 ただ、最後のものが失敗しました。 ”AppGroupNotFound,Microsoft.RDInfra.RDPowershell.AppGroup.RemoveRdsAppGroup” とのメッセージで、削除対象として指定した アプリケーショングループが見つからないとのこと。

単純にタイプミスでした。”Desktop Applicaion Group”と Application の “t”が抜けていました。 手打ちを止めてコピーペーストで再実行します。問題なく成功しました。

この時点でフィードを更新してみます。 以下は、更新前の状態。

フィードを更新中。

クラシックのワークスペース “bigriver” は残っていますが、接続先のリソースとしてのプリケーショングループはなくなり、メッセージとして “このワークスペースにアクセスできなくなっています。 このワークスペースは削除できます。または、詳細についてはテクニカルサポートにお問い合わせください” とのこと。

次に Teant を削除しようと “Remove-RdsTenant” を実行しましたが失敗です。 “TenantName: ‘bigriver’ cannot be removed because there are HostPools associated with it. Remove the HostPools first by running Remove-RdsHostPool cmdlet and then retry.” とのことなので、 Host Pool の構成情報をまずは削除してくれということです。

Host Pool の構成情報の削除を進めます。  “Get-RdsHostPool” で存在する Host Pool を確認します。

“Remove-RdsHostPool” で削除しようとしますが失敗です。メッセージ “The HostPoolName WVD2020 could not be deleted because it still has SessionHosts associated with it. Please remove all SessionHosts from the SessionHostPool and retry the operation.” 。 先に “SessionHostsassociated” を解除してくれとのこと。

“Get-RdsSessionHost” から host pool に存在する Session Host を確認し、”Remove-RdsSessionHost” で削除します。 なお、Session Host の実体となる Azure Virutal Machine は削除済みです。 Last Update Timeが 2020/4/12 となっているので約1年前です。 

同じ要領で他もきれいに削除しました。 “Get-RdsHostPool” で確認し、Host Pool はすべて削除できたことが確認できます。

残すは ワークスペースの削除となります。 そういえば ARM 版では ワークスペースとは言っていますが、クラシックでは Tenant が呼称かもしれません。とりあえず削除していきます。

“Remove-RdsTenant” コマンド、今回は成功です。 “Get-RdsTenant” でも削除されたことを確認出来ました。

この時点で再度フィードを更新します。まだ、ワークスペース (Tenat) として “bigriver” が見えています。

”削除”ボタンを押してみます。 クラシックのワークスペース(Tenant)はなくなりました。

念のため、登録を解除し、再度フィードを取得してみます。 登録から Azure AD のアカウントでサインインします。

無事、クラシックのワークスペース(Teant)は出てこなくなりました。

これで当初の目的は達成です。 本当は Azure AD でのサービスプリンシパルやロールの設定、登録したエンタープライズアプリケーションの解除も実施し、完全にきれいにすることが望ましいですが、今回はここまでとします。

今回の作業、Microsoft Docs にはきちんと手順がのっておらず試行錯誤して進めました。 需要があれば今回の経験から”削除の流れ”や”削除の手順”をまとめてもよかったのですがクラシックを利用している方はほとんどいないはずなのでまとめることはしません。 

以上