テックペーパー:Google Chrome のデプロイ

概要

今日最も人気のあるブラウザの1つであるGoogle Chromeは、多くのCitrix Virtual Apps and Desktops 環境にとって必須です。Google Chromeは、起動時に主にコンシューマーとデスクトップオペレーティングシステムを対象としていましたが、今日ではエンタープライズでは一般的であり、Virtual Apps and Desktops 環境にこのブラウザを展開する管理者が増えています。これにより、Google は 2017 年に新しい Chrome エンタープライズバンドルパッケージをリリースしました。これは、過去の反復よりもエンタープライズ展開の方がはるかに優れています。Google Chromeを適切にインストールして設定するには、注意する必要があるいくつかの詳細があります。この記事では、組織での Google Chrome の展開、構成、および最適化を成功させるための推奨手順について説明します。

インストール

まず、 Google Chromeの最新バージョンをダウンロードします。エンタープライズバンドルまたはスタンドアロンバージョンのどちらをダウンロードするかを選択できます。エンタープライズバンドルには、Chrome ブラウザーと Chrome レガシーブラウザー用のインストーラー、および Microsoft グループポリシーテンプレート (ADMX) ファイルが含まれています。32 ビットバージョンまたは 64 ビットバージョンを選択します。ダウンロード後に ZIP ファイルを解凍します。

注:Chrome レガシーブラウザサポート拡張機能を使用すると 、ユーザーは Chrome と別のブラウザを自動的に切り替えることができます。ユーザーが、従来のブラウザを開く必要があるリンク (ActiveX を必要とするサイトなど) をクリックすると、その URL は Chrome から従来のブラウザに自動的に開きます。

ホスト共有でも VDI でも、マスターイメージに Google Chrome をインストールするには、次の手順に従います。

  • MSIインストーラーを使用してChromeをインストールする:msiexec.exe /i "C:\GoogleChromeStandaloneEnterprise64.msi" /qn /norestart /l*v "C:\Logs\GoogleChromeStandaloneEnterprise64.log" Chromeがインターネットに接続できないときに問題が発生した場合は、MSIパラメータNOGOOGLEUPDATEPING=1を追加します。
  • オプション:MSI インストーラーを使用して Chrome レガシーブラウザーサポート拡張機能をインストールします。 msiexec.exe /i "C:\LegacyBrowserSupport_4.7.0.0_en_x64.msi" /qn /norestart /l*v "C:\Logs\LegacyBrowserSupport_4.7.0.0_en_x64.log"

Google Chromeの最新バージョンを常に使用することを強くお勧めします。少なくともバージョン 59 を使用する必要があります。このバージョン以降では、Chrome はリモートデスクトップ環境で実行されているかどうかを自動的に検出し、それに応じて設定を調整します。さらに、Citrix Studio でのChrome公開は、以前よりも簡単です。次のコマンドラインを発行するだけで済みます。

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

インストールディレクトリは、32 ビットと 64 ビットインストールの両方で同じです。

コマンドラインにパラメータ–allow-no-sandbox-job –disable-gpuを追加する必要はなくなりました。

ただし、Citrix APIフックには問題が残っています。Google Chromeは正常に起動できず、これらのフックからChromeプロセスの chrome.exe と nacl64.exe を除外する必要があります。Googleの記事「 Chromeを仮想アプリケーションとして実行する 」では、この問題について詳しく説明しています。Citrixの記事「 アプリケーションごとにCitrix APIフックを無効にする方法 」では、個々のプロセス(アプリケーション)のフックを無効にする手順を段階的に説明しています。

Citrix の記事「 Chromeが公開デスクトップで起動しない 」と、「Aw、Snap!」などのChromeエラーが処理されるページがクラッシュし、メッセージが表示されない灰色の画面。これらのエラーの解決方法は、上記の手順と同じです。Citrix APIフックからプロセスchrome.exe とプロセスnacl64.exeを除外する必要があります。

構成

グループポリシーを使用して Google Chrome を管理する

Google Chrome は、Microsoftソフトのグループポリシーを使用して管理できます。前述のように、エンタープライズバンドルには ADMX ファイルが含まれています。グループポリシー管理用テンプレート (\\contoso.com\SYSVOL\contoso.com\policies\PolicyDefinitionsなど) の中央ストアに ADMX ファイルと言語ファイル (*.ADML) をコピーします。Chrome に関連するすべてのポリシーは、[コンピューターの構成\ ポリシー\ 管理用テンプレート\ Google] セクションにあります。

マスター環境設定ファイルを管理する

Google Chromeには、 master_preferencesファイルが付属しています。このファイルには、デフォルトの Chrome 設定が含まれています。管理者は、このファイルを変更して、インストール後に設定を使用できるようにすることができます。デフォルトでは、master_Preferences ファイルはディレクトリC:\Program Files (x86)\Google\Chrome\Applicationにあります。

