社内SEノウハウ

【PowerShell】プリンタ一覧をIPアドレス付きで出力するコマンド【BAT】

こんにちはー!

みなさんPCの交換はどういった手順でされていますか?

僕の会社では、HDDを引っこ抜いて新PCに接続しデータを移行という

とっっっってもめんどくさい方法でやっています(泣)

クラウドストレージ使うとかしようよ…と思いますが

お金の問題でなかなかすぐには実現できないのが悲しい

さて、そんなPC更新をしているとめんどくさいのがプリンターです

今までは、

コントロールパネル → デバイスとプリンターを開き、

インストールされたプリンタの名前とIPアドレスをメモして

新PCに同じ設定を実施という流れでやっていました

るらる

正直めんどくさすぎ…

ということで、プリンタの情報ぐらいコマンドで一覧出力して楽をしようと考えました

<実行環境>

Windows10 20H2

PowerShellバージョン 5.1.19041.610

今回はPowerShellのコマンドを使用しました

get-WmiObject -class Win32_printer | ft name,  Default, portName

実行結果は下図のとおり

  • Name:プリンターの名前
  • Default:通常使うプリンターの設定をしているかどうか
  • portName:ポート情報(IPアドレス) 

オレンジ枠の部分は伏せてありますが、プリンタに設定されたIPアドレスが

表示されます。

これでプリンターの一覧が一気に把握でき、IPアドレスもわかるので

わざわざコントロールパネルから確認しに行く手間が省けました

さらに自動化を目指す

PowerShellを起動してこのコマンドを打ち込むのもめんどくさいので

BATファイルに組み込んで、自動化することに

PowerShellファイル(.ps1)を作成してもよかったんですが、

僕がPowerShellに不慣れなので使い慣れているBATファイルに

組み込みました

powershell -command "get-WmiObject -class Win32_printer | ft name, systemName, Default, portName > ***.txt"

これでBATファイルを実行するだけでプリンターの情報をすべて取得する

ことができました

※コマンド最後の「***」は任意で指定します

メモ帳で残しておけば、確認もしやすいですね!

ほんとはプリンターのインストールくらいユーザーにお任せしたいのが

本音です(笑)