「Windowsクライアント用の自動プリンタドライバのダウンロードをセットアップする」の版間の差分
(同じ利用者による、間の4版が非表示) | |||
205行目: | 205行目: | ||
プリンタドライバをアップロードするには: | プリンタドライバをアップロードするには: | ||
* プリントサーバーに接続します。 「[[ | * プリントサーバーに接続します。 「[[#プリント管理コンソールを使用してプリントサーバーに接続する|プリント管理コンソールを使用してプリントサーバーに接続する]]」を参照して | ||
ください。 | ください。 | ||
* プリントサーバのエントリに移動し、プリントサーバをダブルクリックして、ドライバエントリを右クリックします。 | * プリントサーバのエントリに移動し、プリントサーバをダブルクリックして、ドライバエントリを右クリックします。 | ||
241行目: | 241行目: | ||
:[[Image:Print_Management_Select_Driver.png]] | :[[Image:Print_Management_Select_Driver.png]] | ||
64ビットドライバのみをアップロードし、そのドライバがリストに表示されない場合は、「[[ | 64ビットドライバのみをアップロードし、そのドライバがリストに表示されない場合は、「[[#64ビットドライバのみをSambaプリントサーバーにアップロードする|64ビットドライバのみをSambaプリントサーバーにアップロードする]]」を参照してください。 | ||
* [OK]をクリックして、プリンタのドライバを設定します。 | * [OK]をクリックして、プリンタのドライバを設定します。 | ||
250行目: | 250行目: | ||
* ドライバがプリンタに割り当てられた後、Windowsは自動的にプリンタの名前をプリンタドライバの名前に変更します。 <code>smb.conf</code>ファイルで設定したプリンタ名に手動で名前をリセットすることをお勧めします。 | * ドライバがプリンタに割り当てられた後、Windowsは自動的にプリンタの名前をプリンタドライバの名前に変更します。 <code>smb.conf</code>ファイルで設定したプリンタ名に手動で名前をリセットすることをお勧めします。 | ||
:* プリンタを右クリックし、[名前の変更]を選択します。 | |||
:* プリンタ名を<code>smb.conf</code>ファイルで設定した名前に戻し、Enterキーを押します。 | |||
:* プリンタリストが自動的にリフレッシュされない場合は、[F5]キーを押します。 | |||
=== Samba rpcclientユーティリティの使用 === | === Samba rpcclientユーティリティの使用 === | ||
274行目: | 274行目: | ||
プリンタを事前設定するには: | プリンタを事前設定するには: | ||
* | * プリントサーバーに接続します。「[[#プリント管理コンソールを使用してプリントサーバーに接続する|プリント管理コンソールを使用してプリントサーバーに接続する]]」を参照してください。 | ||
* プリントサーバーのエントリに移動し、プリントサーバーをダブルクリックして、プリンタのエントリを選択します。 | * プリントサーバーのエントリに移動し、プリントサーバーをダブルクリックして、プリンタのエントリを選択します。 | ||
* プリンタを右クリックし、[プロパティ]を選択します。 | * プリンタを右クリックし、[プロパティ]を選択します。 |
2018年3月25日 (日) 13:59時点における最新版
はじめに
Windowsクライアント用のSambaプリントサーバーを実行している場合は、ドライバをアップロードしてプリンタを事前設定することができます。 ユーザーがSambaサーバー上のプリンタに接続すると、Windowsは自動的にドライバをダウンロードしてローカルにインストールします。ユーザー は、インストールにローカル管理者権限を必要としません。さらに、Windowsは、用紙サイズやトレイ数など、あらかじめ設定されたドライバ設 定を適用します。
{{#invoke:Message box|imbox}}
サポートされているプリンタドライバ
一般情報
多くのドライバは、Sambaプリントサーバーにアップロードできるように提供されています。
- ドライバが圧縮形式で提供されている場合は、アーカイブを展開します。
- ドライバによっては、Windowsホストにドライバをローカルにインストールするセットアップアプリケーションを起動する必要があります。そういった場合、インストーラーは、セットアップ中にオペレーティングシステムの一時フォルダーに個々のファイルを抽出します。ドライバファイルを使用してSambaプリントサーバにアップロードするには、インストーラを起動し、一時フォルダから新しい場所にファイルをコピーして、インストールをキャンセルします。
ドライバが、Windowsによる自動ダウンロードのためのプリントサーバへのアップロードをサポートしているかどうかは、プリンタの製造元に問 い合わせて下さい。
サポートされているWindowsプリンタドライバ
Sambaは、Windows 2000~10およびWindows Server 2000~2016でサポートされているプリンタドライバモデルバージョン3のみをサポートしてい ます。
パッケージ対応ドライバを使用するには:
- Samba 4.7以降を実行する
- spoolssdサービスを有効にします。詳細については、「spoolssdサービスの有効化」を参照してください。
Windows 8およびWindows Server 2012で導入されたドライバモデルバージョン4は、Sambaではサポートされていません。代わりにバージョン3の ドライバを使用してください。
32ビットおよび64ビットドライバ
64ビットWindowsアーキテクチャ用のプリンタドライバは、Windows 64ビットオペレーティングシステムからしかアップロードできません。 32ビ ットのドライバは、32ビットおよび64ビットのWindowsオペレーティングシステムからアップロードできる。
どちらのアーキテクチャにもドライバを提供するには、両方のアーキテクチャでまったく同じ名前を使用する32ビットと64ビットのドライバをア
ップロードする必要があります。たとえば、Windows用の32ビットHP Universal Printing PS
ドライバと64ビットHP Univers
al Printing PS(v5.5.0)
ドライバーをアップロードする場合、ドライバー名は異なり、同じプリンター用に使用および事前構成するこ
とはできません。
64ビットドライバのみをSambaプリントサーバーにアップロードする
デフォルトの設定を使用すると、Samba自身がWindows NT x86
アーキテクチャとして報告されます。したがって、このプリントサー
バーに格納されている64ビットのドライバは、まったく同じ名前の32ビットドライバがアップロードされている場合にのみ、プリンタに割り当て
ることができます。それ以外の場合は、ドライバの割り当て時にプリンタのプロパティに表示されるリストにドライバが表示されません。
Sambaプリントサーバーに64ビットのドライバのみを提供するには:
smb.conf
ファイルの[global]
セクションに次の設定を追加します。
spoolss:architecture = Windows x64
- Sambaをリロードする:
#smbcontrol all reload-config
SePrintOperatorPrivilege特権の付与
SePrintOperatorPrivilege
特権が付与されたユーザーおよびグループのみが、プリンタドライバをアップロードおよび事前設定で
きます。 この権限は、どのユーザーまたはグループにも付与できます。
たとえば、Domain Admins
グループに権限を付与するには、次のように入力します。
#net rpc rights grant "SAMDOM \ Domain Admins" SePrintOperatorPrivilege -U "SAMDOM \ administrator" Enter SAMDOM\administrator's password: Successfully granted rights.
{{#invoke:Message box|imbox}}
SePrintOperatorPrivilege
特権が付与されているすべてのユーザーおよびグループを一覧表示するには、次のように入力します。
# net rpc rights list privileges SePrintOperatorPrivilege -U "SAMDOM\administrator" SePrintOperatorPrivilege: BUILTIN\Administrators SAMDOM\Domain Admins
[print$]
共有を構成する
Windowsは、プリントサーバーのprint$
共有からプリンタドライバをダウンロードします。この共有名はWindowsではハードコード
されており、変更することはできません。
/srv/samba/printer_drivers/
フォルダをprint$
として共有するには:
- smb.confファイルに次のセクションを追加します。
[print$] path = /srv/samba/printer_drivers/ read only = no
- Sambaをリロードする:
#smbcontrol all reload-config
- ディレクトリを作成します。
#mkdir -p /srv/samba/printer_drivers/
- 共有にアクセス許可を設定します。
SePrintOperatorPrivilege
特権を付与されたユーザーまたはグループは、共有に書き込むことができる必要があります。たとえば、Domain Admins
グループの書き込みアクセス権を設定し、他のユーザーがドライバをダウンロードできるようにするには、次のようにします。
- POSIXアクセス制御リスト(ACL)を使用:
#chgrp -R "SAMDOM\Domain Admins" /srv/samba/printer_drivers/ #chmod -R 2775 /srv/samba/printer_drivers/
{{#invoke:Message box|imbox}}
- Windows ACLの使用:
- Windowsユーティリティを使用して次の権限を設定します。
名前 アクセス許可 適用先 CREATOR OWNER フルコントロール サブフォルダとファイルのみ Authenticated Users 読み取りと実行、フォルダの内容の一覧表示 このフォルダ、サブフォルダとファイル Domain Admins フルコントロール このフォルダ、サブフォルダ、およびファイル
- 詳細については、「共有のアクセス許可とACLの設定」を参照してください。
ドライバをアップロードするときに、Sambaは自動的にprint$
共有にアーキテクチャ毎のサブディレクトリを作成します。
プリントサーバーを信頼するためのGPOの作成
{{#invoke:Message box|imbox}}
信頼できないソースからの悪意のあるドライバのインストールを避けるために、Windowsは、プリンタを事前構成したとき、またはユーザーがプリンタをインストールしたときに、プリントサーバーを信頼するかどうかを確認します。 Sambaプリントサーバーを信頼するグループポリシーオブジェクト(GPO)を作成し、Windowsプリントスプーラのセキュリティ更新プログラムによって導入された既知の問題を回避します。
- ADドメイン管理者アカウントなどのグループポリシーを編集できるアカウントを使用してコンピュータにログインします。
グループポリシー管理コンソール(GPMC)
を開きます。このコンピュータにリモートサーバー管理ツール(RSAT)がインストールされていない場合は、RSATのインストールを参照してください。- ADドメインを右クリックし、
このドメインにGPOを作成し、このコンテナーにリンクする
を選択
- 「Legacy Printer Driver Policy」など、GPOの名前を入力します。新しいGPOがドメインエントリの下に表示されます。
- 新しく作成したGPOを右クリックし、[編集]を選択してグループポリシー管理エディタを開きます。
- コンピューターの構成→ポリシー→管理用テンプレート→プリンターの順に辿っていきます。
- 「ポイント アンド プリントの制限」ポリシーをダブルクリックして、ポリシーを編集します。
- ポリシーを有効にして、次のオプションを設定します。
- 「ユーザーがポイント アンド プリントを行うことができるサーバー」を有効にし、フィールドに完全修飾ドメイン名(FQDN)を入力します。
- 「新しい接続用にドライバをインストールした場合」と、「既存の接続用にドライバを更新した場合」の両方で、「警告および昇格のプロンプトを表示しない」を選択します。
- [OK]をクリックします。
- 「ポイント アンド プリントの実装 - 許可されたサーバー」ポリシーをダブルクリックしてポリシーを編集します。
- ポリシーを有効にして、[表示]ボタンをクリックします。
- プリントサーバーのFQDNを入力します。例:
- それぞれ
OK
をクリックして、コンテンツとポリシーのプロパティの両方を閉じます。
- それぞれ
- グループポリシー管理エディターを閉じます。 GPOは、ドメインコントローラ(DC)の
Sysvol
共有に自動的に保存されます。 - グループポリシー管理コンソールを閉じます。
Windowsドメインのメンバーがグループポリシーを自動的に適用するまで待ちます。手動でポリシーを適用するには:
- ドメインメンバを再起動します。
- ローカル管理者権限を持つアカウントを使用して、次のコマンドを実行します。
> gpupdate /force /target:computer
プリント管理コンソールを使用してプリントサーバーに接続する
Sambaプリントサーバーに接続するには:
DiskOperatorPrivilege
特権とprint$
共有のアクセス権を持っているアカウントを使用してWindowsホストにログオンします。- 「スタート」をクリックし、「印刷の管理」と入力してアプリケーションを起動します。
- [プリントサーバー]エントリを右クリックし、[サーバーの追加と削除]を選択します。
- [サーバーの追加]フィールドにSambaプリントサーバーの名前を入力し、[リストに追加]をクリックします。
- [OK]をクリックします。
プリントサーバーに接続すると、ドライバのアップロードやプリンタの事前設定などのタスクを実行できます。
Sambaプリントサーバーへのプリンタドライバのアップロード
プリンタドライバをアップロードするには:
- プリントサーバーに接続します。 「プリント管理コンソールを使用してプリントサーバーに接続する」を参照して
ください。
- プリントサーバのエントリに移動し、プリントサーバをダブルクリックして、ドライバエントリを右クリックします。
- Add Driverを選択します。
- 次のウィザードで、ドライバをアップロードするアーキテクチャを選択し、[次へ]を選択します。
- [ディスク使用]をクリックして、選択したアーキテクチャのプリンタドライバを含むフォルダに移動します。
- アップロードするドライバをリストから選択します。
- 同じプリンタ用に32ビットと64ビットのドライバをアップロードする場合は、両方のドライバがまったく同じドライバ名を持つ必要があります。 詳細については、「32ビットおよび64ビットドライバ」を参照してください。
- [完了]をクリックして、ドライバをprint $共有にアップロードします。
- アップロード後、ドライバは[ドライバ]メニューに表示されます。
必要に応じて、追加のアーキテクチャ用のドライバをアップロードします。
プリンタへのドライバの割り当て
印刷管理コンソールの使用
Windowsプリント管理コンソールを使用してドライバをプリンタに割り当てるには:
- プリントサーバーに接続します。プリント管理コンソールを使用してプリントサーバーに接続するを参照してください。
- プリントサーバーのエントリに移動し、プリントサーバーをダブルクリックして、プリンタのエントリを選択します。
- プリンタを右クリックし、[プロパティ]を選択します。
- ドライバがプリンタに関連付けられていない場合、次の警告が表示されます。
No
をクリックします。ドライバは、アップロードされたドライバのリストから後の手順で選択されます。 - [詳細設定]タブに移動し、一覧からドライバを選択します。例:
64ビットドライバのみをアップロードし、そのドライバがリストに表示されない場合は、「64ビットドライバのみをSambaプリントサーバーにアップロードする」を参照してください。
- [OK]をクリックして、プリンタのドライバを設定します。
警告が表示された場合は、操作をキャンセルし、このプリントサーバーが提供するドライバを信頼するグループポリシーを設定します。詳細については、「プリントサーバーを信頼するためのGPOの作成」を参照してください。
- ドライバがプリンタに割り当てられた後、Windowsは自動的にプリンタの名前をプリンタドライバの名前に変更します。
smb.conf
ファイルで設定したプリンタ名に手動で名前をリセットすることをお勧めします。
- プリンタを右クリックし、[名前の変更]を選択します。
- プリンタ名を
smb.conf
ファイルで設定した名前に戻し、Enterキーを押します。 - プリンタリストが自動的にリフレッシュされない場合は、[F5]キーを押します。
Samba rpcclientユーティリティの使用
rpcclient
ユーティリティを使用して、Sambaプリントサーバー上のローカルプリンタにドライバを割り当てるには:
- print $共有で利用可能なすべてのドライバを一覧表示する:
#rpcclient localhost -U "SAMDOM\administrator" -c "enumdrivers"
- ドライバをプリンタに割り当てます。 たとえば、
HP Universal Printing PS
ドライバをDemoPrinter
プリンタに
割り当てるには、次のように入力します。
#rpcclient localhost -U "SAMDOM\administrator" -c 'setdriver "DemoPrinter" "HP Universal Printing PS"'
- 結果を確認するには:
#rpcclient localhost -U "SAMDOM\administrator" -c "enumprinters"
プリンタの事前設定
管理者がプリントサーバー上でドライバをあらかじめ設定していた場合、プリンタに接続しているユーザーは、デフォルトで設定を自動的に適用します。複数のアーキテクチャー用のドライバーがサーバーにインストールされている場合、事前構成済みの設定は、プリンターのすべてのドライバー・プラットフォームに自動的に適用されます。詳細については、「32ビットおよび64ビットドライバ」を参照してください。
プリンタを事前設定するには:
- プリントサーバーに接続します。「プリント管理コンソールを使用してプリントサーバーに接続する」を参照してください。
- プリントサーバーのエントリに移動し、プリントサーバーをダブルクリックして、プリンタのエントリを選択します。
- プリンタを右クリックし、[プロパティ]を選択します。
- ドライバに応じて、[デバイス設定]などのタブが用意されており、インストールされている用紙トレイなどの一般設定を行うことができます。
- それ以上の設定を事前に設定するには、[詳細設定]タブに移動し、[デフォルトの印刷]をクリックします。
- 事前設定するすべての設定を更新します。たとえば、用紙サイズやデフォルトの給紙元などです。
- [OK]をクリックして、詳細設定とプリンタのプロパティを保存します。