【備忘録】プリンタデバイスをコマンドで増やす方法

# ➊ はじめに
Win10でプリンタ操作をすることがありましたので、以下の項目について備忘録的にまとめておきます。

* 基本機能の整理
* プリンタデバイスをコマンドで増やす方法
* プリンタ設定画面を呼び出す方法

# ➋ 基本機能の整理
まずは、Win10で管理されているプリンタの主な機能の紹介をしておきます。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/e77560ca-a1a8-f5f6-6710-651c6fef422e.png)

例えば、Win10で認識しているプリンタ「`EPSON EP-805A SERIES`」は、ドライバ「`EPSON EP-805A Series`」とポート「`EP3C4CF8:EP-805A SERIES`」で構成されています。

# ➌ プリンタデバイスをコマンドで増やす方法
　PCから、同じプリンタを複数利用する場合や、ユニバーサルドライバ（ドライバ1つで、様々な種類のプリンタを扱えるドライバのこと）を入れて複数プリンタを制御する場合に、以下のコマンドを覚えておくと大変便利です。
　例えば以下のようにPC（Win10）に`プリンタ1`の設定をしている状態で、新たな`プリンタ2`を接続する際、PowerShellコマンドを使って簡単にプリンタ2の追加を行うことができます。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/01f307be-1988-8dcc-96ef-994612bababc.png)


## (1) やり方概要
1. Win10にプリンタ1のプリンタドライバをインストールする
1. PowerShellコマンド「`Get-PrinterDriver | Select-Object Name`」で、プリンタ1のドライバ名（文字列）を確認する
1. プリンタ2が使用するプリンタポートをPowerShellコマンドで増設する
1. 2.で取得したドライバ名と3.で増設したプリンタポート名を指定して、プリンタ2をPowerShellコマンドで増設する

## (2) プリンタ増設 PowerShellコマンド
プリンタを増設するPSコマンドを以下に示します。
### ⬢ プリンタポート増設 ： Add-PrinterPort
```PowerShell:PowerShell：Format
Add-PrinterPort -Name "増設プリンタポート名" -PrinterHostAddress "プリンタIPアドレス"
```

### ⬢ プリンタ増設 ： Add-Printer
```PowerShell:PowerShell：Format
Add-Printer -Name "増設プリンタ名" -DriverName "使用するプリンタドライバ名" -PortName "使用するプリンタポート名"
```

### ⬢ 実行サンプル
以下の設定で`プリンタポート`を増設します。
>増設プリンタポート名	：	Port-192.168.10.1
>プリンタIPアドレス	：	192.168.10.1

* 増設プリンタポート名は、お好きな名称（文字列）でOKです。
* プリンタIPアドレスは、あとでも設定可能です。あとでプリンタのIPアドレスが分かる場合など、いま分からない場合は適当な文字列（Unknown）等を入れておいてもOKです。
```PowerShell:PowerShell：Sample
Add-PrinterPort -Name "Port-192.168.10.1" -PrinterHostAddress "192.168.10.1" 
```

以下の設定で`プリンタ`を増設します。
>増設プリンタ名	：	EPSON EP-805A No.2
>使用するプリンタドライバ名	：	EPSON EP-805A Series
>使用するプリンタポート名	：	Port-192.168.10.1

* 増設するプリンタ名は、好きな名称（文字列）でOKです。
* 使用するプリンタドライバ名は、「`Get-PrinterDriver | Select-Object Name`」で事前に調べておきましょう。
* 使用するプリンタポート名は、増設したプリンタポート名を設定してください。（既存のポートも指定できます）
```PowerShell:PowerShell：Sample
Add-Printer -Name "EPSON EP-805A No.2" -DriverName "EPSON EP-805A Series" -PortName "Port-192.168.10.1"
```

では早速、「`スタート ➔ 設定 ➔ デバイス ➔ プリンターとスキャナー`」をクリックし、プリンタの設定ができたか確認しましょう。確認すると、「`EPSON EP-805A No.2`」のプリンタが増設できていました。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/af631cad-5ad0-982a-3a12-448a03d6cebb.png)

続けて「`管理 ➔ プリンタプロパティ ➔ ポートタブ ➔ ポートの構成`」をクリックして、正しくポートが設定されているか確認してみましょう。確認すると、「`Port-192.168.10.1`」のポート名でポートが増設され、IPアドレスも「`192.168.10.1`」とちゃんと設定されていることが確認できました。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/f91a6c87-8fab-1eea-7ec5-94337dbb85f9.png)

## (3) プリンタ情報確認 PowerShellコマンド
プリンタポート／プリンタの登録だけでなく、以下のコマンドを用いて、簡単にプリンタ情報を取得することができます。

