【Windows】プリンタのドライバをコマンド上でいろいろする

クライアントPCでプリンタのドライバだけをインストールしたい！
だけどGUI上はすごい面倒なので調べて何とかしました。

```cmd:Help
rundll32 printui.dll,PrintUIEntry /?
```

上記コマンドを実行すると以下のものが出てくる。

```cmd:プリンターユーザーインターフェース
使用法: rundll32 printui.dll,PrintUIEntry [オプション] [@コマンドファイル]
   /a[ファイル] バイナリ ファイル名
   /b[名前] 基本プリンター名
   /c[名前] UNC コンピューター名 (リモート コンピューターで実行される場合)
   /dl ローカル プリンターを削除します
   /dn ネットワーク プリンター接続を削除します
   /dd プリンター ドライバーを削除します
   /e 印刷設定を表示します
   /f[ファイル] inf ファイルまたは出力ファイル
   /F[ファイル] /f で指定された INF ファイルが依存する INF ファイルの場所です
   /ga コンピューターごとのプリンター接続を追加します (接続はログオン時にユーザーに伝達されます)
   /ge コンピューターごとのプリンター接続を列挙します
   /gd コンピューターごとのプリンター接続を削除します (接続はユーザー ログオン時に削除されます)
   /h[アーキテクチャ] ドライバー アーキテクチャが x86、x64 または Itanium のうちの 1 つです。 
   /ia inf ファイルを使ってプリンター ドライバーをインストールします
   /id プリンター ドライバーの追加ウィザード使ってプリンター ドライバーをインストールします
   /if inf ファイルを使ってプリンターをインストールします
   /ii inf ファイルとプリンターの追加ウィザード使ってプリンターをインストールします
   /il プリンターの追加ウィザード使ってプリンターをインストールします
   /im プリンターの追加ウィザードで、ネットワーク プリンターをスキップしてプリンターをインストールします
   /in ネットワーク プリンター接続を追加します
   /ip ネットワーク プリンターのインストール ウィザードを使用してプリンターをインストールします
   /j[プロバイダー] プロバイダー名を印刷します
   /k 指定されたプリンターでテスト ページを印刷します (プリンターのインストール時にはこのコマンドは使えません)
   /l[パス] プリンター ドライバー ソース パス
   /m[モデル] プリンター ドライバー モデル名
   /n[名前] プリンター名
   /o プリンター キューを表示します
   /p プリンターのプロパティを表示します
   /q QUIET モード、エラー メッセージを表示しません
   /r[ポート] ポート名
   /s サーバー プロパティを表示します
   /Ss プリンターの設定をファイルに保存します
   /Sr ファイルからプリンターの設定を復元します
   コマンドの最後に追加されるプリンター設定オプション フラグの保存または復元:
 2 PRINTER_INFO_2
 7 PRINTER_INFO_7
 c 色のプロファイル
 d プリンター データ
 s セキュリティ記述子
 g グローバル デバイス モード
 m 最小限の設定
 u ユーザー デバイス モード
 r 名前の競合を解決する
 f 名前を強制する
 p ポートを解決する
 i ドライバー名の競合
   /u ドライバーが既にインストールされている場合は、それを使います
   /t[#] 開始するインデックス ページ (0 から始まります)
   /v[バージョン] ドライバーのバージョンは "Type 2 - カーネル モード" と "Type 3 - ユーザー モード" のどちらかです
   /w 指定されたドライバーが inf ファイルにない場合にユーザーに確認します
   /y 通常使うプリンターに設定します
   /Xg プリンター設定を取得します
   /Xs プリンター設定を設定します
   /z このプリンターを自動共有にしません
   /Y プリンター名を自動生成しません
   /K /h オプションで 2、3、4 の値をそれぞれ x86、x64、Itanium として認識するように変更し、/v オプションで 3 の値を "Type 3 - ユーザー モード" として認識するように変更します
   /Z このプリンターを共有にします。/if オプションと組み合わせる必要があります
   /? このヘルプを表示します
   @[ファイル] コマンド ライン引数ファイル
   /Mw[メッセージ] コマンドを実行する前に警告メッセージを表示します
   /Mq[メッセージ] コマンドを実行する前に確認メッセージを表示します
   /W[フラグ] ウィザード用のフラグとスイッチを指定します (APW および APDW)
 r ウィザードの最終ページでウィザードを再実行できるようにします
   /G[フラグ] グローバルのフラグとスイッチを指定します
 w セットアップ時にドライバー警告 UI を表示しません (Super Quiet モード)
   /R 既存のドライバーを選択したドライバーに強制的に置き換えます

例:
   サーバー プロパティの実行: 
rundll32 printui.dll,PrintUIEntry /s /t1 /c\\machine
   プリンター プロパティの実行: 
rundll32 printui.dll,PrintUIEntry /p /n\\machine\printer
   ローカルでプリンターの追加ウィザードの実行: 
rundll32 printui.dll,PrintUIEntry /il 
   \\machine でプリンターの追加ウィザードを実行: 
rundll32 printui.dll,PrintUIEntry /im /c\\machine
   キュー表示の実行: 
rundll32 printui.dll,PrintUIEntry /o /n\\machine\printer
   inf インストールの実行: 
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /f c:\infpath\infFile.inf /r "lpt1:" /m "Brother DCP-128C"
   inf インストールの実行 (inf に依存)。例では、prnbr002.inf は ntprint.inf に依存します。
rundll32 printui.dll, PrintUIEntry /ia /m "Brother DCP-128C" /K /h x64 /v 3 /f "c:\infpath\prnbr002.inf" /F "c:\infpath\ntprint.inf"
   inf を使ったプリンターの追加ウィザードの実行: 
rundll32 printui.dll,PrintUIEntry /ii /f c:\infpath\infFile.inf
   付属のプリンター ドライバーを使ったプリンターの追加: 
rundll32 printui.dll,PrintUIEntry /if /b "Test Printer" /r "lpt1:" /m "Brother DCP-128C"
   コンピューターごとのプリンター接続の追加 (接続はログオン時にユーザーに伝達されます): 
rundll32 printui.dll,PrintUIEntry /ga /c\\machine /n\\machine\printer /j"LanMan Print Services"
   コンピューターごとのプリンター接続の削除 (接続はユーザー ログオン時に削除されます): 
rundll32 printui.dll,PrintUIEntry /gd /c\\machine /n\\machine\printer
   コンピューターごとのプリンター接続の列挙: 
rundll32 printui.dll,PrintUIEntry /ge /c\\machine
   inf を使ったプリンター ドライバーの追加: 
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode" /f c:\infpath\infFile.inf
   inf を使ったプリンター ドライバーの追加: 
rundll32 printui.dll,PrintUIEntry /ia /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3
   付属のプリンター ドライバーの追加: 
rundll32 printui.dll,PrintUIEntry /ia /c\\machine /m "Brother DCP-128C" /h "Intel" /v "Type 3 - Kernel Mode"
   プリンター ドライバーの削除: 
rundll32 printui.dll,PrintUIEntry /dd /c\\machine /m "Brother DCP-128C" /h "x86" /v "Type 3 - User Mode"
   プリンター ドライバーの削除: 
rundll32 printui.dll,PrintUIEntry /dd /K /c\\machine /m "Brother DCP-128C" /h "x86" /v 3
   通常使うプリンターとして設定: 
rundll32 printui.dll,PrintUIEntry /y /n "printer"
   プリンター コメントの設定: 
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" comment "My Cool Printer"
   プリンター設定の取得: 
rundll32 printui.dll,PrintUIEntry /Xg /n "printer"
   プリンター設定の結果をファイルに保存: 
rundll32 printui.dll,PrintUIEntry /f "results.txt" /Xg /n "printer"
   プリンター設定コマンドの設定の使用法:
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ?
   すべてのプリンター設定をファイルに保存: 
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat"
   すべてのプリンター設定をファイルから復元: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat"
   レベル 2 のプリンター情報をファイルに保存 : 
rundll32 printui.dll,PrintUIEntry /Ss /n "printer" /a "file.dat" 2
   プリンター セキュリティ記述子をファイルから復元: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" s
   プリンター グローバル デバイス モードとプリンター データをファイルから復元: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" g d
   最小設定をファイルから保存とポート名の解決: 
rundll32 printui.dll,PrintUIEntry /Sr /n "printer" /a "file.dat" m p
   プリンターのクライアント サイド レンダリングの有効化: 
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ClientSideRender enabled
   プリンターのクライアント サイド レンダリングの無効化: 
rundll32 printui.dll,PrintUIEntry /Xs /n "printer" ClientSideRender disabled
```

プリンタサーバプロパティを出したい人

```cmd:プリンタサーバプロパティ
rundll32 printui.dll,PrintUIEntry /s
```
インストールを勝手にさせたい人

```cmd:プリンタドライバのインストール
rundll32 printui.dll,PrintUIEntry /ia /f [infファイルのパス] /m [デバイスドライバ名]
```

```cmd:プリンタドライバのインストールとデバイスの追加
rundll32 printui.dll,PrintUIEntry /if /f [infファイルのパス] /r [ポート名 例、"lpt1"] /m [デバイスドライバ名]
```