質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • PowerShell

    357questions

    Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

  • バッチファイル

    223questions

    バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

プリンタのプロパティを複写したい

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 1,510

fulio

score 7

既に設定されているプリンタを別PCに同じ設定でインストールを行いたいのですが、これはバッチファイルもしくはPowerShellで可能なのでしょうか?

現在インストールされているプリンタは付属のインストーラーを使用して手動インストールされているのですが、そのインストール後もプロパティを変更されています。
1~2台程度であれば同じく手動でプロパティ変更を行えばよいのですが、あいにくインストールしなければならないPCが多いため、作業ミスの防止も含めて自動化を考えています。

PowerShellのコマンドでGet-PrintConfigurationを使ってやればいいのかと思ってxmlで書き出してみたのですが、Windows標準で設けられている項目しか出力されてないように見えるのですが、こちらではドライバ独自の設定等は出力されないのでしょうか?逆にSet-PrintConfigurationなどを叩いてやればWindows標準で設けられている項目は適用されると考えていいのでしょうか?
なかなか解説されているウェブサイトも無いようなので、宜しければ教えていただけると嬉しいです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

こんにちは。
具体的な検証をしているわけではないので若干不確定な回答になりますがご容赦ください。

Set-PrintConfigurationでは基本

  • Collate
  • Color
  • Duplexing Mode
  • N-Up
  • Paper Size

を、その他の項目については、PrintTicketXMLプロパティを使う事でPrint Schemaに含まれる項目であれば設定の保存と更新ができる様です。  
ただし、Print SchemaのどこまでがWindows標準、どこからがドライバ独自なのかはわかりません。

とりあえずざっくりですが、以下の様なコードで設定の保存と復元ができました。
(が、あまり上手くいっている様には感じれませんでした...)

# 設定の保存
$conf = Get-PrintConfiguration -PrinterName "Microsoft XPS Document Writer"
$conf.PrintTicketXML | Out-File .\PrinterConfig.xml -Encoding ascii

# 設定の復元
$xml = Get-Content -LiteralPath .\PrinterConfig.xml -Raw
Set-PrintConfiguration -PrinterName "Microsoft XPS Document Writer" -PrintTicketXml $xml

PowerShell以外であればrundll32 printui.dll,PrintUIEntryを使うのが一般的な様です。  
細かい話についてはこちらこちらをご覧ください。  

ざっくりと以下の様な感じで設定の保存と復元ができる様です。
(パラメーター指定は他にもたくさんあります)

# 設定の保存
rundll32 printui.dll,PrintUIEntry /Ss /n "Microsoft XPS Document Writer" /a ".\printerSettings.dat"

# 設定の復元
rundll32 printui.dll,PrintUIEntry /Sr /n "Microsoft XPS Document Writer" /a ".\printerSettings.dat"

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/21 14:33

    ありがとうございました。
    最終的には後者のrundll32を使って解決しました。
    中身の検証はxmlの方がいいかなぁと思ったんですがそこまで時間が取れなかったので別の機会で試そうかと思います。

    キャンセル

+1

コマンドラインの場合はstknohgさんの方法が良いかと思います。

私は亜流で力技なやりかたを・・・・

・設定前後のレジストリを比較して設定する
以下のようなフリーソフトで設定前後の差分を見つけます。
http://www.e-bird-yoko.jp/regbaron/index.html
自己責任部分は多いかと思いますが、レジストリの反映箇所が解かれば、regeditコマンドなどで設定が入れられます。

・操作をマクロ化する
設定操作をマクロ化し、実行させることも出来ます。
ちょっとこの辺りは記憶が古く、最新のものを探しましたが上手く動くかは怪しいです。
https://tonari-it.com/uwsc/
https://nagasawa.blog/entry/record-steps-tool

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/10/21 14:36

    ありがとうございました。
    レジストリは最初に思いつきましたが、システムが稼働しているサーバ上での話だったので今回はパスしていました。
    操作のマクロ化は発想になかったです。結果として100台分くらいのプリンタ設定が必要でしたので……。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PowerShell

    357questions

    Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

  • バッチファイル

    223questions

    バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。