### ⬢ プリンタ名 確認方法 ： Get-Printer
以下のPSコマンドで、PCに設定されている`プリンタ名`を確認します。"Select-Object Name"オプションを外すともっと詳細の情報が見えます。
```PowerShell:PowerShell：Format
Get-Printer | Select-Object Name
```
実行サンプルを以下に示します。
```PowerShell:PowerShell：Sample
PS C:\Users\hogehoge> Get-Printer | Select-Object Name

Name
----
EPSON EP-805A Series
OneNote (Desktop)
OneNote for Windows 10
Microsoft XPS Document Writer
Microsoft Print to PDF
Fax
```

### ⬢ プリンタドライバ名 確認方法 ： Get-PrinterDriver
以下のPSコマンドで、PCに設定されている`プリンタドライバ名`を確認します。"Select-Object Name"オプションを外すともっと詳細の情報が見えます。
```PowerShell:PowerShell：Format
Get-PrinterDriver | Select-Object Name
```
実行サンプルを以下に示します。
```PowerShell:PowerShell：Sample
PS C:\Users\hogehoge> Get-PrinterDriver | Select-Object Name

----
Epson ESC/P-R V4 Class Driver
Send to Microsoft OneNote 16 Driver
Microsoft XPS Document Writer v4
Microsoft Software Printer Driver
Microsoft Print To PDF
EPSON EP-805A Series
Microsoft Shared Fax Driver
Microsoft enhanced Point and Print compatibility driver
Microsoft enhanced Point and Print compatibility driver
```

### ⬢ プリンタポート名 確認方法 ： Get-PrinterPort
以下のPSコマンドで、PCに設定されている`プリンタポート名`を確認します。"Select-Object Name"オプションを外すともっと詳細の情報が見えます。
```PowerShell:PowerShell：Format
Get-PrinterPort | Select-Object Name
```
実行サンプルを以下に示します。
```PowerShell:PowerShell：Sample
PS C:\Users\hogehoge> Get-PrinterPort | Select-Object Name

Name
----
COM1:
COM2:
COM3:
COM4:
FILE:
LPT2:
LPT3:
nul:
Port-192.168.10.1
PORTPROMPT:
EP3C4CF8:EP-805A SERIES
Microsoft.Office.OneNote_16001.14326.21452.0_x64__8wekyb3d8bbwe_microsoft.onenoteim_S-1-5-21-2876243952-2410524123-2...
SHRFAX:
```

# ➍ プリンタ設定画面を呼び出す方法の紹介
Win10では、様々な方法でプリンタ設定画面への入り口があります。
以下に簡単にまとめておきます。

## (1) 印刷の管理
「WIN+R」キーを押下後、「`printmanagement.msc`」を入力してOKボタン。
![スクリーンショット 2023-06-26 111508.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/ec9497f5-f6e3-2703-0a1c-a338d08a95fa.png)
「`コントロールパネル ➔ 管理ツール ➔ 印刷の管理`」と同等です。
かなり細かい情報の参照と設定ができます。
![スクリーンショット 2023-06-26 103436.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/244fd826-434b-bf7e-cfaa-8895b845ed66.png)

## (2) コントロールパネル：プリンター
「WIN+R」キーを押下後、「`shell:PrintersFolder`」を入力してOKボタン。
![スクリーンショット 2023-06-26 111547.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/64310d03-fe7c-041d-8441-2e13f50051e9.png)
「`コントロールパネル ➔ デバイスとプリンター`」とほぼ同等です。
![スクリーンショット 2023-06-26 111232.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/40f61b6a-c334-e793-a4da-1bac62b2b6a3.png)

## (3) コントロールパネル：デバイスとプリンター
「WIN+R」キーを押下後、「`control printers`」を入力してOKボタン。
![スクリーンショット 2023-06-26 111614.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/5d6567f4-a8d5-064b-b87d-4d8e63ac11a1.png)
「`コントロールパネル ➔ デバイスとプリンター`」と同等です。
![スクリーンショット 2023-06-26 103550.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/8a29971a-9f15-8eb5-3d36-718a6fc30b0b.png)

## (4) 設定：プリンターとスキャナ
「WIN+R」キーを押下後、「`ms-settings:printers`」を入力してOKボタン。
![スクリーンショット 2023-06-26 111647.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/7c007e4d-66b6-49b2-4271-4b4f51efcaf7.png)
「`スタート ➔ 設定 ➔プリンターとスキャナー`」と同等です。
![スクリーンショット 2023-06-26 104635.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405376/1e12f063-e810-94a8-1ce1-8901d5765913.png)

# ➎ 以上
プリンタの削除についてですが、システマチックにbat等でやるのであれば、PowerShellコマンド「`Remove-Printer`」を使っても良いと思いますが、「`スタート ➔ 設定 ➔ ドライバ ➔ プリンターとスキャナー`」、または「`WIN+R：printmanagement.msc`」で、GUIを使って安全かつ簡単に削除できるので、こちらの方が良いかもしれません。
お疲れさまでした😊