たとえば、病院の医師が次々と部屋を移動する場合、医師は今いる部屋がどこかを意識せずに、現在いる部屋に最も近いプリンタに印刷ジョブが送信されます。
ただ、Viewが自動的に部屋に設置されているプリンタがどれかを自動で判断してくれる訳ではなく、あくまで「このロケーション」の時には「このプリンタ」をマッピングするという「ポリシー」をあらかじめ定義しておく必要があります。運用者さんの泥臭い努力のたまものなのです。
病院や学校など、利用者が特定多数の場所からアクセスするような環境において印刷要件がある場合には有効な機能ですので、ぜひ試してみて下さい。
ロケーションベースの印刷機能を利用するためには、いくつかの準備が必要です。
1. 仮想印刷機能とプリンタドライバを仮想デスクトップインストールする
2. TPVMGPoACmap.dll をドメインコントローラに登録する
3. グループポリシーを設定する
【参考】ロケーションベースの印刷の設定
https://pubs.vmware.com/horizon-view-60/index.jsp#com.vmware.horizon-view.desktops.doc/GUID-1EB46B6D-EBF7-499E-9AE1-D8253C9FB241.html
実際に試してみましたので、設定手順をご紹介します。
1. 仮想印刷機能とプリンタドライバを仮想デスクトップインストールする
仮想印刷機能(Virtual Printing)は、View Agentインストール時に選択可能なオプションコンポーネントで、デフォルトでインストールされるように構成されています。
インストールされていない場合は、インストーラの修復などで追加インストールして下さい。
プリンタドライバについてですが、ロケーションベース印刷は、ユーザーが接続したタイミングでロケーションに応じてプリンタが作成されるという動きとなりますので、実際に使うプリンタそのものを仮想デスクトップ上に作成しておく必要はありません。
あくまでも、ドライバのみインストールされていればOKです。
リンククローンなどの場合は、マスターイメージにインストールしておきます。
2. TPVMGPoACmap.dll をドメインコントローラに登録する
TPVMGPoACmap.dllファイルは、従来Connection ServerのインストールディレクトリにADMテンプレートと同様に格納されていましたが、6.0からはZIPファイル(VMware-Horizon-View-Extras-Bundle-<x.x.x>-<yyyyyyy>.zip )として提供されます。
ZIPファイルは、My VMware より他のバイナリと同様にダウンロードが可能です。
ZIPファイルを展開すると、CPUアーキテクチャごとのファイルが用意されていますので、ドメインコントローラのアーキテクチャに応じてファイルを取り出します。
※画像はx64フォルダの内容です。
DLLファイルが取り出せたら、以下のコマンドを実行し、サービスを登録します。
> regsvr32 "C:\TPVMGPoACmap.dll"
※DLLのパスは皆さんの環境に合わせて読み替えて下さい。
正しく登録出来ると以下の画面が表示されるので、[OK]ボタンをクリックします。
3. グループポリシーを設定する
グループポリシーを使って、「ロケーション」と「プリンタ」を関連付けます。
ポリシーは、[コンピューターの構成]-[ポリシー]-[ソフトウェアの設定]-[AutoConnect Map Additional Printers for VMware View]にて定義されており、「Configure AutoConnect Map Additional Printers」という項目が予め作成されています。
右クリックメニューより"プロパティ"を実行し、編集します。
まずは画面右上の"Disable"を"Enable"に変更します。
次に画面左上のボタンをクリックして行を追加し、ポリシーを作成します。
設定項目は以下の通りです。
設定項目 | 概要 |
Default | チェックを入れるとデフォルトプリンタとして登録 |
IP Range | クライアントPCのIPアドレス範囲 |
Client Name | クライアントPCのホスト名 |
Mac Address | クライアントPCのMACアドレス |
User/Group | 接続ユーザー名、グループ名 |
Printer Name(※) | プリンタ名(任意) |
Printer Driver(※) | プリンタドライバ(仮想デスクトップにインストールしたもの) |
IP Port/ThinPrint Port(※) | プリンタRAWポートのIPアドレス |
必須以外の項目については「*」にて全端末を対象とすることが可能。
Printer Driverは空白含めて"完全一致"する必要があります。
サポートされるプリンタは、RAWモードの標準TCP/IPポートのネットワークプリンタもしくは、Thinprintをサポートしているプリンタとなります。
以下の画面が設定例ですが、クライアントのコンピュータ名が「1F-PC」の場合には1F用の
プリンタ「Microsoft XPS Document Writer 1F」を、「2F-PC」の場合には2F用のプリンタ「Microsoft XPS Document Writer 2F」をそれぞれ通常使うプリンターとして登録するという
ポリシーとなります。
※あくまでロケーションベース印刷の挙動を確認するためのサンプルポリシーとなります。
※プリンタドライバはWindowsに標準インストールされている「Microsoft XPS Document Writer」を使用してIPポートを無理やり割り当てているので、実際には印刷出来ません。
以上で設定は完了です。
※もちろんグループポリシーなので、いずれかのOUに割り当てる必要があります。
※ロケーションベース印刷のポリシーはコンピュータポリシーなので、制御したい仮想デスク
トップを対象のOUに所属させておく必要があります。
コンピュータ名が「1F-PC」のクライアントからViewデスクトップに接続すると、「Microsoft XPS Document Writer 1F」が作成され、通常使うプリンターとして定義されています。
コンピュータ名が「2F-PC」のクライアントからViewデスクトップに接続すると、「Microsoft XPS Document Writer 2F」が作成され、通常使うプリンターとして定義されています。
今回はコンピュータ名をロケーションの判断材料としましたが、上記ポリシー設定項目の通り、IPアドレス範囲やMACアドレス、ユーザーなど様々な情報を元にロケーションを定義することが可能ですので、様々な環境にも対応出来ると思います。
補足ですが、Windows版のView Clientを利用する環境だと、既定ではクライアントPCのプリンタを仮想デスクトップ側にリダイレクトして通常使うプリンターとしてマークするように、デフォルトプリンタリダイレクション(ThinPrint)が動作してしまいます。
せっかくロケーションベース印刷によってプリンタを作成しても、環境によっては上記リダイレクションによって上書きされてしまうことがありますので、必要ない場合には無効化しておくことをオススメします。
キー(32 ビット システムの場合):HKLM\SOFTWARE\ThinPrint\Client
キー(64 ビット システムの場合):HKLM\SOFTWARE\Wow6432Node\ThinPrint\Client
値:DefaultState(REG_DWORD)
データ:0
【参考】View Client でデフォルト プリンタのリダイレクトを無効にする
http://kb.vmware.com/kb/2087189
どうも上の設定だけだとリダイレクションが止まらないことが多いので、、以下のレジストリも必要に応じてお試しください。
キー:HKLM\SOFTWARE\thinPrint\TPAutoConnect\
値:ConnectToClient(REG_SZ)
データ:DISABLED
【参考】VMware View Client で ThinPrint を無効にする
http://kb.vmware.com/kb/2097198
また、以下のレジストリを変更することでロケーションベース印刷に関する詳細なログ出力が可能になりますので、正しく動作しない場合にはご活用を。
キー:HKLM\SOFTWARE\ThinPrint\TPAutoConnect
値:DebugFile(REG_SZ)
データ:C:\\tpautoconnect.log
値:DebugLevel(REG_DWORD)
データ:000000ff
【参考】Enabling ThinPrint logging in VMware View Manager
http://kb.vmware.com/kb/2004001
0 件のコメント:
コメントを投稿