Amazon WorkSpaces でプリンターリダイレクトを設定する

2020.03.18

しばたです。

Amazon WorkSpacesのWindowsクライアントでは、WorkSpaces環境からクライアントOSにあるプリンターで印刷をする「プリンターリダイレクト」機能が提供されています。
(プリンターリダイレクトはWindows以外のクライアントでは利用できません)

このプリンターリダイレクトは既定で有効(ただしリダイレクトされたプリンターをデフォルトプリンターにはしない)となっているのですが、組織のセキュリティ要件としてクライアントOSへの印刷を制限したい場合もあるかと思います。
本記事ではプリンターリダイレクト機能を制御する方法について解説します。

検証環境

本記事の内容は環境を限定しないWorkSpaces全般の話ですが、一応以下の環境で検証しています。

クライアントOSにWindows 10を使用し、WorkSpacesクライアントは最新のVer.3.0.4.1336を使用。
Windows 10(Windows Server 2016)のWorkSpaces環境を使って検証しています。
Active DirectoryはMicrosoft ADを使い、AD管理用に適当なWindows Server EC2を用意しています。
(AD管理用のEC2はドメインに参加しており、ADを管理するのに適切な機能がインストールされている前提です)

プリンターリダイレクトの制御方法

プリンターリダイレクト機能は専用のグループポリシーで制御可能です。
本記事で使うポリシーはWindows標準では提供されていないものであるため、利用にあたり以下の前準備が必要になります。

グループポリシー管理用テンプレートの事前準備

はじめにWorkSpacesイメージ中にあるグループポリシーのテンプレートファイル(pcoip.adm)をAD管理用EC2にコピーします。
pcoip.admファイルはC:\Program Files (x86)\Teradici\PCoIP Agent\configurationフォルダに存在します。

 ↓ (このpcoip.admを管理用EC2にコピー)

WorkSpaces管理用ポリシーの作成

ここからはAD管理用サーバーでの作業となります。
AD管理用サーバーにドメイン管理者ユーザーログインし、グループポリシー管理コンソール(GPMC)を起動し、WorkSpacesを管理するためのグループポリシーを作成しEC2が存在するOUにリンクしておきます。

(今回はWorkSpaces管理ポリシーを新規作成しcorp\ComputersOUにリンクしています)

WorkSpaces管理用ポリシーの編集

プリンターリダイレクト制御のために作成したポリシーを編集します。

エディターの初期状態は下図の通りであり、プリンターリダイレクトを制御するための情報はない状態です。

ここで、マシンポリシーのコンピューターの管理\ポリシー\管理用テンプレートを右クリックしテンプレートの追加と削除を選択します。

するとテンプレートの追加ダイアログが表示されますので、事前準備の際にコピーしたpcoip.admを追加します。

 ↓

するとWorkSpacesを管理するポリシーである「PCoIP Session Variables」欄が増え、プリンターリダイレクト制御が可能になります。

WorkSpaces管理用ポリシー詳細

プリンターリダイレクト機能はPCoIP Session Variables配下の

  • Overridable Administrator Defaults -> Configure remote printing

ポリシーで制御可能です。

このポリシーの設定内容は以下の通りとなっています。

  • Configure remote printing : プリンターリダイレクト機能を有効にするか無効にするかを以下から指定
    • Printing disabled : プリンターリダイレクト機能を無効にする
    • Basic printing : 基本印刷(汎用プリンタードライバ使用)でプリンターリダイレクト機能を有効にする
    • Basic and Advanced printng for Windows clients : 高度な印刷(個別のプリンタードライバ使用)でプリンターリダイレクト機能を有効にする
  • Automatically set default printer : チェックを入れるとリダイレクトされたプリンターを既定のプリンターに設定

このポリシーを設定すればプリンターリダイレクト機能の設定は完了です。

マシンポリシーですので反映には対象サーバーの再起動が必要となります。
(マシンポリシーはサーバーの起動時に読み込まれ適用される)

【補足】基本印刷と高度な印刷について

プリンターリダイレクト機能のうち、基本印刷と高度な印刷については詳細が記載されたドキュメントがなく、管理者ガイドに簡単な説明があるだけです。

デフォルトでは、Amazon WorkSpaces は基本的なリモート印刷を可能にします。印刷の互換性を確実にするため、ホスト側の汎用プリンタードライバーを使用するため、提供される印刷機能は限られています。
Windows クライアントの高度なリモート印刷では、両面印刷など、プリンター固有の機能を使用できますが、ホスト側に一致するプリンタードライバーをインストールする必要があります。
リモート印刷は仮想チャネルとして実装されます。仮想チャネルが無効になっている場合、リモート印刷は機能しません。

これらの機能の実装については公開されていませんが同等の機能は他のVDIソフトウェアにも存在しますのでVDIに慣れている方であれば予想はつくかと思います。

大抵のVDIソフトウェアでのプリンターリダイレクト実装ではクライアントPCと仮想マシンの両方にリダイレクト先のプリンタードライバをインストールする必要があり、できる限りプリンター固有の機能もサポートする様にしています。
これがWorkSpacesにおける高度な印刷になります。

ただ、プリンタードライバーはメーカーや機種ごとで実装がまるで異なるためすべてのプリンタードライバーでリダイレクト可能なわけではありません。仮想マシン側で当該のプリンタードライバーが無い場合もありますので、その様な場合はクライアント側にある汎用のドライバーを使って印刷を行う様になっています。(Windows標準機能であればRDSのEasy Printが該当)
これがWorkSpacesにおける基本印刷です。

汎用ドライバーなのでどのプリンターでも使う基本的な機能のみ提供され、また、フチなし印刷といった機能を使っている場合は印字位置が微妙にずれる場合があります。

最後に

ざっくりですがこんな感じです。
WorkSpacesを使って印刷する場合、もしくは、印刷を制限したい場合の参考になれば幸いです。