Windowsの両面印刷設定:既定・レジストリ・PowerShellを使い分ける

Windowsの両面印刷は、使うプリンターの選択、ユーザーの印刷設定、管理者のキュー既定、アプリの印刷指定を分けて確認します。

両面印刷を既定にするには、対象プリンターの印刷設定で長辺とじ・短辺とじを選びます。管理者が共有キューの既定を変更する場合と、利用者が自分の印刷設定を変える場合は別です。レジストリに汎用のDuplex=1を追加すれば全アプリの印刷が固定される、という仕組みではありません。

目次

両面印刷を設定する最短の確認順

  1. 対象機種が自動両面印刷に対応するか、メーカーの仕様/マニュアルで確認する。
  2. Windows 11は設定→Bluetoothとデバイス→プリンターとスキャナーで、使うプリンターを選ぶ。Windows 10の設定ではデバイス→プリンターとスキャナーから開く。
  3. そのプリンターの印刷設定(Printing preferences)を開き、両面/2面印刷/Two-sidedに相当する項目を選ぶ。「管理」がある画面ではそこから印刷設定へ進む。
  4. 長辺とじか短辺とじを選び、適用する。タブ名や選択項目は機種・ドライバーに従う。
  5. Wordなど実際に使うアプリでも対象プリンターと両面指定を確認し、機密情報を含まない2ページ文書で向きと結果を試す。

Wordではファイル→印刷の設定に「両面印刷」があるか確認できます。自動両面に非対応なら手動両面や奇数/偶数ページの別印刷を使う方法がありますが、用紙を戻す向きは機種ごとにテストしてください。Windowsの設定だけで、非対応機に自動両面機能を追加することはできません。

既定のプリンターと既定の両面設定は違う

既定のプリンターは「どの出力先を使うか」の設定です。両面印刷は選んだ出力先の印刷オプションです。前者を設定しても後者が自動で両面になるとは限りません。

Windowsに既定プリンターを管理させると、最後に使ったプリンターへ切り替わる場合があります。出力先が毎回違う問題では、設定画面の「Windowsで通常使うプリンターを管理する」と、実際のアプリ内の出力先を確認します。手動で固定する場合はこの管理をオフにし、希望するプリンターを既定に選ぶ公式手順を使います。

確認する層内容両面にならないときの比較
出力先既定プリンターとアプリで選ぶキュー同名・別ドライバー・PDF出力先を取り違えていないか
ユーザーの印刷設定その利用者のPrinting Preferences対象ユーザーで開いた設定と新しい印刷ダイアログ
キューの既定管理者が設定するPrinting Defaultsサーバーの対象キューとクライアントの実際の設定
印刷ジョブアプリ/文書が指定する片面・両面同じキューを別アプリから使った結果
装置機能両面ユニット・用紙/サイズ・機種仕様メーカー仕様とドライバーの装置構成

レジストリとDEVMODE:どこに保存されるのか

Win32の公式仕様では、グローバルなプリンター既定はPRINTER_INFO_8、ユーザーごとの既定はPRINTER_INFO_9として区別されます。いずれもDEVMODEへのポインターを持ち、ユーザーごとのDEVMODEはユーザーのレジストリに保存されると説明されています。

DEVMODEには公開メンバーdmDuplexがあり、対応プリンターの片面/両面方式を表します。dmFieldsのDM_DUPLEXはそのメンバーが有効であることを示します。公開部分は定義された構造で、続く非公開のドライバーデータの大きさはdmDriverExtraが示します。公開部分まで「すべての位置と意味がドライバー任せ」とする説明は正確ではありません。

公開値の名称意味
DMDUP_SIMPLEX片面印刷
DMDUP_VERTICAL長辺とじ
DMDUP_HORIZONTAL短辺とじ

原記事で挙げていたHKLM\SYSTEM\CurrentControlSet\Control\Print\Printers配下や、HKCU\Printers\DevModePerUser / DevModes2は、印刷構成を調べるときの候補です。ただし、特定の名前のバイナリ値が全OS/ドライバーに存在することや、同じ位置のバイトを変えれば動くことを保証する正式な設定手順ではありません。存在しない値を新設したり、他PCからバイナリをコピーしたりしないでください。

また、レジストリ上の構成、ユーザー既定、印刷ジョブの指定が必ず一対一になるとは限りません。XPS/PrintTicketを使う経路もあります。直接編集するより、ドライバーの画面または対象に合う印刷管理APIを利用します。SetPrinterでグローバルDEVMODEを変更する場合も、公式仕様はDocumentPropertiesで先に検証することを要求しています。

PowerShellで一つのプリンターを確認する

管理者はPrintManagementモジュールのGet-PrintConfigurationで構成を読み取れます。公式資料ではGetは管理者資格情報を必須とせず、Set-PrintConfigurationは管理者資格情報を必要とします。読み取り成功だけで変更権限もあるとは判断しません。

Get-Printer | Select-Object Name, DriverName, PortName, Shared

