Azure Virtual Desktop 用のマスターイメージ作成にあたり、最低限やっておきたい事を記載したい思います。
マスターイメージの作成が、とても簡単になりました!
「AVD カスタム イメージ テンプレートを試す!」
全体の流れ
Step1:Windows 10 日本語化とタイムゾーンの変更 + Windows Update
Step2:FSLogixのインストール
Step3:RDP系レジストリ設定
Step4:デスクトップ系レジストリ設定
Step5:Microsoft 365 Appsインストール
Step6:初期化とイメージ化
マスターイメージ用として、MarketplaceからWindows 10 Multi-session VMを作成
[Windows 10 Enterprise for Virtual Desktops Preview, Version 1909]
※以下手順は、すべてこのVM上にて実施
Office+Teamsインストール済みのVMもある
[Microsoft Windows 10 + Microsoft 365 Apps]
※マスターイメージでの「Cドライブのサイズ変更」「追加ディスク」も反映されます。
Step1:Windows 10 日本語化とタイムゾーンの変更
最後に[Windows Update]を実施
【タイムゾーンのリダイレクト】
コマンドプロンプト(管理者権限)
tzutil /s “Tokyo Standard Time
【キーボードレイアウトの変更】
【Host Poolの作成に失敗する場合】
Step2:FSLogixのインストール
FSLogixには、プロファイルに関する機能として[Office Container][Profile Container][Cloud Cache]の3つがあります。
基本的には「Profile Container」で検討し、出張などで複数のリージョンを行き来する場合や保存先として[Blob]を利用したい場合は、「Cloud Cache」を選択して下さい。
※機能詳細については
「ユーザープロファイル問題を解決する「FSLogix」とは?」
「FSLogix Profile Container と Office Container を設定してみる!」
FSLogixをダウンロード
FSLogixAppsJavaRuleEditorSetup.exe = Java Redirection
FSLogixAppsRuleEditorSetup.exe = App Masking
FSLogixAppsSetup.exe = Profile Container / Office 365 Container / Cloud Cache
【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 ※デフォルト有効
・Size In MBs:500MB~1TB ※Quota(Default 30GB) 作成後でも拡張可能
・Virtual Disk Type:VHDX
・SID Directory Name Pattern String:%username%%sid%
・VHDX Sector Size:4KB
・Remove Orphaned OST Files On Logoff:Enable
・Prevent Logon With Failure:Enable
Step3:RDP系レジストリ設定
RDPにまつわる、タイムアウト値をマスターイメージ作成のタイミングで行います。
[コンピューターの構成]ー[管理用テンプレート]ー[Windowsコンポーネント]ー[リモートデスクトップサービス]ー[リモートデスクトップセッションホスト]ー[セッションの時間制限]
・切断されたセッションの制限時間を設定する
(ユーザーが☓ボタンで閉じた状態)[切断]状態を指定時間後に[ロフオフ]させる。
マルチセッション利用時には設定しておきたい。
・アクティブでアイドル状態になっているリモートデスクトップサービスセッションの制限時間を設定する
[アイドル]状態の接続を指定時間後に[切断]させる。[2分後]は固定。
[切断→ログオフ]と組み合わせが可能。
・アクティブなリモートデスクトップサービスセッションの制限時間を設定する
ユーザーの操作状態に関わらず指定時間後に[切断]させる。[2分後]は固定。
[切断→ログオフ]と組み合わせが可能。
・制限時間に達したらセッションを終了する
上記”アクティブでアイドル状態”と”アクティブなリモートデスクトップサービスセッション”
で[切断]されるところを[ログオフ]に変更する。[2分後]は固定。
・RemoteAppセッションのログオフの制限時間を設定する
[切断]状態を指定時間後に[ロフオフ]させる。
※”切断されたセッションの制限時間を設定する”と同じような。。
RDP 帯域の削減に効果が見込めそうな設定
[コンピューターの構成]ー[管理用テンプレート]ー[Windowsコンポーネント]ー[リモートデスクトップサービス]ー[リモートデスクトップセッションホスト]ー[リモートセッション環境]
※AVDのRDPプロパティでも設定可能
※RDPプロパティとGPOで同じ箇所を設定した場合、GPOが適用されます。
Step4:デスクトップ系レジストリ設定
こちらの方法をオススメします。
「Azure 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:Microsoft 365 Appsインストール
先ず、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のバージョン情報]
[共有コンピューターのライセンス認証]と表示されていれば大丈夫です!
【 Microsoft 365 PACファイル作成 】
Microsoft365向け通信をProxyからバイパスさせるための”PACファイル”を作成します。
先ず、PACファイルを生成するためのPowerShellスクリプトをダウンロード
PowerShellにて”Get-PacFile.ps1″を実行して下さい。※赤字のみ環境に合わせて変更
.\Get-PacFile.ps1 -Type 2 -Instance Worldwide -TenantName Contoso -ClientRequestId b10c5ed1-bad1-445f-b386-b919946339a7 -DefaultProxySettings “PROXY 192.168.0.250:8080” > O365.pac
作成したPACファイルをWebサーバーに配置し、その配置場所を記載します。
Step6:初期化とイメージ化
こちらの方法をオススメします!
「マスターイメージ管理サービス! 共有イメージギャラリー を試す!」
今後のマスターイメージ更新のために、ここでスナップショットの取得をおすすめします。
必要な設定を終えたら、最後に[sysprep.exe]を実行します。
[キャプチャ]を選択し、イメージを作成します。
マスターイメージ完成!
Host Pool 作成時に、マスターイメージを指定すればOK
お疲れ様でした~!