Windows Virtual Desktop 用のマスターイメージを作成してみる!

Windows Virtual Desktop 用のマスターイメージ作成にあたり、最低限やっておきたい事を記載したい思います。


全体の流れ

Step1:Windows 10 日本語化とタイムゾーンの変更 + Windows Update
Step2:FSLogixのインストール
Step3:RDP系レジストリ設定
Step4:デスクトップ系レジストリ設定
Step5:Office 365 ProPlusのインストール
Step6:初期化とイメージ化

マスターイメージ用として、MarketplaceからWindows 10 Multi-session VMを作成
[Windows 10 Enterprise for Virtual Desktops Preview, Version 1909]
※以下手順は、すべてこのVM上にて実施

O365インストール済みのVMもある
[Microsoft Windows 10 + Office 365 ProPlus]


Step1:Windows 10 日本語化とタイムゾーンの変更

最後に[Windows Update]を実施

【Host Poolの作成に失敗する場合】





Step2:FSLogixのインストール

FSLogixの2大プロファイル機能に「Profile Containers」「Cloud Cache」があります。
プロファイルの保存先として冗長構成(ストレージ移行にも使える)が必要な場合、もしくは保存先として[Blob]を選択したい場合は、「Cloud Cache」を選択して下さい。

設定する方法は2つあります。
「レジストリから設定する方法」「GPOから設定する方法」 ※GPOオススメ

※機能詳細については「ユーザープロファイル問題を解決する「FSLogix」とは?

FSLogixをダウンロード

FSLogixAppsJavaRuleEditorSetup.exe = Java Redirection
FSLogixAppsRuleEditorSetup.exe = App Masking
FSLogixAppsSetup.exe = Cloud Cache / Profile Container / Office 365 Container

【GPO設定の準備】
[fslogix.adml]を「C:\Windows\PolicyDefinitions\en-US」にコピー
[fslogix.admx]を「C:\Windows\PolicyDefinitions」にコピー

ファイル名を指定して実行[gpedit.msc]

【Profile Containers】の場合

[Enabled][Delete local profile when FSLogix Profile should apply]を有効化

[VHD Location]にプロファイルの保存先を記載
例:優先度1=ファイルサーバー(Active)、優先度2=ファイルサーバー(Passive)
\\10.0.0.4\Share01;\\10.0.0.4\Share02;

【Cloud Cache】の場合

[Enabled][Delete local profile when FSLogix Profile should apply]を有効化

[Clear local cache on logoff]を有効化
[Cloud Cache Locations]にプロファイルの保存先を記載

例:優先度1=ファイルサーバー(Active)、優先度2=Page Blob(Active)
type=smb,connectionString=\\10.0.0.4\ProCon;type=azure,connectionString=
“DefaultEndpointsProtocol=https;AccountName=userpro;AccountKey=R5iA~YgkQ==;
EndpointSuffix=core.windows.net”;

【気になるところ】
・Dynamic VHD(X) allocation:Enable or Disable ※Thin Provisioning
・Size In MBs:500MB~1TB ※Quota(Default 30GB)
・Vitual Disk Type:VHD or VHDX
・VHDX Sector Size:4KB or 512B

ファイルサーバーを確認すると、VHD(ユーザープロファイル)が作成されています。

ちなみに、下記のように共有フォルダを設定すると、他ユーザーのプロファイルを隠せます。

VDIを確認すると、VHD(ユーザープロファイル)がマウントされています。

Page Blobを確認すると、VHD(ユーザープロファイル)が作成されています。

[Blobアクセスキーの隠蔽方法]

C:\Program Files\FSLogix\Apps\frx.exe add-secure-key -key blobkey -value Rl~fg==
※”blobkey”(表示名)という名称で、アクセスキーを登録します。

type=azure,connectionString=”DefaultEndpointsProtocol=https;AccountName=
userpro;AccountKey=|fslogix/blobkey|;EndpointSuffix=core.windows.net”;
※”AccountKey”部分を、登録した名称に置き換えます。





Step3:RDP系レジストリ設定

RDPにまつわる、タイムアウト値をマスターイメージ作成のタイミングで行います。
※PowerShell(管理者)で実施

・RemoteAppLogoffTimeLimit:RemoteApp Client終了後から、自動ログオフまでの時間
・fResetBroken:タイムアウトにより、RDP切断されるところを、ログオフに変更する
・MaxConnectionTime:RDP接続可能時間。超過するとログオフします
・MaxDisconnectionTime:RDP切断後から、自動ログオフまでの時間
・MaxIdleTime:無操作許容時間。超過するとログオフします

※指定する時間は環境に合わせてください。

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v RemoteAppLogoffTimeLimit /t REG_DWORD /d 0 /f

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v fResetBroken /t REG_DWORD /d 1 /f

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v MaxConnectionTime /t REG_DWORD /d 10800000 /f

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v MaxDisconnectionTime /t REG_DWORD /d 5000 /f

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v MaxIdleTime /t REG_DWORD /d 7200000 /f

RDP 帯域の削減に効果が見込めそうな設定

[コンピューターの構成]ー[管理用テンプレート]ー[Windowsコンポーネント]ー[リモートデスクトップサービス]ー[リモートデスクトップセッションホスト]ー[リモートセッション環境]


Step4:デスクトップ系レジストリ設定

こちらの方法をオススメします。
Windows Virtual Desktop 最適化ツールを試す!

デスクトップにまつわる、タイムアウト値をマスターイメージ作成のタイミングで行います。
※PowerShell(管理者)で実施

・fEnableTimeZoneRedirection:RDSデスクトップにクライアントのローカルタイムを表示
・StoragePolicy:ストレージセンサーを無効にする
・NoAutoUpdate:Windows Updateの自動更新を無効にする

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services” /v fEnableTimeZoneRedirection /t REG_DWORD /d 1 /f

reg add “HKCU\Software\Microsoft\Windows\CurrentVersion\StorageSense\
Parameters\StoragePolicy” /v 01 /t REG_DWORD /d 0 /f

reg add “HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU” /v NoAutoUpdate /t REG_DWORD /d 1 /f


Step5:Office 365 ProPlusのインストール

先ず、Office 展開ツールをダウンロードします。※必要なのは、「Setup.exe」のみ

下記、内容を「configuration.xml」として保存

<Configuration>
<Add OfficeClientEdition=”64″ Channel=”Broad”>
<Product ID=”O365ProPlusRetail”>
<Language ID=”ja-jp” />
<ExcludeApp ID=”Access” />
<ExcludeApp ID=”Groove” />
<ExcludeApp ID=”Lync” />
<ExcludeApp ID=”OneDrive” />
<ExcludeApp ID=”OneNote” />
<ExcludeApp ID=”Publisher” />
</Product>
</Add>
<Property Name=”SharedComputerLicensing” Value=”1″ />
</Configuration>

先程の「Setup.exe」にて「configuration.xml」をPowerShelldで実行します。

setup.exe /configure C:\<path>/configuration.xml

PowerPointの場合、[ファイル]ー[アカウント]ー[PowerPointのバージョン情報]
[共有コンピューターのライセンス認証]と表示されていれば大丈夫です!





Step6:初期化とイメージ化

こちらの方法をオススメします!
マスターイメージ管理サービス! 共有イメージギャラリー を試す!

今後のマスターイメージ更新のために、ここでスナップショットの取得をおすすめします。

必要な設定を終えたら、最後に[sysprep.exe]を実行します。

[キャプチャ]を選択し、イメージを作成します。

マスターイメージ完成!

Host Pool 作成時に、マスターイメージを指定すればOK

お疲れ様でした~!