個々のユーザ設定は、 環境設定と呼ばれるファイルに保存され、ユーザーのプロファイルに保存されます。この環境設定ファイルは、Chrome を初めて使用して作成されます。デフォルトでは、このファイルはディレクトリC:\Users\%UserName%\AppData\Local\Google\Chrome\User Data\Defaultにあります。

詳細については、「 その他の環境設定 」の記事を参照してください。

ローミングユーザー設定

Google Chrome では、ユーザー設定をローミングする方法が 3 つあります。

  • グーグルアカウント
  • Chrome ローミングプロファイル
  • 移動プロファイル

Google アカウント (推奨方法)

Google アカウントを作成して、信頼できるすべての環境とすべての信頼できるデバイス(Chrome へのログインまたはログアウト)でログインできます

これは、記事「 一般的な問題と解決策 」によると推奨される方法です(「ユーザーの Chrome プロファイルを移動プロファイルに保存できますか?」セクションを参照)

既定では、次のユーザー固有の設定が保存され、同期されます。

  • アプリ
  • オートフィル
  • ブックマーク
  • 拡張機能
  • 履歴
  • パスワード
  • 設定
  • テーマと壁紙
  • タブを開く
  • Google Pay を使用するクレジットカードと住所

ユーザーは、同期する設定をカスタマイズできます(アカウント設定を同期します)。

Chrome ローミングプロファイル

Google アカウントを使用してユーザー設定を同期できない場合は、代わりに Chrome ローミングプロファイルを使用してください。「 ローミングユーザープロファイルでChromeを使用する」で説明されているように、ブックマーク、自動入力データ、パスワード、コンピューターごとの閲覧履歴、ブラウザー設定、インストールされている拡張機能などの設定は、profile.pbというファイルに保存できます。デフォルトでは、このファイルはディレクトリC:\Users\%UserName%\AppData\Roaming\Google\Chromeに格納されますが、デフォルトのディレクトリは変更できます。

Citrix Profile Managementを含むすべてのプロファイルソリューションは、ディレクトリ C:\Users\%UserName%\AppData\Roaming (= %AppData%)を同期するため、profile.pbファイルも確実に同期されます。profile.pb ファイルの作成を有効にするには、次の 3 つの方法があります。

  • グループポリシー設定 [ユーザーまたはコンピューターの構成ポリシー管理用テンプレート Google Chrome で Google Chrome プロファイルデータのローミングコピーの作成を有効にする] を有効にします。
  • レジストリキーHKEY_LOCAL_MACHINE\Software\Policies\Google\ChromeまたはHKEY_CURRENT_USER\Software\Policies\Google\Chromeでレジストリ値RoamingProfileSupportEnabledを00000001に設定するか、 Chromium.orgの記事ポリシーリストのRoamingProfileSupportEnabledセクションで説明されているように設定します 。
  • コマンドラインフラグ —enable-local-sync-backend を Chrome ショートカットの Chrome.exe に追加します。詳細については、「 移動ユーザープロファイルで Chrome を使用する 」の記事を参照してください。

profile.pb ファイルのデフォルトディレクトリを変更するには、次の 3 つの方法があります。

  • グループポリシー設定を有効にするユーザーまたはコンピューターの構成\ ポリシー\ 管理用テンプレート\ Google\ Google Chrome で、移動プロファイルディレクトリを設定します。
  • プロファイルディレクトリをレジストリキーHKEY_LOCAL_MACHINE\Software\Policies\Google\ChromeまたはHKEY_CURRENT_USER\Software\Policies\Google\Chromeのレジストリ値 RoamingProfileLocation に追加するか 、Chromium.org の記事ポリシーリストの RoamingProfileLocation セクションの説明に従って追加します。
  • Chromeのショートカットで Chrome.exe にコマンドラインフラグ–local-sync-backend-dir=path_to_directoryを追加します。詳細については、「 移動ユーザープロファイルで Chrome を使用する 」の記事を参照してください。

移動プロファイル

したがって、ユーザーがGoogleアカウントでログインしていない場合や、Chromeローミングプロファイル(「profile.pb」)が設定されていない場合はどうなりますか? このような場合、Google Chrome はすべてのユーザーデータをディレクトリC:\Users\%UserName%\**AppData\Local**\Google\Chrome\User Dataに保存します (Chromium の記事「 ユーザーデータディレクトリ」も参照)。このディレクトリは、デフォルトでCitrix Profile Managementによって同期されます。

この方法には欠点があり、慎重に使用する必要があります。記事「 一般的な問題と解決策」に記載されているように、Chrome ユーザープロファイルには下位互換性がありません。不一致のプロファイルと Chrome バージョンを使用しようとすると、クラッシュやデータの損失が発生する可能性があります。この不一致は、Chrome のバージョンが異なる複数のコンピューター間で移動プロファイルまたはネットワークドライブに Chrome プロファイルが同期されている場合によく発生します。

要するに、異なるバージョンのChromeを1つのローミングプロファイルに混在させないようにすることが重要です。この方法を使用してユーザーの設定を同期する場合は、環境またはデバイスの種類ごとに個別の移動プロファイルを作成してください。この方法は組織でも機能しますが、自己責任で行ってください。

