PrinterDriverを追加するPowershell
はじめに
プリンターをコマンドラインで追加するバッチは長らく、rundll32 printui.dll,PrintUIEntry を実行したり、prnport.vbsといったvbsを使ったものが主流であった。
私はこれらの設定方法はもう古いと思っている。
Powershellという武器を使えばWMIObjectを使ってプリンタードライバーをインストールできる。
PrintUIEntryを使ったバッチファイルよりもわかりやすい。
基本的なソース
プリンタードライバーのインストールをPowershellで書いた。
まずはソースを眺めてください。
次に説明を書きます。
add-prindriver.ps1
# 共有ドライブ Z:ドライブを作っておく net use z: \\NAS\Driver password /user:root $PrinterDriverList=New-Object System.Management.ManagementClass("Win32_PrinterDriver") $PrinterDriver=$PrinterDriverList.CreateInstance() # プリンタードライバー名 $PrinterDriver.Name="Canon LBP8720/8710 LIPSLX" # Windows x64か Windows NT x86か $PrinterDriver.SupportedPlatform="Windows x64" $PrinterDriver.Version="3" # ドライバーのフォルダ $PrinterDriver.DriverPath=”Z:\Printer_Driver\LIPSLX\x64\Driver" # INFファイルのあるパス $PrinterDriver.InfName=”Z:\Printer_Driver\LIPSLX\x64\Driver\CNLB0JA64.INF" $PrinterDriverList.AddPrinterDriver($PrinterDriver) # Putするのに管理者権限が必要 $PrinterDriverList.Put()
New-Object System.Management.ManagementClass("Win32_PrinterDriver") でPrinterDriverを追加するWMIObjectを呼び出している。
infファイルに書かれているプリンタードライバー名をNameに書く
SupportPlatformは64bit版OSであれば、Windows x64と書く。
DriverPathにはプリンタードライバーのフォルダーを指定する。
InfNameにはinfファイルがある場所をフルパスで書き込む。
これを実行すればPCにプリンタードライバーを追加できます。
ポートの追加は?プリンターの追加は?
上記のようにプリンタードライバーを追加した上で 下記のWMIObjectを使って追加します。
追って説明します。