將網路印表機從一台電腦匯出到另一台 Windows 10/11 後,使用指令 /Powershell 新增網路印表機

將網路印表機從一台電腦匯出到另一台 Windows 10/11 後,使用指令 /Powershell 新增網路印表機

目的 :若要將網路印表機從一台 Windows 10 電腦匯出到輸出文件,並使用該輸出檔案將其匯入同一網路上的另一台 Windows 10 電腦。

研究工作:

以下 Powershell cmd 顯示映射印表機對於使用者:

小命令 1)

Get-WMIObject Win32_Printer -ComputerName $env:COMPUTERNAME | where{$_.Name -like “*\\*”} | select sharename,name 

筆記: 上面的cmd沒有顯示驅動程式名稱這是下一個指令的關鍵參數

我計劃用來導入網路印表機的命令:

小命令 2)

句法:

rundll32 printui.dll,PrintUIEntry /Xs /n\SERVER\PRINTERSHARENAME驅動程式名稱“利盟 C752 PS3”

因為我沒有 drivername ,所以我嘗試運行它,因為驅動程式已經安裝在第二個 Windows 10 盒子上。

rundll32 printui.dll,PrintUIEntry /Xs /n"\tdr09\AlphaIT(prtq3) 柯尼卡美能達 C550i"

但運行cmd後出現錯誤:

==================================================== = ===========================

[視窗標題] 印表機

[主要說明] 參數無效。

[好的]

==================================================== = ===========================

問題:

1)cmdlet 1 不提供驅動程式名稱因此 cmdlet 2 失敗並出現上述錯誤。

==================================================== = =====================

方法 2 基於@Massimo 的回饋

我嘗試使用以下命令:

取得印表機 |其中{$_.名稱類似“\"} | 格式表-AutoSize 在此輸入影像描述

輸出如下圖所示:

名稱 電腦名稱 類型 驅動程式名稱 連接埠名稱 共用發布


\trq02\AXEIT(ptq2) KONICA MINOLTA C550i ptq02 連接 KONICA MINOLTA C650iSeries 10.246.0.173 真...

我可以將其輸出到一個文字文件,但如何讓 PowerShell 讀取該文件並新增印表機。

筆記:如果我手動執行以下 cmd,則印表機新增工作正常。

新增印表機“\trq02\AXEIT(ptq2) 柯尼卡美能達 C550i”

答案1

為什麼你還要為 WMI 和 rundll32 煩惱呢?

您應該使用本機 PowerShell 指令Get-PrinterAdd-Printer.


例子:

在第一台計算機上,使用:

Get-Printer | where {$_.Type -eq 'Connection'} | Export-Csv -Path 'C:\Printers.csv'

將檔案複製到第二台電腦並使用:

$printers = Import-Csv -Path 'C:\Printers.csv'

foreach($printer in $printers)
{
    Add-Printer -ConnectionName ($printer.Name)
}

相關內容