Citrix では、次の4つのサブフォルダーを除外することをお勧めします

  • !ctx_localappdata!\Google\Chrome\User Data\Default\Cache
  • !ctx_localappdata!\Google\Chrome\User Data\Default\Cached Theme Images
  • !ctx_localappdata!\Google\Chrome\User Data\Default\JumpListIcons
  • !ctx_localappdata!\Google\Chrome\User Data\Default\JumpListIconsOld

最適化

自動更新を無効にする

永続的でないマシンでは、Chrome が自動的に更新されないようにする必要があります。更新のインストールは、マスターイメージを変更または作成するとき、またはアプリケーションレイヤーを更新するとき(Citrix App Layering)にのみ許可する必要があります。自動更新を無効にするには、次の手順に従います。

  • [コンピューターの構成\ ポリシー\ 管理用テンプレート\ Google 更新\ アプリケーション\ Google Chrome] セクションの [グループポリシーの更新ポリシーの優先設定] を、生産的なワーカーを含む Active Directory の組織ユニット上で無効にします。
  • 次のサービスとスケジュールされたタスク(自動更新を担当)を無効にします。
  • Google アップデートサービス (gupdate)
  • Google アップデートサービス (gupdatem)
  • GoogleUpdateTaskMachineCore
  • GoogleUpdateTaskMachineUA

アクティブセットアップを無効にする

Chrome では、アクティブなセットアップ項目も作成されます。Citrix CTP Helge Kleinによって説明されているように、 「アクティブセットアップは、ログオン時にユーザーごとにコマンドを1回実行するメカニズムです。アクティブなセットアップは、Internet Explorer などの一部のオペレーティングシステムコンポーネントで使用され、初めてログオンする新しいユーザーの初期構成をセットアップします。」アクティブセットアップは、explorer.exe プロセスによってログオン時に実行されます。つまり、公開アプリケーションでは動作しません。原則として、ユーザーのログオン時間を短縮するために、アクティブセットアップを完全に無効にすることをお勧めします。ユーザーログオン時にChrome Active Setupコマンドを1回実行する場合は、stubpathレジストリ値からコマンドラインを自動的に読み込んでコマンドを実行するログオンスクリプトを使用することをお勧めします。

Chrome デスクトップアイコンを削除する

構成できる最後の項目の 1 つは、自動的に作成されたデスクトップアイコンを削除することです。これには次の 2 つの手順が必要です。

  • デフォルトではC:\Users\Publicが指すディレクトリ%Public%\DesktopにあるショートカットファイルGoogle Chrome.lnkを削除します。
  • Chrome の master_preferences ファイル(「設定」セクションで前に説明した)に次の行を追加して、新規ユーザー用のショートカットが作成されないようにしてください。
    • "create_all_shortcuts": false,
    • "do_not_create_desktop_shortcut": true,
    • "do_not_create_quick_launch_shortcut": true

メモリと CPU の最適化

ブラウザは非常にRAMとCPUを大量に消費することができ、Chromeも例外ではありません。ネイティブクライアントでは、これはあまり問題ではないかもしれませんが、Citrix Virtual Apps and Desktops環境では、(通常)すべてのワーカーが仮想マシンであり、基盤となるハードウェアを共有しています。リソースを大量に消費するアプリケーションでは、物理ホストあたりの最大ユーザー密度が低下します。

Chromeには、個々のタブのリソース消費量を確認できる独自のタスクマネージャが付属していることをご存知ですか? Chromeタスクマネージャにアクセスするには、ショートカットShift+ESCを使用するか、メニュー(3つの垂直ドット)に移動し、[その他のツール]\ [タスクマネージャ] に移動します。タスクマネージャを使用すると、リソースを最も多く消費する Web ページを特定できます。

ChromeのメモリとCPU使用率を減らすことは可能です:

Chrome 拡張機能を管理する

ホスト共有または VDI を問わず、ワーカーマスターイメージを構築するときに、必要な Google Chrome 拡張機能を含める傾向があります。やめてくれ!Chrome 拡張機能は、Microsoft グループポリシーを使用して管理および展開できます。さらに重要なのは、Chrome拡張機能はユーザーごとにインストールされます!拡張機能を追加または削除するために、イメージを更新する必要はありません。ポリシーを使用して多数の拡張機能を追加する場合は、Google Chrome の起動時間に悪影響を及ぼす可能性があることに注意してください。

インストールディレクトリは次のとおりです。 C:\Users\%UserName%\AppData\Local\Google\Chrome\User Data\Default\Extensions

Microsoftグループポリシーを使用して拡張機能を管理すると、マシン作成サービス(MCS)だけでなく、Citrix Provisioningサーバー(PVS)を使用してイメージを展開する場合にも機能します。

Microsoft グループポリシーを使用して Chrome 拡張機能を管理する方法の詳細については、「グループポリシーを使用して Google Chrome 拡張機能を展開する」を参照してください。

テックペーパー:Google Chrome のデプロイ