# 実際の名前に置き換える(この例は構成を読むだけ)
$queueName = "対象プリンター名"
Get-PrintConfiguration -PrinterName $queueName -ErrorAction Stop |
    Select-Object PrinterName, DuplexingMode, PaperSize, Color, Collate

対象がリモートサーバー上なら、Get/Set双方に同じ-ComputerNameと正しいPrinterNameを指定します。ネットワーク上の別名やクライアントの接続名を、サーバー上のキュー名と混同しません。必要な管理権限と通信条件は組織側で確認します。モジュールやコマンドが無い場合に備え、Get-Command Get-PrintConfiguration, Set-PrintConfigurationで実環境の有無も確認します。特定のWindows 10版以降だけ使えるという旧記載を、根拠なしに一律条件にしません。

管理者が承認済みの単一キューを変更する

変更前のDuplexingMode、対象機種・用紙条件と管理者の復旧方法を記録します。Set-PrintConfigurationが変えるのは指定したプリンターの構成です。サインイン中の全ユーザーのPrinting Preferencesを必ず更新する、というユーザー別配布コマンドとしては扱いません。

# 実名と変更範囲を確認してから、管理者が予定を確認する
$queueName = "対象プリンター名"
Set-PrintConfiguration -PrinterName $queueName -DuplexingMode TwoSidedLongEdge -WhatIf

WhatIfは変更せず予定を表示します。ドライバー機能の互換性や実印刷の成功まで保証するテストではありません。対象を承認してから、次の例で確認付きの変更と再取得を行います。記事中の例は実プリンターに実行していません。

# 管理者が承認した一つのキューだけを変更する
$queueName = "対象プリンター名"
Set-PrintConfiguration -PrinterName $queueName -DuplexingMode TwoSidedLongEdge -Confirm -ErrorAction Stop
Get-PrintConfiguration -PrinterName $queueName -ErrorAction Stop |
    Select-Object PrinterName, DuplexingMode

許可されるDuplexingModeはOneSided、TwoSidedLongEdge、TwoSidedShortEdgeです。戻すときは、変更前に記録した対象キューの値を確認して同じ管理経路で復旧します。全プリンターを一律にOneSidedへ戻す方法にはしません。再取得の値だけで全利用者/全アプリへの反映を完了とせず、対象ユーザーの画面と代表アプリで確認します。

共有プリンター・GPO・Intuneで配布するとき

共有キューの管理者既定はプリンターのプロパティの詳細設定にある「既定の印刷設定」(Printing Defaults)を使う方法があります。ユーザーの印刷設定(Printing Preferences)とは別の層です。既存利用者の個別設定やアプリの指定が残る場合もあるため、サーバーで変えたことだけで既存の全印刷が強制的に両面になるとは保証しません。

GPOによるプリンター接続の配布と両面の印刷既定は分けて設計します。プリンター管理ポリシーには接続・公開・権限等の設定がありますが、その配布だけで各ユーザーの両面指定を強制したことにはなりません。IntuneのユーザーコンテキストでSet-PrintConfigurationを配れば必ず全ユーザーの個別既定を書き換えられる、という旧説明も避けます。

  1. 対象キュー名と機種、既定を変更する層、実行資格情報を決める。
  2. 代表端末・代表ユーザーとWord/PDF/業務アプリで変更前を記録する。
  3. 一つのキューで既定変更後の新規接続と既存接続を比較する。
  4. 対象を確認し、変更前の値へ戻せるようにして段階的に展開する。
  5. 一括スクリプトは対象の明示一覧、各項目の失敗記録、再取得、実印刷確認を備える。

SharedがFalseという条件だけで、仮想プリンターやネットワーク出力先を除外した「ローカル機器だけ」にはなりません。元の全キュー変更や入れ子のForEach-Objectで外側のPC名が失われる例は使いません。機器固有データの丸ごとコピー、双方向通信やSNMPの一律有効化、プリンターの一括削除/再作成も、両面設定の標準手順にはしません。

両面が選べない・保存しても片面に戻る場合

症状先に確認するもの判断のポイント
両面項目がない/灰色機種の自動両面対応、選択用紙、ドライバーの装置構成未搭載を搭載と偽らずメーカーの条件と照合
別アプリなら両面になる問題アプリの印刷画面・文書/帳票テンプレートアプリのジョブ指定を調べる
特定ユーザーだけ片面対象ユーザーの印刷設定と他ユーザーの比較管理者既定と個別設定を区別
サーバー変更後も戻る実際のキュー/ドライバー名、GPO/管理ツールの重複設定を再配布する経路を管理者と確認
長辺/短辺で裏が逆になる文書の向き、指定したとじ方向、2ページテスト機種ごとの再挿入方法と出力結果を照合

これらは原因を絞る確認例です。特定環境で解決した実績や原因の割合を示した事例ではありません。IPP/Universal Printなど現代の印刷経路で、古いドライバーの内部レジストリ編集を前提にしないようにします。構成の表示が正常でも実印刷が違う場合は、対象機種・OS・ドライバー・用紙・アプリ・前後の値を添えて公式支援へ相談します。


参照した公式資料

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次