適材適所

PowerShellやVBAなどプログラミング系の話多めで

【PowerShell】標準で使うプリンタを設定する【bat】

コロナ禍で在宅勤務が広がり、ペーパーレスが騒がれて久しいですが、

まだまだ紙の需要はなくなりません。

また、在宅勤務以外にもフリーアドレスの事務所が広がりつつあります。

そうすると、問題になってくるのは通常使うプリンタをどこにするかです。

GUIでもできることですが、標準で使うプリンタを設定できるコマンドを用意しておくと、

席を移動したり、在宅勤務になったとき素早くプリンタを切り替えられるので

色々と作業がはかどること請け合いです。

というわけで、PowerShellで標準で使うプリンタの設定をする方法を紹介したいと思います。

PowerShellで標準で使うプリンタを追加する

WScriptを使います。

こちらを参考に、というよりそのままです。

 
(New-Object -ComObject WScript.Network).SetDefaultPrinter('プリンタ名')

プリンタ名はGet-Printerコマンドレットで調べることができます。

 
Get-Printer |Select-Object Name

これでプリンタ名の一覧が表示されます。

batファイルで簡単に追加できるようにしておくとよいかも

いちいちPowerShellを立ち上げてコマンドをたたくのは面倒なので、

バッチファイルをクリックしたら変更できるようにしておくといいかも知れません。

 
powershell.exe -ExecutionPolicy Unrestricted -command "& {(New-Object -ComObject WScript.Network).SetDefaultPrinter('プリンタ名')}"

これをメモ帳にコピペして〇〇.batというファイル名で保存しておけば

ワンクリック(正確にはダブルクリック)で

標準のプリンタにいつでも変更することができます。

ちゃんと変更できたか確認したい場合は、pauseコマンドを使えば入力待ちになり、

処理後にプロンプト画面で一時停止します。

 
powershell.exe -ExecutionPolicy Unrestricted -command "& {(New-Object -ComObject WScript.Network).SetDefaultPrinter('プリンタ名')}"
pause

終わりに

PowerShellで標準のプリンタを設定する方法の紹介でした。

GUIでもできる操作ですが、

少しでも楽をしたい人間なので

PowerShell&bat化してみました。

というわけで、ここまでお読みいただき、ありがとうございました。