Добавьте сетевой принтер с помощью команды /Powershell после его экспорта с одного компьютера на другой Windows 10/11

Добавьте сетевой принтер с помощью команды /Powershell после его экспорта с одного компьютера на другой Windows 10/11

ЦЕЛЬ :Чтобы экспортировать сетевой принтер с одного компьютера с Windows 10 в выходной файл и использовать этот выходной файл для импорта на другой компьютер с Windows 10 в той же сети.

Поисковая работа:

Следующий командный файл Powershell показываетКартографированные принтерыдля пользователя:

командлет 1)

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

ПРИМЕЧАНИЕ: Вышеуказанная команда не показываетИмя водителякоторый является критическим параметром для следующей команды

Команда, которую я планирую использовать для импорта сетевого принтера:

командлет 2)

Синтаксис:

rundll32 printui.dll,PrintUIEntry /Xs /n\СЕРВЕР\ИМЯ_ОБЩЕГО_ПРИНТЕРАИмя водителя"Lexmark C752 PS3"

Поскольку у меня не было имени драйвера, я все равно попытался запустить его, так как драйвер уже установлен на втором компьютере с Windows 10.

rundll32 printui.dll,PrintUIEntry /Xs /n"\tdr09\AlphaIT(prtq3) KONICA MINOLTA C550i"

Но после запуска cmd я получаю ошибку:

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

[Заголовок окна] Принтеры

[Основная инструкция] Аргументы недействительны.

[ХОРОШО]

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

Проблема:

1)Командлет 1 не предоставляетИмя водителяпоэтому командлет 2 завершается с ошибкой, указанной выше.

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

Метод 2. Основано на отзыве @Massimo

Я попробовал использовать следующую команду:

получить-принтер | где{$_.Имя -как "\"} | Формат-Таблица -Авторазмер введите описание изображения здесь

Вывод выглядит так:

Имя Имя компьютера Тип Имя драйвера Имя порта Общий Опубликовано


\trq02\AXEIT(ptq2) KONICA MINOLTA C550i ptq02 Подключение KONICA MINOLTA C650iSeries 10.246.0.173 True F...

Я могу передать его в текстовый файл, но как заставить PowerShell прочитать этот файл и добавить принтер?

ПРИМЕЧАНИЕ:Если я вручную запускаю следующую команду, то добавление принтера работает нормально.

добавить принтер "\trq02\AXEIT(ptq2) KONICA MINOLTA C550i"

решение1

Зачем вы вообще возитесь с WMI и rundll32?

Вам следует использовать собственные команды PowerShell Get-Printerи Add-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)
}

Связанный контент