BATCH スクリプトを使用して Windows で IP 経由でプリンターを追加する方法

BATCH スクリプトを使用して Windows で IP 経由でプリンターを追加する方法

TCP/IP ポートを使用してローカルにプリンターを追加する BATCH スクリプトを作成できるようにしたいと考えています。必要な引数は、プリンター名、ドライバーの場所 (.inf)、IP アドレス、およびコンピューター名であると想定しています。

誰か助けてくれる人はいますか?

答え1

これはprintuiを数回呼び出すことで実現できます。詳細についてはこのページをご覧ください電話をかけたいようです

rundll32 printui.dll,PrintUIEntry /ga

ただし、ネットワーク経由で INF ファイルを使用してプリンターを指定する方法がわかりません。

数年前、ネットワーク経由でプリンターをインストールするスクリプトを書きました。このスクリプトは、Samba で共有されるプリンターで使用することを想定しているため、ドライバーを指定する必要はありません。この方法で共有されていないプリンターを追加しようとしている場合、これが機能するかどうかはわかりません。ただし、これを開始点として使用して、実行方法を理解することができます。

@echo off
::
::This script adds a single printer to the default user profile.
::NOTE:  Printer names with spaces will NOT be accepted.  
::Usage: run addprinters and follow onscreen directions


cls
echo This script adds the specified local or network printer  
echo to the deafult account for all existing/new users.  
echo *IMPORTATNT* Printer names with spaces will NOT be accepted.
echo *******************************************************

SET /P target=Enter target computer name (this compupter)  
SET /P printer=Enter Printserver/Printername (do not include \\) 
echo Attempting to add %printer% for all users on %target%


rundll32 printui.dll,PrintUIEntry /ga /c\\%target% /n\\%printer%
echo New printers will NOT appear until spooler is restarted.
SET /P reset=Reset print spooler Y/N?     
if "%reset%"=="y" goto spooly
goto end

:spooly
start /wait sc \\%target% stop spooler
start /wait sc \\%target% start spooler
echo Print Spooler Service restarted.

:end

試してみたい場合は、このテキストを .cmd ファイルに保存して実行してください。

関連情報