2018年3月6日 星期二

Win10 如何使用 cmd指令 自動連接區網印表機

Win10 如何使用 cmd指令 自動連接區網印表機

找了好多資訊通通都錯了,大部分都是之前 xp 連接方式 win10 有一些指令不能用,最後終於被我翻到了。
話說 rundll32 printui.dll,PrintUIEntry 的說明怎麼這麼難懂 QuQ
下面是寫好的批次檔可直接用
@Echo Off
Title AddPath - By:Charlotte.HonG
:: Date :2017/11/29
:: Final :2018/03/06
::===========================================================
::確認是否為管理員權限
call :IsAdmin
::===========================================================
::設置資訊
set priIp="192.168.2.1"
set showName="Lab - dcp7040"
set infFullName="%~dp0BRPRMA7A.INF"
set infItem="Brother DCP-7040 Printer"

rem 印表機伺服器新增方法
:: 建立 ltp1 連接埠
set prnport="C:\Windows\System32\Printing_Admin_Scripts\zh-TW\prnport.vbs"
cscript %prnport% -a -r PortXX -h %priIp% -o raw -n 9100
:: 連接印表機並從inf安裝驅動
rundll32 printui.dll,PrintUIEntry /if /b%showName% /f%infFullName% /rPortXX /m%infItem%

rem 網路芳鄰分享的只能用這樣
:: 安裝裝驅動到 windows
rem pnputil -a %infFullName%
:: 呼叫新增網路印表機精靈
rem rundll32 printui.dll,PrintUIEntry /in /n\\%priIp%\dcp7040
::===========================================================
Exit

:IsAdmin
@Echo Off
Reg.exe query "HKU\S-1-5-19\Environment"
If Not %ERRORLEVEL% EQU 0 (
  Cls
  Echo [權限不足] 需使用管理員權限開啟
  Pause & Exit
)
goto:eof

參數說明

大致有以下幾個參數要改
set priIp=”192.168.2.1”
這個只是那台印表機的IP應該不是大問題,先確認手動連接可以連上就對了
set showName=”Lab - dcp7040”
這個是出現在電腦上的名稱,可自訂取一個好識別的
set infFullName=”%~dp0BRPRMA7A.INF”
這個要去驅動裡面挖,可以從”從磁碟片安裝”來測試哪一個,選對了就有東西可以安裝了
set infItem=”Brother DCP-7040 Printer”
上面從磁碟片安裝之後的選單看到的名稱就是了,也可以從 inf 裡面看到

指令說明

prnport

使用方法: prnport [-adlgt?] [-r port][-s server][-u user name][-w password]
[-o raw|lpr][-h host address][-q queue][-n number]
[-me | -md ][-i SNMP index][-y community][-2e | -2d]
引數:
-a - 新增連接埠
-d - 刪除指定的連接埠
-g - 取得 TCP 連接埠的組態設定
-h - 裝置的 IP 位址
-i - SNMP 索引,如果啟用了 SNMP
-l - 列出所有 TCP 連接埠
-m - SNMP 類型。[e] 啟用,[d] 停用
-n - 連接埠號碼,套用到 TCP RAW 連接埠
-o - 連接埠類型,raw 或 lpr
-q - 佇列名稱,只套用到 TCP LPR 連接埠
-r - 連接埠名稱
-s - 伺服器名稱
-t - 設定 TCP 連接埠的組態設定
-u - 使用者名稱
-w - 密碼
-y - 群體名稱,如果啟用了 SNMP
-2 - 雙重多工緩衝,套用到 TCP LPR 連接埠。[e] 表示啟用,[d] 表示停用
-? - 顯示命令使用方法
範例:
prnport -l -s server
prnport -d -s server -r IP_1.2.3.4
prnport -a -s server -r IP_1.2.3.4 -h 1.2.3.4 -o raw -n 9100
prnport -t -s server -r IP_1.2.3.4 -me -y public -i 1 -n 9100
prnport -g -s server -r IP_1.2.3.4
prnport -a -r IP_1.2.3.4 -h 1.2.3.4

rundll32 printui.dll,PrintUIEntry

使用方式: rundll32 printui.dll,PrintUIEntry [options] [@commandfile]
/a[file] 二進位檔案名稱
/b[name] 基本印表機名稱
/c[name] 如果動作發生在遠端電腦,則是電腦的 UNC 名稱
/dl 刪除本機印表機
/dn 刪除網路印表機連線
/dd 刪除印表機驅動程式
/e 顯示列印喜好設定
/f[file] 可以是 inf 檔案或輸出檔案
/F[file] INF 檔案的位置,以 /f 指定的 INF 檔案可能與其有相依關係
/ga 增加每台電腦的印表機連線 (使用者登入時,連線將傳播)
/ge 列舉每台電腦的印表機連線
/gd 刪除每台電腦的印表機連線 (使用者登入時,連線將刪除)
/h[arch] 下列其中一種驅動程式架構: x86、x64 或 Itanium
/ia 使用 inf 檔來安裝印表機驅動程式
/id 用新增印表機驅動程式精靈來新增印表機驅動程式
/if 使用 inf 檔來安裝印表機
/ii 啟動新增印表機精靈及 inf 檔來安裝印表機
/il 使用新增印表機精靈來安裝印表機
/im 使用新增印表機精靈安裝印表機,並跳過網路列出的印表機
/in 新增網路印表機連線
/ip 使用網路印表機安裝精靈安裝印表機
/j[provider] 列印提供者名稱
/k 列印測試頁到指定的印表機,安裝印表機時,不可和命令相結合
/l[path] 印表機驅動程式來源路徑
/m[model] 印表機驅動程式型號名稱
/n[name] 印表機名稱
/o 顯示印表機佇列檢視
/p 顯示印表機內容
/q 安靜模式,不顯示錯誤訊息
/r[port] 連接埠名稱
/s 顯示伺服器內容
/Ss 將印表機設定儲存到檔案
/Sr 從檔案還原印表機設定
儲存或還原必須放在命令結尾的印表機設定選項旗標:
2 PRINTER_INFO_2
7 PRINTER_INFO_7
c 色彩設定檔
d PrinterData
s 安全性描述元
g 全域 DevMode
m 最小設定
u 使用者 DevMode
r 解決名稱衝突
f 強制名稱
p 解析連接埠
i 驅動程式名稱衝突
/u 使用現有的印表機驅動程式 (若已安裝)
/t[#] 起始頁面 (以零為基礎的索引)
/v[version] 下列驅動程式版本之一,”類型 2 - 核心模式” 或 “類型 3 - 使用者模式”
/w 如果在 inf 檔內找不到指定的驅動程式,提示使用者提供驅動程式
/y 設定為預設的印表機
/Xg 取得印表機設定
/Xs 設定印表機設定
/z 不要自動共用此印表機
/Y 不要自動產生印表機名稱
/K 將 /h 代表的項目變更為接受 2、3、4 (分別為 x86、x64 或 Itanium),及 /v 代表的項目變更為接受 3 (“ 類型 3 - 使用者模式” )
/Z 共用此印表機,只能和 /if 選項配合使用
/? 說明此訊息
@[file] 命令列引數檔案
/Mw[message] 在認可命令之前先顯示警告訊息
/Mq[message] 在認可命令之前先顯示確認訊息
/W[flags] 指定精靈 (如 APW 和 APDW) 的旗標與切換參數
r 讓精靈可以從上一頁重新開始
/G[flags] 指定全域旗標與切換參數
w 抑制安裝驅動程式警告使用者介面出現 (極安靜模式)
/R 強制使用選取的驅動程式來取代現有的驅動程式

參考

沒有留言:

張貼留言